基于IO模块的CANopen报文学习(1)
CANopen报文大致分为 NMT管理报文、SDO报文、PDO报文、应急报文。下面分别对这几类报文详细的工作过程讲解。
一、NMT报文
CANopen 设备有预操作、运行、停止三种状态,默认启动后自动进入预操作状态,此 时尚不能发送 PDO 报文,如果需要发送 PDO 报文,设备启动后需要手动发送报文将其切 换 到运行(run)状态。可发送如下报文将所有设备均进入运行状态。
0x000 : 01 00 设备反馈的报文如下,表示已进入运行状态。(此条反馈报文和下面所有的反馈报文,都是 在对混合IO模块设置了心跳周期之后才会显示在上位机软件的接收区,具体如何设置 心跳,在心跳报文中详细描述。)
0x742 : 05
若需要重新将其切换到预操作状态,可发送如下报文:
0x000 : 80 00
设备反馈的报文如下,表示已进入预操作状态。
0x742 : 7f
发送如下报文可使设备进入停止状态,此时只能发送心跳报文和应急报文,可正常接收报文。
0x00 : 02 00
设备反馈的报文如下,表示已进入停止状态。
0x742 : 04
需要重启设备,可发送如下报文,此时临时修改的参数会自动复原。
0x000 : 81 00
如果仅仅需要重启通信相关参数,而不希望将临时修改的其他参数复原,可发送重启通信报文,具体如下:
0x000 : 82 00
注意:节点 ID为000,表示发送方式为广播方式,以上的数字皆为16进制。
用户1822298 2015-1-18 23:07