Vai al contenuto

Preliminary concepts

EtherCAT is an high performance fieldbus industrial standard that allows the connection of several I/O devices, EtherCAT slaves, to one EtherCAT master device, usually an industrial PLC controller or a CNC device, using standard Ethernet connections.The EtherCAT slaves are described by ESI files (EtherCAT Slave Information), that are XML files that describe all the slave features and how can communicate with a master; ESI file format is standardized by the ETG.2000 specification, from ”EtherCAT Technology Group” consortium. ESI files can contain one or more slave devices and versions, and they are usually distributed by the slave device manufacturer directly.The output of the whole EtherCAT configuration is an XML file that will be parsed and managed by the EtherCAT master, that is called ENI file (EtherCAT Network Infor- mation). ENI file format is standardized by the ETG.2100 specification.Data is exchanged between master and slaves through EtherCAT frames, that are special Ethernet frames that are routed on the network, from one slave to the next and back to the master; an EtherCAT frame can contain one or more EtherCAT commands:
  • cyclic frames: they are sent on a cyclic and deterministic timing from the master, and contain process data exchanged between the slaves, organized in PDOs (Process data objects), that contain values of the dictionary objects
  • acyclic frames: they are sent only on request to implement service commands, for ex- ample to read the values through SDOs (Service data objects) only once
A feature that is often used on EtherCAT networks is the Distributed clock: to keep all the timings between the master and all the slaves perfectly aligned, the first slave that supports this mode will act as the reference clock (or ”sync master”) for the network, and will be responsible to synchronize all the other slaves and the master as well (and consequently also the PLC timing).Both the master and the slaves have a state machine that defines their state in the start-up phase of the EtherCAT network. They are:
  • Init: initialization phase
  • Boot: suitable for firmware upgrades and other maintenance operations
  • PreOp: pre-operational, no data-exchange occur between master and slaves
  • SafeOp: safe operational, only input data from slaves to the master are exchanged
  • Op: fully operational, full data-exchange can happen (both input and output)
Every EtherCAT slave contains a chip called ESC (EtherCAT Slave Controller), that is an integrated circuit that manages the communication following the EtherCAT standard.An ESC can contain several SM (Sync Managers), that are units that manage pro- cess data consistently and internally handles acyclic commands with Mailbox; PDOs are assigned to SM to be exchanged; ESC also contains FMMU (Fieldbus Memory Man- agement Unit), that is a unit that maps regions of memory into process data Logical Addresses, and an EEPROM to store slave settings.The EtherCAT standard also defines many sub-protocols and device profiles for communi- cations:
  • CoE: CAN application protocol over EtherCAT
  • EoE: Ethernet over EtherCAT
  • FoE: File access over EtherCAT
  • SoE: Servo drive profile over EtherCAT
  • AoE: Automation Device Protocol over EtherCAT
  • FSoE: Safety over EtherCAT