Panel | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
EtherCAT is a real-time capable fieldbus system.
A PC with real-time OS, like Linux with RT-patch, and Ethernet hardware can be used as the master.
The slaves require special EtherCAT hardware.
With EtherCAT, data packets, so-called PDOs (process data objects), are sent cyclically from the master to the slaves and from the slaves to the master.
A PDO can, for example, be an encoder value or an output value for a drive.
Acyclic messages, so-called SDOs (service data objects), are not discussed in this documentation.
At its lowest level, ethercat uses an ethernet frame to send EtherCAT datagrams containing commands to read or write data, or both ('r', 'w', 'rw'). Each Datagram consists of a header, its data and the working counter, which servers as a status indicator or checksum. Depending on the operation, the counter is either not incremented at all (+0), by 1, 2 or 3, if data was read, written or both.
The data that is actually read or written is accessed using a 4Gbit address space using byte.bit addressing. EtherCAT technically bit alignment, though in practice most things seem to be byte aligned. This address space is called the Process Data Image or PDI. Object living in that space are often referred to as Process Data Objects or PDOs, though it's not entirely clear, whether that strictly refers to PDOs in the sense of CANOpen or is to be understood as a separate term.