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 状态是否有任何限制?

Guru**** 2845700 points

Other Parts Discussed in Thread: SK-AM64B, SYSCONFIG, AM68, TMDS64EVM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583373/am2434-are-there-any-restrictions-on-changing-ethercat-status

器件型号: AM2434
Thread 中讨论的其他器件: AM68DRA821、SK-AM64B 、SysConfig、 TMDS64EVM

您好的团队、

我为 ind_comms_sdk_am243x_11_00_00_08 的 AM243x 使用 ethercat_slave_demo 开发 EtherCAT 子器件。

我当时对 EtherCAT 执行了操作检查测试。
略高一点 在 INIT 和 PREOP 之间连续转换的测试、午餐垫在大约一分钟后挂机。

这是预期行为吗? 状态转换的数量是否存在任何限制?

条件如下:

将任务周期设置为 1ms。
将 LP 连接到主设备 (CODESYS)。
成为 OP 后、返回 INIT。

转换到 INIT 完成后、更改为 PREOP。
到 PREOP 的转换完成后、返回 INIT。
重复此状态转换。

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

    您好、

    您能否共享失败场景的 Wireshark 日志? 暂停 R5F 内核时、应用是否会卡在任何特定位置?

    我想了解问题出在 EtherCAT 固件(数据包未正确处理)上、还是主机 (R5F) 无法更新状态转换。

    此致、
    Aaron

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

    您好 Aaron、

    应用程序不在同一位置、而是在特定段中循环。

    我将通过邮件向您发送 Wireshark 日志。

    最好的注意、

    Oyama

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

    您好、Oyama、

    我对您的测试用例还有一些疑问。

    请告诉我您如何确保完成向新状态的过渡? 您是否正在读回当前 ESM 状态、然后请求一个新状态? 或者、无论先前的状态转换请求是否完成、任务是否每 1ms 请求一次新状态?

    您是否 使用 ICSDK 的 EtherCAT Simple Demo 应用程序或基于 Simple Demo 的定制应用程序进行了测试?

    您是否在 EtherCAT 子器件上观察到了这些调试打印?

    State change: 0x2 -> 0x1
    State change: 0x1 -> 0x2
    State change: 0x2 -> 0x1
    State change: 0x1 -> 0x2
    State change: 0x2 -> 0x1
    State change: 0x1 -> 0x2

    您是否还能分享有关您的测试设置和 CodeSys 配置的更多信息、以便我尝试在我这边重现相同的问题?  

    此致、

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

    您好、Oyama、

    与测试环境/SDK 相关的附加查询:

    • 您使用的是哪个版本的工业通信 SDK? 如果您未使用 Industrial Communications SDK 11.00、我建议您  在项目中使用 Industrial Communications SDK 11.00 中提供的最新固件。 有关如何迁移到最新 EtherCAT 固件的详细信息、请参阅: EtherCAT 固件迁移指南

    在本次迁移之前、请提供 Wireshark 日志。

    我将通过邮件向您发送 Wireshark 日志。

    我们还没有收到。 如果您在此处需要任何指导、请告知我们。

    此致、
    Aaron

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

    您好、

    请告诉我您是如何确保过渡到新状态的? 您是否正在读回当前 ESM 状态、然后请求一个新状态? 或者、无论先前的状态转换请求是否完成、任务每 1ms 请求一次新状态?

    状态转换完成后发出状态更改请求。

    您是否 使用 ICSDK 的 EtherCAT Simple Demo 应用程序或基于 Simple Demo 的自定义应用程序进行了测试?

    我使用默认的 EtherCAT 简单演示应用程序对其进行了测试。

    您是否在 EtherCAT 子设备上观察到了这些调试打印?

    是的。 挂起后、此调试打印也停止。   

    您能否还分享有关您的测试设置和 CodeSys 配置的更多信息、以便我尝试在我这边重现同样的问题?  [/报价]

    状态转换由 EtherCAT 任务执行。
    不执行其他操作。

    您正在使用哪个版本的工业通信 SDK?

    我使用的版本:11.00.00.08。

    我们尚未收到。 如果您在此处需要任何指导、请告知我们。

    我只是发送了它。 如果您尚未收到、请告诉我如何发送。

    最好的注意、

    Oyama

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

    我也尝试使用了 SDK 版本 11.00.00.13、但结果是相同的。

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

    您好、

    现在情况如何?
    您是否能够重现它?

    最好的注意、

    Oyama

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

    您好、

    我能否在此处提供有关您所测试拓扑的更多详细信息? 您是否在冗余设置中尝试过此操作? PLC 是否连接到 EtherCAT OUT 端口?

    此致、
    Aaron

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

    您好 Aaron、

    我发送的 Wireshark 日志是使用以下配置获得的。

    它不是一个冗余设置。  LP 的 OUT 端口未连接任何设备。

    最好的注意、

    Oyama

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

    您好、

    感谢您提供详细信息。 我们将尝试从我们这边重现这个问题。

    此致、
    Aaron

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

    您好 Aaron、

    是否有任何进展?

    这是可能的原因是在主,所以我想知道的情况。

    最好的注意、

    Oyama

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

    您好、

    从日志中可以观察到的一个主要情况是、大多数具有对 0x120 Reg 进行初始化写入数据报的帧都不会返回:

    我不确定这是否指向丢失的帧。 对于具有 PREOP 将数据报写入 0x120 寄存器的帧、我看不到这种行为。

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

    要添加、

    为了进行对齐、您是否将 EtherCAT IN 连接到端口 0、将 EtherCAT 输出连接到端口 1(在本例中保持打开状态)?

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

    您好 Aaron、

    是的、 我尝试了两个端口并获得了相同的结果。

    最好的注意、

    Oyama

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

    您好、

    我们想要验证是否正确分配了 OUT 和 IN 端口的原因是在您共享的 Wireshark 日志中设置了“循环位“:

    我们正在尝试了解设置“循环位“时的后果。 我没有观察到在 TwinCAT 或 SOEM 环境中的正常菊花链设置中设置了此位。

    我已安装 CODESYS、但尚未准备好完成设置。 如果观察到此行为、我将尝试重现此问题或在内部与通过 CODESYS 进行测试的用户进行检查。 请期待星期五提供更新。

    此致、
    Aaron  

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

    大家好、Aaron、

    我已经再次发送 Wireshark 日志、请进行检查。

    因此,它不能通过 TwinCAT 重现 ?

    最好的注意、

    Oyama

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

    感谢您的日志。 我们确实看到一些帧未被 EtherCAT 子器件确认。

    • 对于使用 APWR 将 INIT 更改为 0x120 的情况、对于从 MDevice 发送的总共 16756 个 APWR 数据包 (FILTER:Ecat.cnt == 1 && ecat.reg.alctrl == 0x0001)、我只看到 241 个返回帧 (FILTER:Ecat.cnt == 0 && ecat.reg.alctrl == 0x0001)。
      • 帧#461212 是确认 PREOP 写入 AM243x 的 0x120(物理地址= 0x3ea)的最后一个帧、即 WKC 递增。
        • 帧#461219 再次将 PREOP 写入 DUT 的 0x120、但返回帧 (461220) 似乎不确认 FPWR 帧。 应用程序从这里进入错误状态。 FPWR 故障可能是由于寄存器 0x10 中的值不正确造成的。 我在主设备上看不到 Reg.0x10 损坏。
        • 查看帧#461222、DUT 处于 INIT 状态、在接下来的帧中永远不会改变。 再往下看、我会看到 MDevice 将 DUT 设置为 PREOP、但相应的 WKC 为 0(我相信不会进行写入)。
    • 几个跟进:
      • 您能否确保 Reg.0x10 没有损坏/覆盖、以便 FPWR 数据报将成功写入 ESC 寄存器以进行状态转换。
      • 您能否提供 ICSS 存储器转储。 您可以根据您正在使用的 ICSS 实例捕获记录以下寄存器空间:
        1. 0x30000000 - 0x30040000(用于 ICSSG0)
        2. 0x30080000 - 0x300C0000(用于 ICSSG1)
    因此无法使用 TwinCAT 进行复制 

    我已使用 TwinCAT 尝试了以下内容、但未观察到任何问题:

    将 LP 连接到主器件 (TwinCAT)。
    成为 OP 后、返回 INIT。

    转换到 INIT 完成后、更改为 PREOP。
    到 PREOP 的转换完成后、返回 INIT。
    重复此状态转换。

    此致、
    Aaron

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

    您好 Aaron、

    您能否提供 ICSS 内存转储。 您可以根据您正在使用的 ICSS 实例捕获记录以下寄存器空间:

    我附加两个文件。  文件格式是否正常?

    _WORKING:挂机前

    _Stopped:挂机后

    您能否确保 Reg.0x10 未被损坏/改写、以便 FPWR 数据报将成功地写入 ESC 寄存器以进行状态转换。

    您知道一种有效的检查方法吗?

    最好的注意、

    Oyama

    e2e.ti.com/.../ICSSG1_5F00_0x30080000_5F00_0x300C0000_5F00_working.date2e.ti.com/.../ICSSG1_5F00_0x30080000_5F00_0x300C0000_5F00_stopped.dat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Oyama、
    我要附加两个文件。  文件格式是否正常?

    是的、格式很好。 谢谢你。 我会对此进行回顾。

    您知道有效的检查方法吗?

    您可以监控 DUT 的 (0x30090000 + 0x10) 寄存器。   从主机 (R5F) 的角度来看、0x30090000 是 ESC 存储器空间的基地址。 现在、我能够从您共享的内存转储中看到正确分配的值 (0x3EA):

    此致、
    Aaron

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

    您好 Aaron、

    您能否确保 Reg.0x10 未被损坏/改写、以便 FPWR 数据报将成功地写入 ESC 寄存器以进行状态转换。

    我使用下面的代码检查了 Reg.0x10 的值、并确认它在建立 EtherCAT 连接后始终显示相同的值。

    static void EC_SLV_APP_SS_applicationRun(void *pAppCtxt_p)
    {
        uint32_t readdata=0;
    
        readdata=CSL_REG32_RD_RAW((uint32_t *)(0x30090000+0x10));
    
        if((readdata&0x3EA)==0x3EA){
            OSAL_printf("x");
        }
        else{
            OSAL_printf("o");
        }
    }

    最好的注意、

    Oyama

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

    您好、Oyama、

    感谢您的确认。

    我已安装 CODESYS、但尚未准备好完成设置。 如果观察到此行为、我将尝试重现此问题或在内部与通过 CODESYS 进行测试的用户进行检查。 请期待星期五提供更新。

    我仍在尝试让 CodeSys 在我的系统上正常工作。 网关登录出现问题。

    此致、
    Aaron  

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

    您好 Aaron、

    此后是否有任何进展?
    在不更改测试配置的情况下、我们会持续更改第一个从器件(而不是 AM243)的状态、并长时间工作而没有任何问题。
    但是、当我们只更换主设备时、问题在几分钟内再次发生。

    最好的注意、

    Oyama

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

    您好、Oyama、

    我们刚刚完成了在内部使用 CODESYS 的设置。 现在、我们需要测试状态转换并了解行为。 我应该能够在下周中提供更多详细信息。

    但是、当我们仅更改主设备时、问题在几分钟内再次发生。

    很抱歉、我不清楚。 因此、对于其他 EtherCAT 主设备、不会观察到问题、仅在使用 CODESYS 时才会观察到问题?

    此致、
    Aaron

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

    您好 Aaron、

    [引用 userid=“550875" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583373/am2434-are-there-any-restrictions-on-changing-ethercat-status/6156028
    但是、当我们只更换主设备时、问题在几分钟内再次发生。
    [/报价]

    此处的主设备是指  使用 CODESYS 的另一个 EtherCAT 主设备 
    换言之、 使用 CODESYS 的其它主设备也可能出现问题 

    最好的注意、

    Oyama

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

    您好 Aaron、

    进展如何? 您能否使用 CODESYS 进行重现?

    最好的注意、

    Oyama

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

    您好、Oyama、

    对延迟响应表示歉意。 我尝试重现我这边的问题(由于其他几个高优先级任务而延迟)。 我将很快提供更新。

    此致、
    Aaron

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

    您好、Oyama、

    对因节假日造成的延误表示歉意。

    因此、我已经使用 RevPi Connect + 作为 PLC 提出了 CODESYS 设置 以下是配置和拓扑:

    • 子器件应用:TI EtherCAT 简单演示
    • 周期时间:1ms
    • SDK:  工业通信 SDK 11.00.00.13
    • 拓扑:
      • CODESYS Development System (Windows PC)<> RevPi Connect+(EtherCAT 控制器)<> ET2000 <> AM243x-LP(TI 简单演示)

    我编写了一个 PLC 程序、将状态从 INIT 更改为 OP。 之后、我尝试了从 EtherCAT 子设备和 i 的“Online"窗口“窗口在 INIT 和 PREOP 之间手动切换状态 请勿  请参阅在切换状态一分钟后挂起的应用程序。 附加日志以供参考: e2e.ti.com/.../EtherCAT_5F00_Codesys_5F00_TI_5F00_Simple_5F00_Demo_5F00_ESC_5F00_0x0536_5F00_State_5F00_Transition.pcapng

    现在我已经完成了设置、您是否可以共享您为相同切换实验编写的 PLC 程序?

    此致、
    Aaron

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

    您好 Aaron、

    我稍后会向您发送该项目。
    测试配置如下:

    • CODESYS:v3.5 SP21 补丁 1
    • 周期时间:1ms
    • LP 版本:PROC109A(001)

    它花了大约 3 分钟的时间挂起。

    挂起所需的时间各不相同。
    有时需要一分钟、有时需要 10 分钟。

    最好的注意、

    Oyama

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

    您好、Oyama、

    感谢您提供项目文件。 我将在设置中复制类似内容并恢复状态。

    此致、
    Aaron

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

    您好、Oyama、

    我无法重现您共享的项目文件的问题。

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

    您好 Aaron、

    我尝试将主设备更改为 KEBA (Intel 处理器、而不是 CODESYS) 和 AM68-SK。

    当我使用 Keba 时,问题没有发生。

    但是、AM68-SK 确实发生了问题 (codesyscontrol_linuxarm64_4.18.0.0_arm64)。

    由于 RevPi Connect+不会发生这种情况、因此问题也可能与主器件有关。

    最初导致该问题的主 CPU 为 DRA83821。

    最好的注意、

    Oyama

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

    感谢您的确认。 请在此处联系 CodeSys/3S 以获得支持。 我们将关闭此工单。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid=“550875" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583373/am2434-are-there-any-restrictions-on-changing-ethercat-status/6176001

    因此、我已经使用 RevPi Connect + 作为 PLC 提出了 CODESYS 设置 以下是配置和拓扑:

    • 子器件应用:TI EtherCAT 简单演示
    • 周期时间:1ms
    • SDK:  工业通信 SDK 11.00.00.13
    • 拓扑:
      • CODESYS Development System (Windows PC)<> RevPi Connect+(EtherCAT 控制器)<> ET2000 <> AM243x-LP(TI 简单演示)

    我编写了一个 PLC 程序、将状态从 INIT 更改为 OP。 之后、我尝试了从 EtherCAT 子设备和 i 的“Online"窗口“窗口在 INIT 和 PREOP 之间手动切换状态 请勿  请参阅在切换状态一分钟后挂起的应用程序。

    [/报价]

    Aaron 说这不是 CODESYS 问题。

    此问题在 TI 评估板中发生。

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

    当然、CODESYS 运行时不是 TI 支持的产品、而是第三方软件。 因此、在这种情况下、支持需要来自 CoDeSys/3S。 Daolin Qiu 了解更多信息

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

    首先、问题可能在 AM68 上重现这一事实表明、这种现象可能会在您的环境中重现。

    最后、我想知道的是 为什么 EtherCAT 通信导致 AM243 无法运行 以及可以采取哪些措施来解决此问题。

    目前、根据尝试次数的不同、它始终存在挂起的风险。

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

    您好、Oyama、

    最后、我想知道的是 为什么 EtherCAT 通信导致 AM243 无法运行 [/报价]

    我相信如果主设备配置不正确、那么由于某些错误帧、子设备可能会无响应。  

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

    您好 Aaron、

    如果存在此类错误帧(我想您已检查 Wireshark ...)、我认为问题是它卡在无限循环中、而实际上它应该返回错误。

    最好的注意、

    Oyama

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

    您好、Oyama、

    我认为问题在于它卡在一个无限循环中、而实际上它应该返回一个错误。

    我认为、发生该问题时、主机端 (R5F) 没有观察到无限循环?

    Aaron 说这不是 CODESYS 问题。

    为混乱而道歉。 让我再重复一下我的发言。 我指的是、我无法重现 RevPi+作为 EtherCAT 控制器和 AM243x 作为 EtherCAT 子器件的问题。 这并不意味着这不是 CODESYS 问题。

    我相信根据之前的讨论、只有 AM62x-SK 被重新生成了这个问题、如果您更改主器件(比如 Keba、TwinCAT 或任何其他器件作为 EtherCAT 控制器)、就看不到这个问题?

    根据上述讨论、这看起来是 CODESYS 主设备/控制器的问题。

    但是、AM68-SK 确实发生了问题 (codesyscontrol_linuxarm64_4.18.0.0_arm64)。

    正如上述 Pratheesh 所述、 CODESYS 运行时协议不是 TI 支持的产品、而是第三方软件。 因此、在这种情况下、支持需要来自 CoDeSys/3S。

    此致、
    Aaron  

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

    您好 Aaron、

    我相信当发生此问题时、主机端 (R5F) 中没有观察到无限循环?

    这是什么意思?

    根据上述讨论、这似乎是 CODESYS 主设备/控制器的问题。

    我还发现了 AM437x 和 DRA821 存在这个问题。

    除 TI 之外的 EtherCAT 从站不会发生此问题。

    因此、我 无法确定此问题的原因。

    正如上述 Pratheesh 所述、 CODESYS 运行时协议不是 TI 支持的产品、而是第三方软件。 因此、在这种情况下、支持需要来自 CODESYS / 3S。

    您能提供一些材料来询问 CODESYS 吗?
    目前、我只能说 Wireshark 日志中没有什么异常、但频繁的状态更改会导致 TI 从站 CPU 或 PRU 挂起。

    最好的注意、

    Oyama

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

    您好、Oyama、

    这是什么意思?

    我的意思是、发生该问题时 R5 是否挂起?

    另外、我们已经验证了在以下拓扑中将 AM64x 设置为 EtherCAT 控制器:

    CODESYS System Project (Windows)<> AM64x (EtherCAT Controller)<> TI ESC(运行 EtherCAT subdevice Beckhoff Demo)

    由此、我们启用了一个脚本、以便在到达 OP 后在 INIT 和 PREOP 之间持续切换。 连接 PLC_PRG 和 Wireshark 日志以供参考: e2e.ti.com/.../Codesys_5F00_AM64x_5F00_State_5F00_Transition.zip

    上述配置运行了 30 分钟以上、我们没有看到状态转换失败或 PRU 在连续状态转换后停止的情况。

    EtherCAT 控制器设置 (AM64x):  

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

    您好 Aaron、

    感谢您在 AM64 上重新创建环境。

    您使用的是 AM64-EVM 还是 SK-AM64B? 它是一块绿板吗?

    您为 EtherCAT 使用了哪个端口?

    我使用的演示不是 Beckhoff 演示、但下面的 EtherCAT 演示应用了 1h 补丁。

    sdk\examples\industrial_comms\EtherCAT_subdevice_demo\device_profiles\401_simple\am243x-lp

    如果您运行的是其他程序、请再次检查。

    最好的注意、

    Oyama

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

    您好、Oyama、

    您使用的是 AM64-EVM 还是 SK-AM64B? 它是绿板吗?

      我们使用 TMDS64EVM(绿色 EVM 板)进行测试。

    您将哪个端口用于 EtherCAT?

    [quote userid=“633815" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583373/am2434-are-there-any-restrictions-on-changing-ethercat-status/6236583

    sdk\examples\industrial_comms\EtherCAT_subdevice_demo\device_profiles\401_simple\am243x-lp

    如果您运行的是其他程序、请再次检查。

    [/报价]

    我们运行了 SDK-AM243X 11.00.00.08 软件开发套件 (INDUSTRIAL-COMMUNICATIONS-SDK)| TI.com 中的 401 简单演示。 附加相同的 Wireshark 日志: e2e.ti.com/.../Codesys_5F00_AM64x_5F00_State_5F00_Transition_5F00_TI_5F00_Simple_5F00_Demo.zip

    此致、
    Aaron

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

    您好 Aaron、

    我也尝试了 AM64、但仍然不起作用。

    您能否提供更多详细信息、以便完全复制您的环境?

    我当前的环境如下:

    #####################################################

    3xx-lp:PROC109A(001)

    INDUSTRIAL-COMMUNICATIONS-SDK:11.00.00.08(默认值)

    SysConfig:1.22.0

    编译器:TI Clang v4.0.1.LTS

    TMDS64EVM:PROC101C (004)

    SDK Linux RT am64:11.02.08.02 (tisdk 默认映像 RT am64xx EVM)

    CODESYS:SP21 修补程序 1.

    CODESYS runtime:codesyscontrol Linux ARM64 4.18.0.0

    ###########################################################

    设置环境时是否更改了任何设置?

    最好的注意、

    Oyama

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

    您好、Oyama、

    [引用 userid=“550875" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1583373/am2434-are-there-any-restrictions-on-changing-ethercat-status/6235934

    EtherCAT 控制器设置 (AM64x):  

    • 6.6 内核 RT 映像
    • CODESYS 64 3.5.21.40
    [/报价]

    这是使用的 CODESYS 环境和 RT 映像版本。 我将确认  ti-processor-sdk-linux-rt.T 的 SDK 版本

    这样、我们就启用了一个脚本、在到达 OP 后可以在 init 和 PREOP 之间持续切换。 连接 PLC_PRG 和 Wireshark 日志以供参考: CODESYS AM64x_AM64x.zip
    State_Transition

    这是用于持续切换状态的 PLC 脚本。

    此致、
    Aaron

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是使用的 CODESYS 环境和 RT 映像版本。 我将确认  ti-processor-sdk-linux-rt.T
    的 SDK 版本

    我刚刚在内部进行了检查、看起来我们使用的是  10.00 SDK 的 SDK Linux RT am64。  

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

    您好 Aaron、

    我将其更改为 10.00.07.04 并尝试它。

    您能告诉我您拥有的 CODESYS 运行时环境是什么版本吗?

    您能给我发送您正在使用的 EtherCAT 示例的已编译应用映像吗?

    最好的注意、

    Oyama

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

    您好、Oyama、

    您能告诉我您拥有的 CODESYS 运行时版本吗?

    我将由星期四再次介绍。 我的同事测试了这件事、目前正外出度假。

    、能否将您正在使用的 EtherCAT 示例的已编译应用程序映像发送给我?

    我已经从 11.00.00.08 SDK 构建了默认示例。 让我看看我是否有可用的 appimage(因为我在项目之间切换)。 我会与您分享。

    此致、
    Aaron  

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

    您好、Oyama、

    CODESYS 64 3.5.21.40
    CODESYS Control for Linux ARM64 SL 4.19.0.0.package

    能否将您正在使用的 EtherCAT 示例的已编译应用程序映像发送给我?

    如上所述、我已 从 INDUSTRIAL-COMMUNICATIONS-SDK AM243X-11.00.00.08 中编译了默认的 401 简单演示。 如果源代码或固件标头没有变化、我不确定是否需要共享编译后的应用映像。

    如果您遇到任何问题、请告诉我。

    此致、
    Aaron

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

    您好 Aaron、

    我已经将 AM64 设置与您的设置相匹配。

    我下载了 SDK、再次编译了默认示例、但切换 测试 结果是相同的。

    如果源代码或固件标头没有更改、我不确定是否需要共享已编译的应用程序映像。

    相反、您能否检查我的 appimage 我在我的环境中编译的内容是否在您的环境中工作?
    我担心我的编译环境可能因一些错误而发生了变化。

    最好的注意、

    Oyama

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

    顺便说一下、当我在 EtherCAT_SLAVE_Beckhoff ssc_demo 上执行相同的切换测试时、没有出现问题。

    这是否为原因提供了任何线索?