简介
CanOpen协议是在标准的CAN总线上运行的应用层协议,其通信模式也是工业通信协议常用的“主从”模式通信,也就是网络中会有一个主站+多个从站,从站之间不会直接互相通信,所有通信都是主站与从站之间进行的
。主站也被称为“客户端”,从站也被称为“服务器”。
底层通信方式使用CAN标准帧格式,也就是CAN ID为11位(0x000~7FF),数据8字节。简单的看,协议主要是定义了:
1、CAN ID的使用约定。
2、CAN数据部分8个字节的使用约定
根据功能码功能分为PDO报文和SDO报文,PDO报文需要按约定映射数据对象,无需协议开销,SDO报文分段传输和块传输,需要协议开销。
PDO传输采用生产者/消费者模式协议,SDO传输采用客户端/服务器模式协议
。
PDO协议
PDO分两种用法,发送和接收,分别为Transmit-PDO(TPDO)和Receive-PDO(RPDO), TPDO为从站(组件)发送主站(控制器),RPDO为主站(控制器)发送给从站(组件)。
PDO报文传输采用定时器触发的方式,定时器时间可以通过SDO报文配置。
原则上分配PDO的FUN-ID表为:表1 PDO分配FUN-ID表 PDO FUN-ID PDO1(tx) 0x1810x1FF PDO1(rx) 0x2010x27F PDO2(tx) 0x2810x2FF PDO2(rx) 0x3010x37F PDO3(tx) 0x3810x3FF PDO3(rx) 0x4010x47F PDO4(tx) 0x4810x4FF PDO4