An EtherCAT master is a device that manages and controls an EtherCAT network. It is typically a PC or embedded microprocessor, a programmable logic controller (PLC), or a motion controller that is responsible for communicating with and controlling the EtherCAT slaves that are the devices connected to the network. The EtherCAT master acts as the point of control for the network, and it is responsible for managing the communication between the slaves, issuing commands to the slaves, and receiving data from the slaves.

The master is also responsible for managing the network clock and synchronization across the network, and for error-handling mechanisms such as watchdog timers and automatic retries. It also uses the information from the ENI and ESI files to configure the network and to understand the network topology and slave capabilities.

EtherCAT as an Ethernet-based real-time fieldbus requires a physical Ethernet interface at the controller and a real-time trigger as required for connection with the I/O environment. It enables the EtherCAT master to communicate with the connected EtherCAT environment.

The EtherCAT master as a software device in TwinCAT:

=> can assemble Ethernet telegrams with EtherCAT datagrams from the process data supplied by the PLC/NC/task and send them via the assigned Ethernet port.

=> can unpack process data received from the I/O environment and return them to the tasks.

=> deals with the construction of cyclic and acyclic telegrams.

=> controls the distributed clock synchronization.

=> analyses the diagnostic information of the EtherCAT slaves.

=> carries out event-oriented diagnostics or responds to modified topologies.

=> can only manage one EtherCAT system with up to 65,535 slaves and is linked with one Ethernet interface (“RJ45 port”) for this purpose. A second port can be allocated to the EtherCAT master for the purpose of cable redundancy.

=> manages the communication with other EtherCAT masters in the same TwinCAT system, if several masters are present in the configuration.

=> is the sole generator of EtherCAT telegrams in an EtherCAT system


An EtherCAT slave is a device that is connected to an EtherCAT network and controlled by an EtherCAT master. These devices are typically sensors, drives, actuators, or other types of automation devices that perform specific tasks in the automation system. In order to enable EtherCAT’s unique on-the-fly frame processing, EtherCAT slave devices require an EtherCAT Slave Controller (ESC). The ESC can be a dedicated chip like an ASIC, implemented as an IP Core in an FPGA, or even integrated directly into the processor. ESCs can be designed manually but are also widely available off-the-shelf from many different manufacturers.

EtherCAT slaves communicate with the master by reading data from and writing data into the EtherCAT frames sent from the master as they move through the network, and they are also able to communicate with other slaves on the network via slave-to-slave communication. Each slave device is automatically assigned a unique identification number called an “address”, and the master device uses this address to communicate with the slave device. The functionality of a slave device is defined by the slave’s ESI file which is typically provided by the slave’s manufacturer. The ESC allows various topologies and enables cable and master redundancy.