• 当EtherCAT基于总线时,CANopen是点对点通信。点对点意味着将有节点地址。但这在EtherCAT中是多余的。因此,我想知道如何通过EtherCAT在CANopen中处理该节点地址字节。我尝试搜索信息,但找不到关于此的任何特定信息。
  • 另外,我假设CANopen设备的循环和非循环数据都仅通过EtherCAT进行周期性发送,因为它是Master触发的循环传输协议。这基本上意味着我无法在事件触发时在EtherCAT上发送异步的,由事件触发的信息(这与基于CAN优先级的直觉相反,因为它们都具有相同的优先级)。如果我对此有误,请纠正我。另外,请告诉我如何使高优先级的字节比低优先级的字节更快到达(假设这两个字节是同时发生的,并假设在新帧的开始时有带宽要发送这两个字节)。
  • 最佳答案

    CANopen提供了过程数据对象(PDO)和服务数据对象(SDO)。 PDO通过EtherCAT周期性发送,而SDO则非周期性发送。因此,如果使用SDO,则在事件触发时发送异步的,事件触发的信息。
    另外,CANopen通常用于伺服控制中,大多数伺服控制器都支持PDO和SDO。

    08-26 23:21