
在EtherCAT协议中常常会看到几种模式分别是PP、PV、PT、CSP、CSV、CST、Hm模式。这几种模式之间的差异是什么呢PP、PV、PT模式的运动规划是由电机去实现的控制器只需要下发指令即可所以在PP、PV、PT模式下一般对象字典都会涉及到斜率(加速度)相关的对象字典下发指令之后电机会按照设定好的加速度进行规划运动。CSP、CSV、CST的轨迹规划是由控制器去实现的电机周期性接收规划后的指令根据通讯周期与电机的控制周期将目标指令拆分插补进行控制。1.1 CSP模式使用1.2 对象字典说明在CSP模式下至少需要支持下面的对象字典PDO说明单位0x607A目标位置码值0x60B0位置偏移值码值0x60B1速度偏移值码值0x60B2力矩偏移值额定力矩的千分比0x6077力矩反馈值额定电流的千分比0x606C速度反馈值码值0x6064位置反馈值码值目标位置/位置反馈值/位置偏移值的单位都是码值(Count)这个码值是什么意思呢这个值和编码器的位数有关比如我使用的编码器的精度是19bit。那么0~524288就对应0°~360°。其中码值其实就是编码器的值。目标速度值和速度反馈值的单位为什么也是码值而不应该是RPM呢这是因为EtherCAT的标准要求的比如一款电机带的减速比之后输出的额定转在30rpm那么速度的码值0~524288对于0~60rpm。下面的框图是更详细的框图相比于之前的那些必需的PDO对象字典一般推荐在SDO对象字典中支持跟随误差窗口、跟随误差时间、最大速度限制、位置限位、几种停止模式等等。因为这些参数不经常修改所以在SDO中支持即可。CSP对控制字与状态字的使用。在该模式下对控制字是没有什么要求但是状态字的bit10、bit12、bit13来反馈电机的某些状态。其中bit12用于反馈电机有没有到达目标位置、bit13表示是否存在跟随误差错误之类的。2.1 CSV模式使用2.2 对象字典说明在CSV模式下至少需要支持下面6个对象字典。PDO说明单位0x60FF目标速度码值0x60B1速度偏移值码值0x60B2力矩偏移值额定力矩的千分比0x6071力矩反馈值额定力矩的千分比0x606C速度反馈值码值0x6064位置反馈值码值这个目标速度/速度偏移/速度反馈值和编码器值的位数和额定转速有关比如电机的额定转速是30rpm编码器的位数是19位。那么0~524288对于0~60rpm。力矩偏移值/力矩反馈值的单位都是额定的千分比但反馈值为1000对应100%的额定电流。位置反馈值的单位是码值也是和编码器的位数有关。比如编码器是19位的话0~524288对应0~360°。下面是CSV模式更详细的框图一般推荐在SDO下面支持最大电机速度、最大电机力矩限制、停止模式之类的。CSV对控制字与状态字的使用。在该模式下对控制字是没有什么要求但是状态字的bit10、bit12、bit13来反馈电机的某些状态。bit12用于反馈电机是否达到目标速度。3.1 CST模式使用:3.2 对象字典说明在CST模式下至少需要支持下面5个对象字典。PDO说明单位0x6071目标力矩额定力矩的千分比0x60B2力矩偏移值额定力矩的千分比0x6077力矩反馈值额定力矩的千分比0x606C速度反馈值码值0x6064位置反馈值码值其中和力矩相关的对象字典的单位都是额定力矩的千分比这个额定力矩其实就是额定电流在电流环中使用的当力矩反馈值是1000的时候代表达到了100%的额定电流了。比如一个电机的力矩常数是0.2Nm额定电流2.1A。当电流环的反馈值 Iq 2.1 * sqrt(2)的时候表示达到额定电流值那么对应对象字典0x6077的值1000。一般电流环控制的时候的Iq表示瞬时值瞬时值和有效值存在sqrt(2)倍的关系。下面是更详细的框图一般推荐在SDO中支持最多速度限制、最大力矩限制。CST模式下并不会对控制字有要求但是会将状态字的bit12来反馈电机是否达到目标力矩。