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

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
浙公网安备 33010602011771号