This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2434:EtherCAT 从站阻塞 SAFEOP +"0x001A、同步错误"状态

Guru**** 2394305 points
Other Parts Discussed in Thread: AM2434

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425758/am2434-ethercat-slave-blocking-at-the-safeop-0x001a-synchronization-error-state

器件型号:AM2434

工具与软件:

您好、TI 专家、
  我正在尝试在定制 AM2434板上评估 EtherCAT 从站。 我已经构建了 Beckhoff 从站演示应用、但使用直流功能时、从站状态出现问题。 该设置涉及一个 IGH EtherCAT 主站、DC 周期时间设置为1ms。 在发起通信时、从器件进入 SAFEOP+ERROR 状态、并且 AL_STATUS 报告"0x001A、同步错误"、则从器件无法自动转换为 OP 状态。  仅当直流周期时间设置为5ms 或10ms 时、系统才能正常进入 OP 状态。
  Im 深入研究 SSC 源代码、我相信、一旦 PDI_ISR()和 Sync0_ISR()函数以交替模式开始执行、上述同步错误就会自行解析。 不过、在调试会话期间、我已经注意到、PDI_ISR 函数恰好在处于 SAFEOP 状态时 AL_STATUS 发出"0x001A、Synchronization Error"信号时停止执行。 为了进一步分析这种情况、我使用 Wireshark 捕获数据包、这证实 EtherCAT 数据包看起来正常、表明没有明显的传输问题。
  当使用 TwinCAT3作为 EtherCAT 主站时、会出现一个有趣的观察结果-虽然偶尔会标记相同的"0x001A、同步错误"、但已知系统可以自校正并在没有干预的情况下恢复正常运行。
  然后,我的主要查询围绕着了解为什么 PDI_ISR()函数在从机位于 SAFEOP +"0x001A、同步错误"时无法执行。 您能否谈谈这种行为?
  期待您的见解。 此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    Unknown 说:
    为了进一步分析这种情况、我使用 Wireshark 捕获数据包、这证实 EtherCAT 数据包看起来正常、表明没有明显的传输问题。
    • 您能将 Wireshark 捕获与我们分享吗?
    [quote userid="483122" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425758/am2434-ethercat-slave-blocking-at-the-safeop-0x001a-synchronization-error-state 当使用 TwinCAT3作为 EtherCAT 主站时会出现一个有趣的现象—虽然偶尔会标记相同的"0x001A、同步错误"、但已知系统可以自校正并无需干预地恢复正常操作。
    • 我们使用 TwinCAT 进行测试和调试、而且我们的环境中还没有遇到这种情况。

    我想知道您使用的是哪个 SDK 和相应的版本吗?

    此致、
    亚伦

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Aaron

     为您的答复坦克。

    您能否与我们分享 Wireshark 捕获?

    Im 对不起,我不知道如何通过 URL 共享捕获文件,但我可以向您展示一些东西

    以下是捕获数据在从机进入 SAFEOP +同步错误状态时显示的情况:数据以1ms 的间隔发送、并且在调试会话期间、我观察到 PDI_ISR()函数未被执行。

    [报价 userid="550875" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425758/am2434-ethercat-slave-blocking-at-the-safeop-0x001a-synchronization-error-state/5466744 #5466744"]我们使用 TwinCAT 进行测试和调试、但我们尚未在我们的环境中遇到此情形。

    使用 TwinCAT 时、很少发生同步错误。 我使用的是 IGH 主设备、经常会出现同步错误。

    [报价 userid="550875" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1425758/am2434-ethercat-slave-blocking-at-the-safeop-0x001a-synchronization-error-state/5466744 #5466744"]

    我想知道您使用的是哪个 SDK 和相应的版本吗?

    [报价]

    我的 SDK 版本是  mcu_plus_sdk_am243x_08_06_00_45

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    DC 需要 PLC 或主器件来保持实时要求、否则会导致同步错误(尤其是在主器件无法在没有明显抖动的情况下发送过程数据时)(请参阅: E2E:PROCESSOR-SDK-AM64X:EtherCAT 子器件:配置模式下的同步错误)

    关于 TwinCAT 错误场景、您能否确认您是否遵循了以下文档或启用了直 流模式:测试直流同步模式

    我的 SDK 版本是  mcu_plus_sdk_am243x_08_06_00_45

    此致、
    亚伦