# EtherCAT® Network Configuration ENI For reading new input data values and writing new output data values (process data update) the EtherCAT® configuration file contains one or multiple “Cyclic” entries. These entries contain one or multiple frames (so-called cyclic frames) to be sent cyclically by the MainDevice. Inside the cyclic frames there are one or multiple EtherCAT® datagrams containing logical read/write commands for reading and writing process data values. ## Single cyclic entry configuration By default there is only a single cyclic entry with one or more cyclic frames: ![Single cyclic entry configuration where all SubDevices share one set of cyclic EtherCAT frames sent every cycle](../Media/singlecyclic.jpg) All process data synchronization modes support this configuration variant. ## Multiple cyclic entries configuration For more complex scenarios it is possible to configure the system using multiple cyclic entries with one or more cyclic frames for each cyclic entry. ![Multiple cyclic entries configuration where separate sets of cyclic EtherCAT frames are assigned to individual task IDs and sent independently](../Media/multiplecyclic.jpg) The application has to use the [`EC_T_USER_JOB::eUsrJob_SendCycFramesByTaskId`](api_general_functions.html.md#_CPPv4N13EC_T_USER_JOB29eUsrJob_SendCycFramesByTaskIdE) job call to the EC-Master to send the appropriate cyclic frame. #### SEE ALSO [`emExecJob()`](api_general_functions.html.md#_CPPv49emExecJob10EC_T_DWORD13EC_T_USER_JOBP19EC_T_USER_JOB_PARMS) \\newpage ## Copy Information for SubDevice-to-SubDevice communication It is possible to configure the system to copy input variables to output variables within EC-Master. The copy info declarations of the corresponding received cyclic frame are processed in . The exchange of process data takes two communication cycles. The duration is necessary if cable redundancy is used or if the WKC of INPUT needs to be checked before changing OUTPUT. The copy info declarations are located at `/EtherCATConfig/Config/Cyclic/Frame/Cmd/CopyInfos` in the ENI file. #### SEE ALSO - [Cyclic cmd WKC validation and Frame Loss](software-integration_error-detection.html.md#cyclic-cmd-wkc-validation-and-frame-loss) - CopyInfosType in ETG.2100 **Configuration with EC-Engineer** 1. In the “SubDevice to SubDevice” tab of the MainDevice select Input and Output Variable and connect them: : ![EC-Engineer SubDevice-to-SubDevice tab showing input and output variables being connected to configure copy-info communication between SubDevices](../Media/configengineer.png) **Configuration with ET9000** 1. Select “Linked to…” from the Output Variable: : ![ET9000 configurator showing the context menu on an output variable with the "Linked to..." option for configuring SubDevice-to-SubDevice copy-info](../Media/configet9000.png) 2. Select Input Variable to be attached to the Output Variable: : ![ET9000 configurator dialog for selecting the input variable to link to the chosen output variable in a SubDevice-to-SubDevice copy-info configuration](../Media/outputvariable.png) #### HINT Copy info declaration processing is independent of WKC values, but updating the INPUT source depends on successful Cyclic cmd WKC validation. ## Swap bytes of variables according to ENI The following screenshot (ET9000) shows how to configure variables to be swapped by the EC-Master: ![ET9000 configurator showing a PDO entry with the swap flag enabled, which instructs EC-Master to byte-swap the variable value when copying it](../Media/swapENI.png) #### HINT The EC-Master does not distinguish between WORD or BYTE swapping. Setting any PDO swap flag instructs the EC-Master to swap the PDO variable. The swap declarations are located at DataType’s attribute SwapData of RxPdo or TxPdo, e.g. `/EtherCATConfig/Config/Slave/ProcessData/RxPdo/Entry/DataType` in the ENI file. \\newpage