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:针对 AB PLC 通信修改 EDS 文件

Guru**** 2398695 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/1356210/am2434-eds-file-modification-for-ab-plc-communcication

器件型号:AM2434

大家好、  

我有 AM2434的 EDS 文件。 将 EDS 导入 Rockwell Automation Studio 5000软件时,该文件仅附带一个数据类型(Sint)。 我使用的是处理 DINT 数据类型的现场器件。 并且需要能够将 DINT 从我的 PLC (AB-L82ES)发送到 TI 电路板。 我曾尝试修改 EDS、但没有任何帮助。 在了解如何更改 TI EDS 的 DINT 数据类型方面需要一些帮助。  

,谢谢  

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

    你好  
    我将此事分配给印度的一位同事、但请注意他们明天有一个公共假日、因此回复可能会延迟。  

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

    您好、Yash。

    根据您的描述、我明白您正在尝试使用通用设备配置文件 EthernetIP 示例。 我咨询了我们的以太网 IP 堆栈专家,并从他的一方得到了一些有关这方面的建议。

    如果要将循环 IO 的类型从 USINT 更改为 DINT、只在 EDS 文件中进行更改是不够的。

    您还需要更改通用器件示例的应用程序端。
    我们的实际示例现在支持70类实例1上的多种类型:

    • 64个 USINT 属性(属性 ID 0x300 - 0x33F)
    • 32个 UINT 属性 (属性 ID 0x340 - 0x35F)
    • 16个 UDINT 属性 (属性 ID 0x360 - 0x36F)
    • 8个 ULINT 属性 (属性 ID 0x370 - 0x377)

    实际上、只有前5个 USINT 属性(ID 0x300 - 0x304)由汇编对象映射为输入、
    其他5个 USINT 属性(ID 0x308 - 0x30C)被汇编对象映射为输出。

    汇编映射在中完成  EI_APP_GENERAL_DEVICE_cipSetup 中的功能 app_generic_device.c 文件。

    要更改您需要更新  EI_APP_GENERAL_DEVICE_GenerateContent 中 的功能 app_generic_device.c  在此行后归档和添加:

    uint16_t attribID = 0x300;

    以下代码:

    // 16 DINT (int32_t).
    for (i = 0; i < 16; i++)
    {
        EI_API_CIP_SAttr_t attr;
        OSAL_MEMORY_memset(&attr, 0, sizeof(attr));
        attr.id = attribID;
        attr.edt = EI_API_CIP_eEDT_DINT;
        attr.accessRule = EI_API_CIP_eAR_GET_AND_SET;
        attr.pvValue = &i;
    
        EI_API_CIP_addInstanceAttr(cipNode, classId, instanceId, &attr);
        EI_API_CIP_setInstanceAttr(cipNode, classId, instanceId, &attr);
    
        attribID++;
    }


    这会将新的16个 DINT 属性添加到先前64个 USINT 属性的位置。

    则70类实例1如下所示:

    • 16个 DINT 属性(属性 ID 0x300 - 0x30F)
    • 64个 USINT 属性(属性 ID 0x310 - 0x34F)
    • 32个 UINT 属性 (属性 ID 0x350 - 0x36F)
    • 16个 UDINT 属性 (属性 ID 0x370 - 0x37F)
    • 8个 ULINT 属性 (属性 ID 0x380 - 0x387)

    有了这种更改、您无需更改汇编对象内部的映射。

    EDS 文件需要相应地进行更改-至少在每个输入和输出参数下更改"数据类型"和"以字节为单位的数据大小"。

    此致
    归档开发

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

    您好、Archit、  

    我们尝试了您提出的建议。 我们进行更改后、似乎该模块没有进行通信。 我怀疑我进行了 EDS 文件更改。 我在此附上文件供您参考。 您能不能看一下我是否错过了任何东西

     e2e.ti.com/.../am243x_2D00_lp_5F00_tiEtherNetIP_5F00_freeRTOS_5F00_0xC4_2D00_-datatype.txt

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

    您好、Yash。

    我已将此查询分配给我们的 EIP 堆栈专家。 他将能够更好地帮助你。

    此致
    归档开发

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

    您好、Yash。

    请查看随附的堆栈团队评论如下:

    我们对您共享的 EDS 文件进行了分析、并在组装和容量配置组中发现了一些问题。
    请尝试使用随附的更新的 EDS 文件、并检查它是否适用于您。   e2e.ti.com/.../am243x_2D00_lp_5F00_tiEtherNetIP_5F00_freeRTOS_5F00_0xC4_2D00_datatype.eds

    如果它仍然无法正常工作、请通过 PLC 和器件通信向我们发送 Wireshark 日志。

    谨致问候
    EtherNet/IP 团队

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

    您好、Archit、  

    我尝试了新的 EDS、似乎已经解决了可以在 PLC 端更改数据类型的部件。 非常感谢您的参与! 但 TI 电路板和 PLC 之间仍然没有通信。 我捕获了 Wireshark、正如您所询问的。 我看到我们在 TI 板上更改固件的 IP 的错误代码(0x54)。 附加文件以供您参考。

     e2e.ti.com/.../10.78.215.217_5F00_wiresharklog.pcapng.zip

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

    您好、Yash。

    很高兴知道、现在您可以在 PLC 端更改数据类型。

    请给我们一些时间来分析您共享的日志。  

    感谢您的耐心。  

    此致
    归档开发

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

    您好、Yash。

    在分析 Wireshark 日志时、我可以看到 CIP 标头中的其他状态为0x0114。
    根据规格 vol1_3.36、这可能是供应商 ID 或 产品 代码不匹配导致的。

    您能否确认您正在使用的 SDK 版本?
    我们共享的 EDS 文件来自工业通信 SDK 9.2版。

    此致
    归档开发

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

    您好、Archit、  

    我们目前使用的是 SDK 9.0。 如果 EDS 用于与之通信、您能否共享 SDK 9.2版。  

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

    您好、Yash。

    您可以在以下位置找到 INDUSTRIAL-COMMUNICATIONS-SDK v 9.2:https://www.ti.com/tool/download/ICSDK-AM243X/09.02.00.08 

    此致
    归档开发

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

    感谢您的回复!  

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

    您好、Yash。

    感谢您的快速响应。 希望这可以解决您的问题。
    期待收到您的反馈。

    此致
    归档开发