快捷搜索:  汽车  科技

canopen使用方法(说说canopen设备PDO命令的那些事)

canopen使用方法(说说canopen设备PDO命令的那些事)PDO命令发送界面如下图所示,此模块在发出TPDO1数据时,帧ID为0x180 NodeID,数据长度为2,帧数据第一个字节为数字量输入状态,第二个字节为数字量输出状态。例如,此模块节点号设为1。若需要设置DO_3状态为1,其余DO状态均为0,则RPDO1命令的帧ID为0x201,数据长度(DLC)为1,帧数据为0x08。如下图所示,在配套软件的CANopenMaster插件中,点击左侧的“PDO”,之后选取右侧的“RXPDO(主发送)”,在RXPDO1中修改数据为08,点击发送即可控制DO_3的状态为1。如下图,回到收发界面(Receive/Transmit)可以看到USBCAN发出的RPDO1命令(帧ID为0x201)。此模块的TPDO传输类型可配置,默认为触发模式,在此模式下只有当DI或DO发生变化时,此模块才会发出TPDO数据。

上一篇为大家介绍了有关于CANopen IO模块的通讯报文格式,其中主要说明了启动命令和NMT命令,本篇文章接着为大家介绍下CANopen IO模块通讯报文格式应用实例PDO命令。

CANopen IO模块采用PDO(ProcessDataObject,过程数据对象)对数字量信号进行采集或输出。其中,TPDO1用于表示数字量输入及数字量输出的状态,RPDO1用于改变数字量输出的状态。

canopen使用方法(说说canopen设备PDO命令的那些事)(1)

数字量输入和数字量输出的状态均各由一个字节来表示,DI_7和DO_7在高位,DI_0和DO_0在低位。

如需要设置此模块数字量输出的状态,需接收RPDO1命令(由主站发出的),帧ID为0x200 NodeID,数据长度为1,帧数据第一个字节为需要设置的数字量输出状态。

例如,此模块节点号设为1。若需要设置DO_3状态为1,其余DO状态均为0,则RPDO1命令的帧ID为0x201,数据长度(DLC)为1,帧数据为0x08。

canopen使用方法(说说canopen设备PDO命令的那些事)(2)

如下图所示,在配套软件的CANopenMaster插件中,点击左侧的“PDO”,之后选取右侧的“RXPDO(主发送)”,在RXPDO1中修改数据为08,点击发送即可控制DO_3的状态为1。如下图,回到收发界面(Receive/Transmit)可以看到USBCAN发出的RPDO1命令(帧ID为0x201)。

此模块的TPDO传输类型可配置,默认为触发模式,在此模式下只有当DI或DO发生变化时,此模块才会发出TPDO数据。

如下图所示,此模块在发出TPDO1数据时,帧ID为0x180 NodeID,数据长度为2,帧数据第一个字节为数字量输入状态,第二个字节为数字量输出状态。

canopen使用方法(说说canopen设备PDO命令的那些事)(3)

PDO命令发送界面

canopen使用方法(说说canopen设备PDO命令的那些事)(4)

PDO命令监控界面

例如,此模块节点号设为1。DI状态均为0;与此同时,DO_3状态为1,其余DO状态均为0。则CAN总线一端显示的DI状态数据为00,DO状态数据为08。则TPDO1命令的帧ID为0x181,数据长度(DLC)为2,帧数据为0x00,0x08。如上图所示,第四条数据即为此模块发出的TPDO数据。

canopen使用方法(说说canopen设备PDO命令的那些事)(5)

下篇为大家带来的此模块SDO的相关内容,我们下期不见不散!欢迎大家找我讨论更多CAN总线相关问题。

猜您喜欢: