本文简单介绍了CANopen耦合器设备GCAN-8000的通信协议,对于想要了解使用这款设备的工程师具有很好的指导意义。
工具/原料
CANopen耦合器设备GCAN-8000
笔记本电脑
数据连接线
各类IO模块设备
设备简介
1、CANopen耦合器设备GCAN-8000采用符合ISO 11898标准的CAN总线协议。它不仅支持所有类型的CANopen通讯,也可以轻松地应用于制造商特定的CAN总线环境中。除此之外,通过组态接口还可以对固件进行升级。下面,我们就来探究一下安装不同IO模块时它的通信详情:
1、执行NMT命令
1、CANopen耦合器设备GCAN-8000满足标准CANopen Cia301协议,是标准的CANopen从站设备。GCAN-8000启动后将主动发出一帧命令给主站,帧ID为0x700+Node ID,帧数据为0x7F。例如:通过拨码开关设置GCAN-8000的Node ID为1,则USBCAN-II Pro作为主站设备可接收到一条启动命令,帧ID为0x701,帧数据为0x7F。如图所示,使用ECANTools软件可以收到这条数据。
2、CANopen耦合器设备GCAN-8000接收由主站发出的操作指令,帧ID为0x000,DLC为2,帧数据第一个字节为命令符,第二个字节为节点号(00则为全部节点)。例如:GCAN-8000的Node ID为1,命令GCAN-8000为进入操作状态(01),则NMT命令帧ID为0x000,帧数据为0x01,0x01。该命令也可由ECANTools软件的CANopenMaster插件发出。
3、使用ECANTools软件命令GCAN-8000进入操作状态的步骤是:①将从站节点号填入ID后面的文本框中,②点击添加从站按钮,③打开节点左侧的+号,并点击“NMT”,④选择“Start Remote Node”(默认),点击下方的“NMT”按钮。如图所示,发送后可在ECANTools监控界面中查看到NMT命令。接收到NMT指令之后,GCAN-8000将开始广播PDO数据,并发出帧ID为0x701,帧数据为0x05的心跳指令,说明GCAN-8000已进入操作状态。
2、搭载GC-1008模块的信息状态
1、数亨蚂擤缚字量输入的状态由一个字节来表示,通道8在高位,通道1在低位。例如,GCAN-8000模块节点号设为1。通道8和墩伛荨矧通道4状态为1,其他状态均为0,则CAN总线一端显示的DI状态数据为88。则发出的帧ID为0x181,数据长度(DLC)为8,帧数据为0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00。请注意,仅插入一个GCAN-1008模块时,帧数据中只有第一个字节是有效的。图表中列举了两种常见的DI状态及其对应的状态数据。仅插入一个GCAN-1008模块时,GCAN-8000模块发出的TPDO数据帧ID为0x180+节点号(Node ID),数据长度为8,帧数据第一个字节即为该模块数字量输入状态。
3、搭载GC-2008模块的信息状态
1、数亨蚂擤缚字量输出的状态由一个字节来表示,通道8在高位,通道1在低位。例如,GCAN-8000模块节点号设为1。需设置通棕百脾酷道8和通道4状态为1,设置其他状态均为0,则需要发送的CAN总线DO状态数据为88。需要发送给GCAN-8000的帧ID为0x201,数据长度(DLC)为8,帧数据为0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00。请注意,帧数据中只有第一个字节是有效的。图表中列举了两种常见的DO状态及其对应的状态数据。GCAN-8000模块在接收RPDO数据时,需保证帧ID为0x200+节点号(Node ID),数据长度为8,帧数据第一个字节即为需要设置的数字量输出状态。
4、搭载GC-3804模块的信息状态
1、每个通道的温度状态由两个字节来表示,四个通道共八个字节。其中,代表温度状态的两个字节,第一个字节为低位,需将该字节的数赍铈于脏据转换为十进制后乘以0.1;第二个字节为高位,需将该字节的数据转换为十进制之后乘以25.6。最后将两个数值加和,即为最终的温度值,单位为摄氏度。例如,GCAN-8000模块节点号设为1。四个通道的温度分别为25.6度,25.5度,20度,30度。则发出的帧ID为0x181,数据长度(DLC)为8,帧数据为0x00,0x01,0xFF,0x00,0xC8,0x00,0x2C,0x01。图表中列举了两种可能的CAN数据及其对应的温度值。GCAN-8000模块在发出TPDO数据时,帧ID为0x180+节点号(Node ID),数据长度为8。如未接入PT100,则对应通道的CAN数据会显示为FF 7F。