Vis*_*ath 5 network-protocols can-bus bus canopen
在阅读了几个CiA规范后,我仍然难以理解CANopen中的PDO映射,过程映像和过程数据交换.
我知道SDO用于预操作状态下的配置设置,并且具有协议开销(因为它可以传输超过8个字节的数据).
在运行状态下,PDO非常适合过程数据的输入和输出.PDO只能传输最多8个字节的数据.
存在11位的COB-ID,其具有功能代码和节点编号.由于节点号使用7位,因此我们最多可以有127个节点(对于CANopen 2.0A网络).
但是有四个TPDO和四个RPDO令我感到困惑.为什么需要多个TPDO和RPDO?在我读取设备配置文件的某个地方可以使用6000h到6FFFh的条目来描述设备参数和设备功能,并且在此范围内可以描述多达8个不同的设备.但是网络中可能有127个节点,那么这8个设备是什么?
PDO是用于更有效和异步消息的消息类型.PDO可以在定时器上发送,以响应SYNC消息或响应事件(如数字输入改变).CAN总线消息有效负载的所有8个字节都可用于您的数据.这与只有4个字节可用的SDO形成对比(存在像块传输这样的多消息SDO).
PDO一次只能传输8个字节,因为这是CAN总线消息的最大传输大小.将此与SDO进行对比,其中必须发送命令字节和3字节地址,最多留下4个字节的信息.
默认情况下,设备有4个RPDO和4个TPDO.4只是默认的PDO数量.可以安排更多,但您有责任为他们创建"渠道".这是选择仲裁ID并确保总线上没有其他设备使用该ID进行通话.您需要多个PDO,因为:
0x180+$NODEID赢得公共汽车仲裁0x280+$NODEID等TPDO是从设备发送的消息,而RPDO是接收和写入设备对象字典的消息.
对象字典定义了CANopen设备的接口.使用16位索引和8位子索引来寻址字典.字典分为范围.0x6000到0x6FFF是分配给设备配置文件变量的索引范围.设备配置文件为更专业的设备类提供标准化接口.
PDO映射是如何就PDO中包含的信息达成一致的.PDO映射是设备对象字典中的条目,与任何其他条目一样.3字节索引,子索引和以位为单位的参数大小在UNSIGNED32中编码.