Creating an Application with FSoE using any FSoE stack

In this chapter the steps to create a safety application and integrate a FSoE stack are described. This feature is available since stack version 1.7.1. Currently this feature is only available for the non-GOAL version of the EtherCAT library.

Create Safety Slot and Safety module in ICC

The Industrial Communication Creator (ICC) must be used to specify the options for the library and to define the layout of the object dictionary.
Please refer to the manual of the ICC for details.

For an FSoE application one slot and on ore more modules must be created. The objects defined in the module object dictionary shall match the FSoE specification. Further, all device and module objects belonging to the FSoE description must be created, especially object 0xF030 (Configured Modules).

Receiving and Sending of Safety parameters

Acyclic data handled by the FSoE stack can be received using the function ec_applSdoWrInd() and send using ec_applSdoWrInd().

Receiving and Sending the FSoE Frame

To be able to receive and send the raw FSoE frame it is necessary to enable PDO Bypass, i.e., define EC_CONFIG_PDO_INPUT_BYPASS and EC_CONFIG_PDO_OUTPUT_BYPASS. The functions PDO_INPUT_BYPASS_FCT and PDO_OUTPUT_BYPASS_FCT also must be defined. They are used for receiving and sending the full FSoE frame in the application. In this case the data bypass the stack completely, therefore ec_applSdoWrInd() might be used in the application to update the objects in the stack avoiding differences in CoE.

Configured modules

To be able to use the modular device profile in the EtherCAT stack the Object 0xF030 (Configured Modules) must be created. This object is an array of unsigned 32-bit integers with the same array size as the number of slots of the device. Before the EtherCAT state changes from PreOP to SafeOP the configured modules must be inserted into this object. This can be done either directly in the application or by the PLC using “Configured Slot Download”.