is an open high performance Ethernet-based fieldbus
system. The development goal of EtherCAT was to apply Ethernet
to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs.
Typical automation networks are characterized by short data length per node, typically less than the minimum payload of an Ethernet
frame. Using one frame per node per cycle therefore leads to low bandwidth utilization and thus to poor overall network performance. EtherCAT therefore takes a different approach, called "processing on the fly".
With EtherCAT, the Ethernet packet
or frame is no longer received, then interpreted and copied as process data at every node. The EtherCAT slave devices read the data addressed to them while the telegram passes through the device. Similarly, input data are inserted while the telegram passes through. The frames are only delayed by a fraction of a microsecond in each node, and many nodes - typically the entire network - can be addressed with just one frame.
Click the link below for an animation illustrating the basic operating principle. (SVG animation, you need this Internet Explorer plugin or Opera version 9.5. Firefox does not support SVG animations).
The EtherCAT protocol is optimised for process data and is transported directly within the standard IEEE 802.3 Ethernet frame using Ethertype
0x88a4. It may consist of several sub-datagrams, each serving a particular memory area of the logical process images that can be up to 4 gigabytes in size. The data sequence is independent of the physical order of the nodes in the network; addressing can be in any order. Broadcast, multicast and communication between slaves are possible and must be done by the master device. If IP routing
is required, the EtherCAT protocol can be inserted into UDP
datagrams. This also enables any control with Ethernet protocol stack to address EtherCAT systems.
Short cycle times can be achieved since the host microprocessors in the slave devices are not involved in the processing of the Ethernet packets to transfer the process images. All process data communication is handled in the slave controller hardware. Combined with the functional principle this makes EtherCAT a high performance distributed I/O system: Process data exchange with 1000 distributed digital I/O takes about 30 µs, which is typical for a transfer of 125 byte over 100Mb/s ethernet. Data for and from 100 servo axis can be updated with up to 10 kHz. Typical network update rates are 1-30 kHz, but EtherCAT can be used with slower cycle times, too, if the DMA load is too high on your PC.
Using full-duplex Ethernet physical layers, the EtherCAT slave controllers close an open port automatically and return the Ethernet frame if no downstream device is detected. Slave devices may have two or more ports. Due to these features EtherCAT can support almost any physical topology such as line, tree or star. The bus or line structure known from the fieldbusses thus also becomes available for Ethernet.
Also possible is the combination of line and branches or stubs: any EtherCAT device with three or more ports can act as junction, no additional switches are required. The classic switch-based Ethernet star topology can be used either with switches configured to forward traffic directly between ports, or with special slave devices: the switches are then located between the network master and the slave devices. The special slave device (remember standard slave devices don't have a MAC address) assembly attached to one switch port together forms an EtherCAT segment, which is either addressed via its MAC address or via port based VLANs
Since 100BASE-TX Ethernet physical layer is used, the distance between any two nodes can be up to 100 m (300 ft). Up to 65535 devices can be connected per segment.
If an EtherCAT network is wired in ring configuration (requires two ports on the master device), it can provide cable redundancy.
For synchronization a distributed clock mechanism is applied, which leads to very low jitters of significantly less than 1 µs even if the communication cycle jitters, which is equivalent to the IEEE 1588 Precision Time Protocol
standard. Therefore EtherCAT does not require a special hardware in the master device and can be implemented in software on any standard Ethernet MAC, even without dedicated communication coprocessor.
The typical process of establishing a distributed clock is initiated by the master by sending a broadcast to all slaves to a certain address. Upon reception of this message, all slaves will latch the value of their internal clock twice, once when the message is received and once when it returns (remember EtherCAT has a ring topology). The master can then read all latched values and calculate the delay for each slave. This process can be repeated as many times as required to reduce jitter and average out values. Total delays are calculated for each slave depending on their position in the slave-ring and will be uploaded to an offset register. Finally the master issues a broadcast readwrite on the system clock, which will make the first slave the reference clock and forcing all other slaves to set their internal clock appropriately with the now known offset.
To keep the clocks synchronised after initialization, the master or slave must regularly send out the broadcast again to counter any effects of speed difference between the internal clocks of each slave. Each slave should adjust the speed of their internal clock or implement an internal correction mechanism whenever they have to adjust.
The system clock is specified as a 64 bit counter with a base unit of 1 ns starting at January 1st 2000, 0:00.
The device profiles describe the application parameters and the functional behaviour of the devices including the device class-specific state machines. For many device classes, fieldbus technology already offers reliable device profiles, for example for I/O devices, drives or valves. EtherCAT supports both the CANopen device profile family as well as the drive profile standardized in IEC61491, which is known as the Sercos drive profile. Since the application view does not change when migrating from CANopen or Sercos, this assists users and device manufacturers alike.
For integration of existing fieldbus components (e.g., CANopen
) into EtherCAT networks gateway devices are available. Also other Ethernet protocols can be used in conjunction with EtherCAT: The Ethernet frames are tunneled via the EtherCAT protocol, which is the standard approach for internet applications (e.g. VPN
(DSL) etc.). The EtherCAT network is fully transparent for the Ethernet device, and the real-time characteristics are not impaired since the master dictates exactly when the tunneled transfers are to occur and how much capacity of the 100Mb/s media the tunneled protocols can use. All internet technologies can therefore also be used in the EtherCAT environment: integrated web server, e-mail, FTP transfer etc.
Master can be implemented in software on any standard Ethernet
MAC. Several vendors supply code for different operating systems. There are also several Open Source projects. For slave devices special EtherCAT slave controller chips are required in order to perform the "processing on the fly" principle. EtherCAT slave controllers are available as code for different FPGAs and are also available as ASIC
EtherCAT Technology Group
The EtherCAT Technology Group (ETG) is international user and vendor organization headquartered in Nuremberg, Germany. It was founded in November 2003. As of April 2008, it has 732 member companies from 41 countries. The ETG considers itself to be a forum for end users from different sectors, and for machine manufacturers and suppliers of control technology with the aim of supporting and promoting EtherCAT. The ETG provides information about EtherCAT and its application, organizes technical training classes, has technical and marketing committees, and promotes EtherCAT on trade shows in major industrial markets.
The EtherCAT Technology Group as an official liaison partner of the IEC (International Electrotechnical Commission
) working groups for digital communication. The EtherCAT specification has been published as IEC/PAS 62407 in 2005. Integration into the latest editions of the international fieldbus standards IEC 61158 and IEC 61784-2 has taken place, as well as the integration in the drive profile standard IEC 61800-7. These IEC standards have been approved unanimously in September and October 2007 and are expected to be published as IS (International Standards) later this year. In IEC 61800-7, EtherCAT is a standardized communication technology for the SERCOS
drive profiles. EtherCAT is also part of ISO
15745-4, the standard for XML
device description. Furthermore, SEMI
has added EtherCAT to its standards portfolio (E54.20) and approved the technology for usage in semiconductor and flat panel display manufacturing equipment.
Typical application fields for EtherCAT are machine controls (e.g. semiconductor tools, metal forming, packaging, injection molding, assembly systems, printing machines, robotics).