This thread has been locked.

AM2434: EtherCAT Slave CoE: How to Configure Objects in the 0x1000 Range from the Application

Part Number: AM2434

I have a question regarding CoE objects in an EtherCAT Slave implementation.

As far as I understand, most objects can be registered in the object dictionary using functions such as
EC_API_SLV_CoE_odAddVariable(), and their values can then be set using APIs like
EC_API_SLV_CoE_setObjectData().

On the other hand, objects in the 0x1000 range seem to be mostly registered and managed internally by the EtherCAT stack, and therefore cannot be modified directly using APIs such as
EC_API_SLV_CoE_setObjectData().

In ecSlvApi_param.h, I found that there are dedicated setter functions for some specific objects, such as
0x1009 (Hardware Version).

However, my question is whether there is any generic API or recommended approach that allows an application to configure or modify arbitrary objects managed internally by the stack, including objects like 0x1600 or 0x1C12.

If such a method exists, I would greatly appreciate it if you could share the recommended procedure, along with a simple sample code if possible.

Thank you in advance.

  • Hello Shimodome Ryo,

    The APIs EC_API_SLV_CoE_odAddVariable(), EC_API_SLV_CoE_odAddArray() and EC_API_SLV_CoE_odAddRecord() only support the objects in index range greater than 0x2000.

    Currently, there are no generic APIs available to manage the objects in the index range 0x1000 to 0x1FFF. The objects in this index range can be added directly in Beckhoff SSC layer but are not accessible from the SubDevice application with available APIs.

    In case if you would like to have generic/specific APIs in the stack that are not currently available, please reach out to your regional TI sales team. 

    Kind Regards,

**Attention** This is a public forum