在CAN项目开发中,往往使用到CANopen协议,普通的周立功CAN卡能否支持一直是工程师的疑问,其实只要经过简单的设置,周立功CAN卡就可以支持CANopen通讯协议。
因为CANopen协议是CAN2.0的一个应用层协议,CANopen的报文本质上是CAN2.0的标准帧,即普通can卡需要根据CANopen协议对报文进行编辑,从而实现CANopen通信
理论上,用户了解清楚CANopen是如何通讯的,用普通CAN卡编辑好协议的报文内容进行收发,是可以进行CANopen通讯的操作。
示例说明:
CANopen协议中的NMT网络管理命令 ,其 ID为 0 ,数据段01 00 ,其中ID为0代表NMT命令, 数据段第一个字节填01代表节点进入操作状态,第二个字节填00代表发送给全部节点, 如图所示,即实现发送NMT 网络管理命令,让节点进入操作状态

示例2说明:CANopen协议中的过程数据对象 PDO,PDO的数据是当ID为0x180~580 范围内,协议里规定了预定义报文的PDO 报文和 SDO 报文中的 ID 分类,其中默认情况下TPDO1的范围为181to1FF(180 +node-ID);RPDO1范围为201to27F(200 +node-ID)