1 前提
使用STM2832B-485-MA-0FS等
2 常见问题
2.1 操作相关
问题1:怎么识别到电机设备
解决方法:
1、电机上电,在通讯处,点击【打开】
2、设备类型选择【串口】
3、选择串口选择【对应的COM】
4、选择对应的波特率
问题2:电机转一圈是多个脉冲
- 电机是10000个脉冲转一圈;假如丝杆导程1mm,电机转一圈对应丝杆的导程,给电机目标位置10000个脉冲对应1mm。
问题3:在轮廓位置模式下怎么设置轮廓速度
- 轮廓速度的数值/10000*60=rpm单位,比如轮廓速度166667u/s=1000rpm;步进运行速度建议在800转以下。300转对应的轮廓速度是50000u/s。
问题4:怎么配置PDO参数
问题5:初始化到底做了什么,是不是所有寄存器都写
解答:不用
问题6:启动电机和电机使能每次都要发
解答:是
2.2 术语解析
问题1:H200C-03和H0231 是什么
- H0231是十六进制的485通讯协议地址;H200C-03是CANopen通讯的地址。
问题2:电机绝对运动和相对运动
问题3:cia402模式和轮廓位置模式区别
- 轮廓模式启用前,需要先启用cia402模式
问题4:立刻更新和非立刻更新什么意思
立刻更新是立即执行新的指令,例如你发10000的位置让电机走,中途电机没走完,你又发50000的位置,那么电机就会不停速的直接往50000的位置走。
非立刻更新是先执行完当前的指令,再去执行新的执行,1条条来;例如你发10000的位置让电机走,中途电机没走完,你又发50000的位置,那么电机就会先走完10000停下,然后再走到50000的位置。
问题5:什么是CRC
CRC校验可以理解为就是一个p位二进制数据序列后附加一个r位二进制校验码,从而构成一个总长为n = p + r位的二进制序列。CRC校验就是使用多项式模2运算:按异或运算,即相同为0,不同为1,可以简单理解为不考虑进位和借位的二进制加减运算,校验数据的二进制数据流作为多项式的系数,而多项式系数作为除数,而运算后的余数作为校验码。
问题6:CRC常用的校验算法有哪些
CRC校验算法,根据校验结果的位数,可以分为CRC-4,CRC-7,CRC-8,CRC-16,CRC-32,CRC-64等算法;根据CRC计算的多项式、初值、输入是否反转、输出是否反转、输出异或值,又可以分为多种算法,如:CRC-16/CCITT,CRC-16/IBM。相同宽度的CRC算法,初值,多项式等信息不同,其校验的碰撞几率也不会不同(通俗的讲,就是校验结果的可靠性,CRC校验算法,存在一定的几率会出现校验数据不同,但校验结果相同的情况)。
2.3 协议相关
问题1:115200对应的是16进制是多少
问题2:通过程序控制电机初始化需要做什么
- 初始化是把通讯串口的参数配好;然后通讯成功后,走位置,只要按照我标红的发就完事。
问题3:相对位置和绝对位置是哪个指令区分
问题4:脱机命令是什么
解答:
01 10 03 80 00 01 02 00 06
问题5:寄存器中高位和低位
问题6:CRC检验码怎么获得
解答:
1、通过调试助手,可以选择【ModbusCRC16】;
2、通过程序自动生成;
3、可以自己根据规则算。
问题7:电机怎么复位
解答:H0380=先发0X80,再发0X00,电机故障清除复位
问题8:脱机和启动指令是否一样
解答:是
问题9:电机怎么进行复位
解答:电机启动的意思是,电机的485通讯状态启动,不是电机运行启动;不要需要去判断。
问题10:怎么手动和自动之间切换
解答:脱机就发06;脱机后,再次运行就按照06-07-15-31去发
。