How to Avoid Frequent Writing of CoE Parameters Affecting Module Lifespan?

Keywords:

FB_EcCoeSdoWrite, CoE, Write

Background

As is well known, CoE parameters of an EtherCAT slave can be read and written online through TC3 programming software. These parameters can also be accessed by PLC programs using function blocks (FB) such as FB_EcCoeSdoRead and FB_EcCoeSdoWrite from the TcEtherCAT.lib.

These parameters are stored in the EEPROM memory area of the slave, making them non-volatile. All EEPROMs have a limited lifespan, typically around 100,000 write cycles. If CoE parameters are frequently written from the PLC program, such as dynamically adjusting PID parameters of EL7xxx, there is a possibility that the EEPROM's allowed write cycle limit may be reached one day.

To address this potential risk, most complex EL modules have added the NoCoeStorage feature in their latest firmware. Specifically, for each EL module, you can check in the module's Tech Data to see if it supports the NoCoeStorage feature.






When this feature is enabled, the written CoE parameters are stored in a regular memory instead of the EEPROM, making them non-volatile and not consuming EEPROM write cycles.

Usage

If NoCoeStorage is supported:

Setting CoE 0xF008 to 0x12345678 activates the NoCoeStorage feature. As long as the value of CoE 0xF008 remains unchanged at 0x12345678, the PLC can freely write CoE parameters without affecting the EEPROM lifespan. Note that after the module is powered off and on again, the value of CoE 0xF008 will revert to 0, rendering the NoCoeStorage feature ineffective. To keep this feature activated for a specific EL module, a good approach is to add CoE 0xF008 to its StartupList and write 0x12345678. If NoCoeStorage is not supported:

Considering the limited write cycle lifespan, continuous modification of CoE parameters is not allowed.