EtherCAT Distributed Clocks

EtherCAT Distributed Clocks

Prinzip der Distributed Clocks

Bei EtherCAT wird zur Synchronisation der Slaves auf das Prinzip der verteilten Uhren, nachfolgend Distributed Clocks (DC), gesetzt. Hierfür ist es nötig, dass zunächst jeder Slave seine eigene lokale Zeit durch einen eigenen Taktgeber hat. Der erste DC-fähige Slave im Strang wird überlicherweise als Reference Clock gesetzt. Alle anderen Slaves synchronisieren sich von nun an auf diese Reference Clock. Hierfür sendet der Master regelmäßig ein Telegramm, in das der Slave welcher als Reference Clock dient seine Uhrzeit einträgt und alle anderen Slaves diese Uhrzeit auslesen.

Laufzeitbestimmungen

Sowohl die Slaves, als auch die Übertragungsstrecke sorgen für eine geringe Verzögerung des Telegramms auf dem Bus. Für eine exakte Synchronisation ist es nötig, dass diese Verzögerung bestimmt und bei der Synchronisierung berücksichtigt werden muss. Zur Bestimmung dieses Offsets sendet der Master in der Startphase ein bestimmtes Telegramm in das jeder Slave auf dem Hin- und auf dem Rückweg den Empfangszeitpunkt hineinschreibt. Hieraus kann der Master die Verzögerungen zwischen den einzelnen Slaves exakt bestimmen.

Neben der Reference Clock exisitiert im Netzwerk noch die Master Clock, welche den absoluten Bezug zur Realität darstellt. Diese kann zur Nachregelung der Reference Clock beim Systemstart, aber auch im Betrieb genutzt werden.

Somit werden folgende Effekte eliminiert:

  • Unterschiede zwischen den lokalen Zeiten der Slaves zur Reference Clock
  • Unterschiede von der Reference Clock zur Master Clock
  • Laufzeitunterschiede in Abhängigkeit von den Teilnehmer und dem Übertragungsmedium
  • Driften der einzelnen Slave Clocks durch kontinuierliche Driftkorrektur

Nutzung der Distributed Clocks

In der Regel verfügt der EtherCAT Slave Controller über zwei zeitgesteuerte Interrupts, SYNC0 und SYNC1. Somit ist es möglich auf eine vom Anwender vorgegebene Zeit einmalig zu reagieren oder zyklische Aktionen auszulösen. Solche Aktionen können zum Beispiel das gezielte Schreiben der Ausgangsdaten oder das Einlesen der Eingangsdaten sein. Somit würde sichergestellt, dass die Eingangsdaten aller Slaves vom gleichen Zeitpunkt stammen oder, dass die Ausgänge aller Slaves synchron gesetzt werden. Zur einfachen Konfiguration der Distributed Clocks empfiehlt sich ein grafisches Tool, wie den EtherCAT DeviceDesigner von emtas.