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.

[参考译文] AM2432:TIDEP-01032 代码与 ESI (xml) 文件中的 EtherCAT-ID 示例

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1647655/am2432-tidep-01032-example-ethercat-id-in-code-vs-esi-xml-file

器件型号: AM2432

您好:

当我从 TIEP 示例中将 ESI 文件 (xmf) 加载到 Beckof TwinCAT 中时,我收到以下消息:

image.png

好、供应商 ID 不合适。 但为什么呢?

在 xml 文件中:

image.png

EtherCAT CPU 显示:

image.png

但是、我只在源代码中找到:

image.png

以下是设置 ECAT_VendorID 的位置:

image.png

阅读和打印:

image.png

“E“来自哪里?

它是否可以是读取例程 getVendorId 向它“作弊,但在结构中包含没有“E“的 ID,并以这种方式传输到 TwinCAT ?

很遗憾,我无法解析例程 EC_API_SLV_getVendorId ()。

原则上、它非常简单:

在 C:\ti\motor_control_sdk_am243x_11_00_00_06\ind_comms_sdk\source\industrial_comms\EtherCAT_slave\stack\inc\ecSlvApi.h 下的头文件中、函数在外部声明。 来自库中。 在 patch/SlaveFiles/Git 下 src、有一个自述文件说明了该怎么做。

我们是 ETG 的成员、已下载 SSC_V5i13.zip。 遗憾的是、我在这里也找不到函数的实现 EC_API_SLV_getVendorId。

我在做什么?

BR Alexander  

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

    您好 Alexander、

    “E“来自哪里?

    TI 作为技术提供商提供的 EtherCAT 子器件提供了第二供应商 ID 0xEXXXXXXX。  请参阅 此处与 EtherCAT 供应商 ID 相关的常见问题解答

    请注意、0x0000059D 是  TI 的主要供应商 ID、 0xE000059D是辅助供应商 ID。  当使用 SDK 中提供的 Beckhoff SSC 库的预编译评估版本进行示例编译时、工业通信 SDK 中的所有 EtherCAT 子器件示例都将 0xE000059D(辅助供应商 ID)作为供应商 ID。  
    当使用 Beckhoff SSC 库(客户生成)的许可版本对这些示例进行编译时、这些示例将配置为由宏“ECAT_VendorID“定义的主供应商 ID(客户需要替换为自己的供应商 ID)。 也请更新 ESI 文件中的供应商 ID 字段。 确保在 TwinCAT 中重新加载器件描述、同时删除之前创建的任何在线器件描述文件。

    要创建 Beckhoff SSC 库的许可版本、请参阅  EtherCAT 子设备文档中的 Beckhoff SSC 库创建页面。

    很遗憾、我无法解析例程 ec_api_SLV_getVendorId ()。

    此 API 是 EtherCAT 子设备库的一部分。

    此致、

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

    嗨、Harsha

    感谢您的快速答复。

    好的、我现在了解了主要 ID 和次要 ID。

    我仍然感到困惑、它确切地实现了函数 EC_API_SLV_getVendorId。

    在哪里可以找到 EtherCAT 子器件库代码?

    BR Alexander

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

    您好 Alexander、

    API EC_API_SLV_getVendorId 是在 EtherCAT 子设备协议栈(闭合源)中实现的。 要访问 EtherCAT 子器件堆栈代码、请联系您所在地区的 TI 销售。

    此致、