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.

[参考译文] PdoConfiguration":MCU-PLUS-SDK 子器件堆栈:在应用中无法设置为"false"

Guru**** 1791630 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/1399066/mcu-plus-sdk-am243x-ethercat-subdevice-stack-pdoconfiguration-cannot-be-set-to-false-in-application

器件型号:MCU-PLUS-SDK AM243X
主题中讨论的其他器件:AM2434

工具与软件:

尊敬的 TI 支持团队:

我正在具有 AM2434芯片的定制电路板上的工业通信 SDK 09.02中使用 TI 的 EtherCAT 子器件栈。

   -在 EtherCAT 中,可以决定子设备是否支持 PdoConfiguration ( PDO 的映射更改),我目前不想支持
   -在 ESI 文件中,这是通过 CoE 条目配置的
   -我无法在 TI EtherCAT 堆栈中设置它,我找不到任何合适的函数
   -一致性测试始终会发出一个错误, PDOConfiguration 在子设备中设置为 true ,即使所有 PDO 都设置为 FIXED EC_API_SLV_PDO_setFixed(...)

我是否有机会将 PdoConfiguration 设置为 false?如果是、如何设置?
谢谢!

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

    尊敬的 Dominik Fischer:

    仅当使用 API EC_API_SLV_PDO_setFixed ()将 TxPDO 和 RxPDO 设置为固定值时、"CoE Details"参数中的"Enable PDO configuration"位才应设置为 false。 这是启用/禁用 EtherCAT 子器件堆栈中的 PDO 配置位的唯一可能方法。  


    在您的情况下、问题可能是当默认启用 PDO 配置时初始化 EEPROM 数据、稍后当您 使用 API  EC_API_SLV_PDO_setFixed ()禁用  PDO 配置时、EEPROM 不会重新初始化、而是使用 EEPROM  中已存在的数据。 堆栈应用程序通过读取 EEPROM 初始化期间存储的键值来检查 EEPROM 是否已初始化、并 在启动阶段将数据加载到应用程序中。 我建议您擦除 EEPROM 的数据内容并重试。 另一种方法是简单地更改 project.h 文件中定义的 EEPROM_MAGIC_KEY、因为这将在密钥更改后重新初始化 EEPROM 一次。

    请告诉我这是否解决了问题。

    此致、

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

    完美,快速的反应和良好的解释! 问题已解决、根据建议的更改/权变措施、一致性测试中所述的问题已消失。

    我在尝试更新一些堆栈设置时、已经无意中发现了一个未重新初始化的 EEPROM、但忘记了这一点。

    谢谢!