blj28

导航

为什么有些PDO是选定的有些PDO没有选定

问题由来:为什么有些PDO是选定的有些PDO没有选定?

image

 

EtherCAT 主站(如 TwinCAT、CODESYS 等)在扫描从站 XML 时,会解析 PDO 的 Sm 标签:

  • 带有 Sm="2":表示该 PDO 已被设备制造商预设为映射到Sync Manager 2(输出过程数据通道)。主站会将其视为“标准/默认输出 PDO”,因此会自动将其添加到主站的默认 PDO 分配列表(对应对象字典 0x1C12)中,在界面中表现为“已选定”。
  • 缺少 Sm 标签:表示该 PDO 没有预设的同步管理器通道,属于可选扩展功能。主站不会主动将其分配给任何 SM 通道,需要用户根据实际应用需求,在配置界面中手动勾选(此时主站会将它的索引写入 0x1C12),因此默认状态为“未选定”。

在 EtherCAT 中,每个从站最多有 32 个 sync manager(SM),每个 SM 都可以配置一种通信类型,用于定义数据流方向,以及该 SM 是用于邮箱通信还是过程数据。

  • 通信类型 0 是无效的,表示该 SM 未使用或被禁用。
  • 通信类型 1 用于邮箱接收(MbxIn = 主站→从站方向)
  • 通信类型 2 用于邮箱发送(MbxOut = 从站→主站方向)
  • 通信类型 3 用于过程数据输出(RxPDO:主站→从站方向)。
  • 通信类型 4 用于过程数据输入(TxPDO:从站→主站方向)

如何访问 sync manager 通信类型?#

sync manager 通信类型可在对象字典中的索引 0x1C00 处访问

  • 子索引 0 包含已使用的 sync manager 通道数量 4..32
  • 子索引 1 包含 SM0 的通信类型(见上文)
  • 子索引 2 包含 SM1 的通信类型
  • 以此类推(最大到子索引 33

注意: 大多数从站只支持 4..8 个 sync manager。你需要查阅从站芯片的数据手册。

各个 sync manager 分别用于什么?#

根据 ETG1000.6 规范,应使用以下 sync manager 通信类型:

  • sync manager 0:邮箱接收(MbxIn)——通信类型 1
  • sync manager 1:邮箱发送(MbxOut)——通信类型 2
  • sync manager 2:过程数据输出(RxPDO)——通信类型 3
    • 如果从站不支持输出,则可用于过程数据输入(通信类型 4
  • sync manager 3:过程数据输入(TxPDO)——通信类型 4

仅当从站不支持邮箱(这种情况很少见)时,才应使用以下备用映射:

  • sync manager 0:过程数据输出(RxPDO)——通信类型 3
    • 如果从站不支持输出,则可用于过程数据输入(通信类型 4
  • sync manager 1:过程数据输入(TxPDO)——通信类型 4

posted on 2026-08-26 15:13  bailinjun  阅读(10)  评论(0)    收藏  举报