PDO(过程数据对象)在CANopen协议中有两种主要的传输方式:同步传输和异步传输。这两种方式决定了PDO数据的传输时机和条件。下面分别举例说明这两种传输方式:
1. 同步传输 (Synchronous Transmission)
概念:
-
在同步传输模式下,PDO的数据传输与同步消息(SYNC)相关联。每当网络中的主设备发送SYNC消息时,从设备在收到SYNC消息后,会根据配置的PDO传输类型(通常为传输类型1到240)立即发送或更新PDO数据。
举例:
-
假设有一个主控制器(Master)和多个从设备(Slaves),从设备上配置了一个TPDO用于报告电机的速度数据。
-
主控制器每隔10ms发送一条SYNC消息。从设备接收到SYNC消息后,会立即读取当前电机的速度值,并通过TPDO发送给主控制器。
-
在这种模式下,数据传输是实时的,与SYNC周期严格同步,保证了系统内各设备的状态数据同步。
适用场景:
-
适用于需要严格时间同步的数据传输场景,例如实时控制系统、需要多个节点协同工作的场景。
2. 异步传输 (Asynchronous Transmission)
概念:
-
在异步传输模式下,PDO的数据传输与SYNC消息无关。数据的发送由特定事件触发,例如某个输入信号的变化、定时器溢出、内部状态改变等。这种传输方式通常对应于传输类型254(事件触发)或255(远程请求触发)。
举例:
-
假设有一个传感器节点,监测设备的温度。当温度超过设定的阈值时,传感器会立即通过TPDO发送一条报警消息。
-
此时,PDO传输是异步的,不依赖于SYNC消息的周期性触发,而是由温度超过阈值这一事件触发。
-
主控制器可以根据接收到的PDO数据决定是否需要采取紧急措施。
适用场景:
-
适用于基于事件的数据传输场景,例如报警、状态变化检测、非实时控制系统。
总结
-
同步传输:PDO数据传输严格与SYNC消息同步,适用于需要精确时间控制的场景。
-
异步传输:PDO数据传输由事件触发,适用于需要灵活、响应迅速的场景。