||This article may require cleanup to meet Wikipedia's quality standards. (June 2009)|
EtherCAT - Ethernet for Control Automation Technology - 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.
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-telegrams, 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/IP 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 100Mbit/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 1, 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 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.
The protocol enhancement called Safety over EtherCAT enables safety-related communication and control communication on the same network. The safety protocol is based on the application layer of EtherCAT, without influencing the lower layers. It is certified according to IEC 61508 and meets the requirements of Safety Integrity Level (SIL) 3. Certified products using the Safety over EtherCAT protocol have been available since 2005.
For integration of existing fieldbus components (e.g., CANopen, DeviceNet, Profibus) 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, PPPoE (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 100Mbit/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 and shared source implementations. 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 FPGA types and are also available as ASIC implementations.
EtherCAT Technology Group
The EtherCAT Technology Group (ETG) is international user and vendor organization headquartered in Nuremberg (Germany). It was founded in November 2003 and has offices in Tokyo (Japan), Beijing (China), Seoul (Korea), and Austin, Tx (USA). As of June 2010, it has over 1350 member companies from 50 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 is an official liaison partner of the IEC (International Electrotechnical Commission) working groups for digital communication. The EtherCAT specification was published as IEC/PAS 62407 in 2005, which was removed end of 2007 since EtherCAT had been integrated into the international fieldbus standards IEC 61158 and IEC 61784-2 as well as into the drive profile standard IEC 61800-7. These IEC standards have been approved unanimously in September and October 2007 and were published as IS (International Standards) later that year. In IEC 61800-7, EtherCAT is a standardized communication technology for the SERCOS and CANopen 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. In April 2010, Edition 2 of IEC 61784-3 was accepted, which contains the Safety over EtherCAT Protocol. In September 2008, the EtherCAT Installation Profile was submitted to IEC 61784-5.
Typical application fields for EtherCAT are machine controls (e.g. semiconductor tools, metal forming, packaging, injection molding, assembly systems, printing machines, robotics).
- IEC 61508 Functional safety of electrical/electronic/programmable electronic safety-related systems
- IEC/PAS 62407 (Ed 1.0), Real-time Ethernet control automation technology (EtherCAT)
- IEC 61158-2 (Ed.4.0), Industrial communication networks - Fieldbus specifications - Part 2: Physical layer specification and service definition
- IEC 61158-3/4/5/6-12 (Ed.1.0), Industrial communication networks - Fieldbus specifications - Part 3-12: Data-link layer service definition - Part 4-12: Data-link layer protocol specification - Part 5-12: Application layer service definition - Part 6-12: Application layer protocol specification -Type 12 elements (EtherCAT)
- IEC 61784-2 (Ed.1.0), Industrial communication networks - Profiles - Part 2: Additional fieldbus profiles for real-time networks based on ISO/IEC 8802-3
- IEC 61800-7-301/304 (Ed.1.0), Adjustable speed electrical power drive systems - Part 7-301: Generic interface and use of profiles for power drive systems - Mapping of profile type 1 to network technologies - Part 7-304: Generic interface and use of profiles for power drive systems - Mapping of profile type 4 to network technologies
- ISO 15745-4:2003/Amd 2:2007, Industrial automation systems and integration -- Open systems application integration framework - Part 4: Reference description for Ethernet-based control systems
- SEMI E54.20-1108 - Standard for Sensor/Actuator Network Communications for EtherCAT
- IEC 61784-3 Industrial communication networks - Profiles - Part 3: Functional safety fieldbuses
- IEC 61784-5 Industrial communication networks - Profiles - Part 5: Installation of fieldbuses
- Büttner, H.; Janssen, D.; Rostan, M. (2003), "EtherCAT - the Ethernet fieldbus" (PDF), PC Control Magazine 3: 14–19
- Janssen, D.; Büttner, H. (2004), "Real-time Ethernet: the EtherCAT solution", Computing & Control Engineering Journal 15: 16–21
- Rostan, M. (2004), "High Speed Industrial Ethernet for Semiconductor Equipment" (PDF), SEMI Technical Symposium: Innovations in Semiconductor Manufacturing, San Francisco, CA, USA: SEMI
- Potra, S.; Sebestyen, G. (2006), "EtherCAT Protocol Implementation Issues on an Embedded Linux Platform", IEEE-TTTC International Conference on Automation, Quality and Testing, Robotics AQTR 2006, Cluj-Napora, Romania: IEEE, pp. 420–425
- Robertz, S. G.; Nilsson, K.; Henriksson, R.; Blomdell, A. (2007), "Industrial robot motion control with real-time Java and EtherCAT", 12th IEEE International Conference on Emerging Technologies and Factory Automation, Patras, Greece: IEEE
- Beckmann, G.; Sachs, J. (2007), "The safety solution for EtherCAT" (PDF), PC Control Magazine 1: 22–27
- Cena, Gianluca; Cibrario Bertolotti, Ivan; Scanzio, Stefano; Valenzano, Adriano; Zunino, Claudio (2010), "On the accuracy of the distributed clock mechanism in EtherCAT", Factory Communication Systems (WFCS), 2010 8th IEEE International Workshop on, Nancy, France: IEEE, pp. 43–52, doi:10.1109/WFCS.2010.5548638
- EtherCAT Technology Group
- Simple Open Ethercat Master, an open source library from T.U.Eindhoven
- Open Source EtherCAT Master for Linux/Real Time Kernel
- beckhoff.com - EtherCAT description
EtherCAT, Beckhoff and TwinCAT Forums on LinkedIn
- EtherCAT Group
- Beckhoff Automation Group
- TwinCAT Developers Group
- TwinCAT Service & Solution Providers Group
- TwinCAT Developers Jobs Group