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 Example EtherCat-ID in code vs esi (xml) file

Part Number: AM2432

Hello,

when I load the esi file (xmf) from the TIEP example into the Beckof TwinCat , i gets this message:

image.png

Ok the Vendor ID's don't fit. But why?

In the xml file:

image.png

The EtherCat CPU shows:

image.png

However, I only find in the source code:

image.png

This is where the ECAT_VENDORID is set:

image.png

read and print:

image.png

Where does the "E" come from?

Could it be that the reading routine getVendorId cheats this "to it", but contains the ID without "E" in the structure, and is also transmitted to the TwinCat in this way?

Unfortunately, I am not able to resolve the routine EC_API_SLV_getVendorId().

In principle, it's quite simple:

In the header under C:\ti\motor_control_sdk_am243x_11_00_00_06\ind_comms_sdk\source\industrial_comms\ethercat_slave\stack\inc\ecSlvApi.h, the function is declared external. So comes from the lib. Under patch/SlaveFiles/src git there is a readme that says what to do.

We are a member of the ETG and have downloaded the SSC_V5i13.zip. Unfortunately, I can't find the implementation of the function here EC_API_SLV_getVendorId here either.

What am I doing wrong?

BR Alexander

  • Hello Alexander,

    Where does the "E" come from?

    TI as a technology provider delivers EtherCAT SubDevice with a secondary vendor ID 0xEXXXXXXX. Please refer to the EtherCAT Vendor ID related FAQs here.

    Please note that 0x0000059D is the primary vendor ID of TI and 0xE000059D is the secondary vendor ID. All EtherCAT SubDevice examples in Industrial Communications SDK will have 0xE000059D (secondary vendor ID) as configured vendor ID, when examples are compiled with prebuilt eval version of Beckhoff SSC library provided within the SDK. 
    When the examples are compiled with licensed version of Beckhoff SSC library (customer generated) then the examples will be configured with primary vendor ID defined by the macro 'ECAT_VENDORID' (customers need to replace with their own vendor ID). Please update the vendor ID field in the ESI file as well. Make sure to reload the device descriptions in TwinCAT and also remove any online device description files created earlier.

    To create a licensed version of Beckhoff SSC lib, please refer Beckhoff SSC Library Creation page in EtherCAT SubDevice documentation.

    Unfortunately, I am not able to resolve the routine EC_API_SLV_getVendorId().

    This API is a part of EtherCAT SubDevice library.

    Kind Regards,

  • Hi Harsha

    Thanks for the quick reply.

    OK, I understand the primary and secondary IDs now.

    I'm still confused where exactly the function EC_API_SLV_getVendorId is implemented.

    Where can I find the EtherCat SubDevice lib code?

    BR Alexander

  • Hello Alexander,

    The API EC_API_SLV_getVendorId is implemented in the EtherCAT SubDevice stack, which is the closed source. To get access to the EtherCAT SubDevice stack code, please contact your regional TI sales.

    Kind Regards,