EtherCAT Reference
Free reference guide: EtherCAT Reference
About EtherCAT Reference
The EtherCAT Reference provides a structured, searchable guide to the EtherCAT industrial fieldbus protocol across 26 key topics. It covers the EtherCAT frame structure with EtherType 0x88A4, datagram commands (APRD, APWR, LRD, LWR, LRW), FMMU logical-to-physical address mapping, and SyncManager buffer configuration for mailbox and process data channels (SM0-SM3).
The reference addresses real-time synchronization through Distributed Clocks (DC) with sub-100ns precision, SYNC0/SYNC1 periodic interrupts, and SM/DC synchronization modes. Protocol stack entries cover CoE (CANopen over EtherCAT) object dictionary, SDO acyclic parameter access via mailbox, PDO cyclic process data exchange with RxPDO/TxPDO mapping, FoE firmware transfer, and EoE TCP/IP tunneling.
Application-level topics include the CiA 402 servo drive profile with ControlWord/StatusWord state machine transitions, CSP (Cyclic Synchronous Position, Mode 8) and CSV (Cyclic Synchronous Velocity, Mode 9) operation modes, plus hardware considerations such as line/tree/star topologies, EtherCAT P single-cable power and communication, hot connect groups, cable redundancy with zero-downtime failover, and cycle time calculations down to 250us for 100 slaves.
Key Features
- EtherCAT frame anatomy: Ethernet header with EtherType 0x88A4, EtherCAT header, multiple datagrams with 10-byte headers, WKC counters, and FCS
- FMMU and SyncManager configuration with physical/logical address mapping examples and SM0-SM3 buffer layout for mailbox and process data
- Distributed Clocks synchronization with sub-100ns precision, SYNC0/SYNC1 timing diagrams, and DC register addresses (0x0910, 0x0920, 0x0981)
- Complete CoE object dictionary reference including device identity (0x1018), PDO mapping (0x1600/0x1A00), and application objects (0x6000/0x7000)
- CiA 402 servo drive state machine with ControlWord values for each transition: Ready to Switch On (0x06), Switched On (0x07), Operation Enabled (0x0F)
- CSP Mode 8 and CSV Mode 9 PDO mapping with TargetPosition, ActualPosition, TargetVelocity, and ActualTorque objects
- Network topology options (line, tree, star) with hot connect group configuration and cable redundancy ring topology for zero-downtime failover
- Cycle time calculation formula: frame overhead 30us + 1us per slave + 0.08us per data byte, with practical example achieving 250us for 100 slaves
Frequently Asked Questions
What EtherCAT protocol layers does this reference cover?
It covers the data link layer (frame structure, datagrams, FMMU, SyncManager), synchronization layer (Distributed Clocks, SYNC0/SYNC1), protocol stack (CoE, SDO, PDO, FoE, EoE), state machine (ESM with INIT/PRE-OP/SAFE-OP/OP states), diagnostics (AL Status Code, WKC, ESI), applications (CiA 402, CSP, CSV), and hardware (topology, EtherCAT P, hot connect, redundancy).
How does the EtherCAT state machine work?
Slaves transition through four states: INIT (no mailbox), PRE-OP (mailbox active for SDO parameter configuration), SAFE-OP (input PDOs active, outputs held at safe values), and OP (all PDOs active for normal operation). The master controls transitions, and AL Status Codes report errors at each stage.
What is the difference between SDO and PDO communication?
SDO (Service Data Object) uses mailbox communication for acyclic, non-real-time parameter reads and writes, such as changing drive operation mode via index 0x6060. PDO (Process Data Object) exchanges cyclic process data in every EtherCAT frame, mapped through RxPDO (0x1600) for outputs like ControlWord and TxPDO (0x1A00) for inputs like StatusWord.
How precise is EtherCAT Distributed Clocks synchronization?
Distributed Clocks achieves sub-100ns synchronization between all slaves on the network. The reference clock is the first DC-capable slave. SYNC0 generates periodic interrupts typically at 1ms intervals with configurable shift time, and DC registers at 0x0910 (System Time), 0x0920 (Cycle Time), and 0x0981 (DC Activation) control the synchronization.
How do I configure CiA 402 CSP mode for servo drives?
Set operation mode to CSP by writing 8 to SDO index 0x6060. Map RxPDO with ControlWord (0x6040) and TargetPosition (0x607A), and TxPDO with StatusWord (0x6041) and ActualPosition (0x6064). The master generates position commands every cycle, performs interpolation, and DC SYNC0 synchronization is required.
What happens when the WKC (Working Counter) does not match?
A WKC mismatch indicates a communication error. Each successful read increments WKC by 1, each write by 1, and read+write by 3. For an LRW command with 5 slaves doing both input and output, the expected WKC is 15. The master checks WKC every cycle and should trigger error handling on mismatch.
How does EtherCAT hot connect work?
Slaves are organized into fixed and hot connect groups, typically separated by bus couplers like EK1100. Each hot connect group can be independently connected or disconnected during operation without affecting the rest of the network. This is useful for tool changers or modular machine configurations.
How fast can EtherCAT cycle times be?
Cycle time depends on frame overhead (~30us), propagation delay (~1us per slave), and data transfer (0.08us per byte). For 100 slaves each exchanging 10 bytes of process data, the calculation is 30 + 100*1 + 1000*0.08 = 210us, enabling a 250us cycle. EtherCAT theoretically supports up to 65,535 slaves.