过程数据对象PDO(过程数据对象)PDO属于用于传输实时数据(即单向传输)的过程数据,无需接收节点响应CAN消息即可确认。在交流方面,它属于“生产和消费”领域。如图1所示,生产者就像食品销售柜台一样,生产出“食品”,但是只有“需要”消费者的人才能生产出“食品”。会买的,没有方向性。图1生产者-消费者模型数据长度限制为1〜8个字节。将一条信息或变量传输到末尾最多只需要1帧。 PDO的CAN-ID可以更灵活地定义PDO通信。广义上讲,PDO范围内的所有CANID都可以用作节点本身的TPDO或RPDO,也称为COB-ID,不受功能代码和Node-ID的限制,如图2所示。图2 PDO的CANID规则在PDO预定义中,人为指定TPDO和RPDO,指定Node-ID在PDO中的位置,并指定PDO的数量,如表1所示。表1 PDO CAN-ID定义PDO分为TPDO(发送PDO)和(接收RPDO),发送和接收均基于CANopen节点本身(如果是CAN主站或其他从站则相反)。 TPDO和RPDO分别具有4个数据对象。每个数据对象都是一个CAN消息包。这些是用于数据发送和接收的容器。如图3所示,水果篮已经为用户准备好了。里面有什么样的水果。图3 PDO和SDO就像水果篮。当然,如果一个节点需要传输大量资源,就会有诸如TPDO5之类的数据对象,并且它们的CAN-ID定义需要打破诸如我们这样的预定义规则。 1的节点ID为182h,此处PDO的COB-ID的低7位不再表示节点ID。实际上,所有PDO的COB-ID和Node-ID不必定期地相互关联。 PDO的传输方式有PDO两种传输方式:同步传输和异步传输。如图4所示,1和2是异步传输,而3和4是同步传输。图4 PDO的传输形式异步传输(由特定事件触发)有两种触发方法。第一个由设备子协议中指定的对象特定事件触发(例如,定时传输,数据更改传输等)。第二种是通过发送与PDO的COB-ID相同的远程帧来触发PDO的传输。在当前应用中,第一类型基本上被用于异步传输。同步传输(通过接收同步对象进行同步)同步传输是允许所有节点通过同步消息同时上传数据或执行已发布的应用程序指令,从而可以有效避免应用程序逻辑混乱和异步传输问题导致的总线负载不平衡。通常,发送同步消息的节点是NMT主机。同步传输可以分为周期性传输(循环)和非周期性传输(无循环)。通过接收同步对象(SYNC)来实现定期传输,并且可以将1到240个同步对象设置为触发。非周期性传输由远程帧或由设备子协议中指定的特定于对象的事件预触发。 PDO通信参数PDO通信参数定义设备使用的COB-ID,传输类型,定时周期等。 RPDO通信参数位于对象字典索引的1400h到15FFh,而TPDO通信参数位于对象字典索引的1800h到19FFh。每个索引代表一个PDO通信参数集,子索引分别指向特定的各种参数。如表2所示。表2 PDO通讯参数?条目数参数条目号:即该索引中有多个参数; ? COB-ID:该PDO发送或接收的对应的CAN帧ID; ?发送类型:即此PDO的发送或接收。传输形式通常使用循环同步和异步制造商特定的事件。 ?禁止TIme产生禁止时间(1 / 10ms):限制PDO传输的最小间隔,以避免总线负载急剧增加,例如数字输入太快,导致状态改变发送的TPDO和总线的频繁传输负载增加,因此“滤波”需要约束时间,该时间单位是0.1ms; ?事件TImer事件计时器的触发时间(单位毫秒):PDO定期发送,其计时时间,如果该时间为0,则t