Zur Synchronisation lokaler Uhren in den EtherCAT-Komponenten wird beim EtherCAT-System das Distributed-Clocks- Konzept (DC) genutzt. Bei einer Maschinensteuerung mit verteilten Komponenten (I/Os, Antriebe, mehrere Master) kann es notwendig werden, die Komponenten zeitlich eng miteinander zu verknüpfen. Alle Komponenten müssen in diesem Fall eine lokale „Zeit“ bekommen, auf die jede Komponente (z. B. ein I/O-Terminal) jederzeit zugreifen kann.
Die Messung eines Signals zu einem bestimmten Zeitpunkt kann in Bezug auf ein anderes Signal zum gleichen Zeitpunkt ausgewertet werden, aber dafür ist für diese Daten- oder Messwert-Erfassungen ein gemeinsames Synchronisationsschema zwingend erforderlich.
Neben der lokalen Synchronisation einiger Produktionslinien mit der gleichen Quelle kann auch an den Schnittstellen einer Produktionslinie gearbeitet werden. Die bestimmende Uhr wird in solchen Fällen als „Großmeister-Uhr“ („Grandmaster clock“) oder externe Zeituhr bezeichnet. In der Regel werden für die Synchronisation gängige Synchronisationsprotokolle verwendet. Zum Beispiel:
- Quellen: UTC-Weltzeit, Netzwerkzeit, angrenzendes Steuerungssystem, Funkuhren (in Mitteleuropa: DCF77)
- Verfahren: GPS, Funkuhren, NTP (NetworkTimeProtocol), SNTP (Simple NTP), PTP (IEEE1588), verteilte Uhren (Distributed Clocks) DC
Im Allgemeinen kann die Genauigkeit der Synchronisation die folgenden Werte erreichen (abhängig von der verwendeten Hardware):
- NTP/SNTP ~ ms-Bereich
- PTP < 1 µs
- DC < 100 ns
Das Verfahren der DC-Initialisierung bei externer Synchronisation lässt sich wie folgt beschreiben: Berechnung von Laufzeitverzögerung, Systemzeitversatz und Driftkompensation.
Im Falle einer externen Synchronisation fragt der Master das Gerät periodisch mit der externen Uhr ab. Sobald das Gerät antwortet, dass es Daten empfangen hat (durch Setzen eines bestimmten Bits), empfängt der Master die Uhrzeit der externen Uhr und stellt dann die Referenzuhr (im Bild als M gekennzeichnet) entsprechend dem empfangenen Wert ein.
Das folgende Bild zeigt die Übertragung der Referenzuhrzeit durch die übrigen DC-Slaves (gekennzeichnet mit „S“).
Um die richtige DC-Synchronisation für mehrere Master zu konfigurieren (die Multimaster-Funktionalität), sollte einer von ihnen mit dem Slave synchronisiert werden (den Slave als Referenzuhr einstellen). Die restlichen Master arbeiten im Modus „Externe Synchronisation“ mit dem „Master“ als externes Synchronisationsgerät.
Synchronisation per IEEE 1588
Die Großmeister-Uhr ist eine externe Uhr, die das IEEE1588-Protokoll unterstützt. Dieses Protokoll definiert Mechanismen zur Synchronisation von Geräten in einem Standard-Ethernet-Netzwerk.
Der Steueralgorithmus zur Berechnung der Zeitdifferenzen zwischen der DC-Referenzuhr und dem Großmeister kann innerhalb des Masters oder in einem speziellen Slave implementiert werden (z. B. BECKHOFF EL6688: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
Hinweis: Derzeit unterstützt der KPA EtherCAT Master die externe Synchronisation nur über ein spezielles Gerät.
1588 Telegramme werden an einem älteren Ethernet-Port (implementiert im Gerät: EL6688) mit einem hochpräzisen Zeitstempel im Slave zwischengespeichert. Dieser externe Zeitstempel kann mit der hochgenauen DC-Systemzeit (1) verglichen werden. Das Ergebnis ist ein TimeControlValue, der die Informationen enthält, ob die DC-Zeit zu schnell oder zu langsam läuft. Dieser TimeControlValue wird an den Master (2) gesendet, der die DC- Referenztaktgeber im Bus (3) einstellen kann.
Synchronisation mit Bridge-Gerät
Die externe Synchronisation zweier oder mehrerer EtherCAT-Produktionslinien kann über Bridge-Geräte realisiert werden. (z.B. BECKHOFF EL6692: http://www.beckhoff.de/english.asp?ethercat/el6692.htm).
Das Bridge-Gerät verfügt über 2 ESC: Der primäre Port (1st ESC) ist mit dem 1. EtherCAT-Bus verbunden, der sekundäre Port (2nd ESC) mit dem 2. EtherCAT-Bus. Die Bridge kann intern die Zeitdifferenzen (1) berechnen und bietet dem Master (2) von der Sekundärseite den Parameter „TimControlValue“ (Zeitdifferenzen zwischen 2 EtherCAT-Bussen) an (die Primärseite arbeitet dabei wie gewohnt, also wie eine einfache DC-Synchronisation innerhalb des EtherCAT-Busses). Der Master kann dadurch die Zeit der Referenzuhr (3) einstellen.