In an EtherCAT system the distributed clocks concept (DC) is used for synchronization of local clocks in the EtherCAT components. In a machine control with distributed components (I/O, drives, several masters) it may be useful for the components to operate with a close time link to each other. The components must therefore have a local “time”, to which the component (e.g. an I/O terminal) has access at all times.
Measurement of one signal at one point in time can be evaluated based on another signal at the same point in time, and thus, these acquisitions need some type of synchronization scheme.
Along with local synchronization of a few production lines with the same source can also be implemented in the boundaries of one production line. The leading clock in such cases is called Grandmaster clock or External Time Clock. Generally, common synchronization protocols are used for the synchronization. For example:
- Sources: UTC world time, network time, adjacent control system, radio clocks (in Central Europe: DCF77)
- Procedures: GPS, radio clocks, NTP (NetworkTimeProtocol), SNTP (Simple NTP), PTP (IEEE1588), distributed clocks DC
Generally, an accuracy of the synchronization may achieve the following values (depending on the hardware):
- NTP/SNTP~ms range
- PTP < 1 µs
- DC < 100 ns
The procedure of DC initialization in case of External synchronization does not differ from the procedure described earlier: calculating propagation delay, system time offset, and drift compensation.
In case of External synchronization, Master polls the device with External clock periodically. As soon as the device answers that it has received data (sets certain bit), Master receives time of External clock and then adjusts Reference clock (marked as M in the picture) in accordance with the received value.
The image below shows propagation of Reference Clock time through the rest of DC slaves (marked with “S”).
To configure proper DC synchronization for several Masters (the Multimaster functionality), one of them should be synchronized with slave (set the slave as a Reference clock). The rest of Masters would work in External synchronization mode with “Master” as an external synchronization device.
Synchronization using IEEE 1588
The Grandmaster clock is an external clock that supports IEEE1588 protocol. This protocol defines mechanisms to synchronize devices in a Standard Ethernet Network.
The control algorithm for calculation of time differences between DC Reference Clock and Grandmaster may be implemented within Master or within special slave (e.g. BECKHOFF EL6688: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
Note: Currently KPA EtherCAT Master supports external synchronization only through a special device.
1588 telegrams are latched at a legacy Ethernet port (implemented within device: EL6688) with a high precise timestamp in the slave. This external Timestamp can be compared to the high precise DC System Time (1). The result is a TimeControlValue that holds the information if the DC Time runs to fast or to slow. This TimeControlValue will be send to the Master (2) that can adjust the DC Reference Clock in the bus (3)
Synchronization using bridge device
External synchronization of two or more EtherCAT production lines may be implemented through Bridge devices. (e.g. BECKHOFF EL6692: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
The Bridge device has 2 ESC: the primary port (1st ESC) is connected to 1st EtherCAT bus, the secondary port (2nd ESC) to 2nd EtherCAT bus. The Bridge can internally calculate the time differences (1) and offers “TimControlValue” (time differences between 2 EtherCAT buses) to the Master (2) from secondary side (primary side is working as usual: like simple DC synchronization within EtherCAT bus). The Master can adjust the time of Reference Clock (3).