Interne und externe EtherCAT Synchronisierung

In einer Maschinensteuerung mit verteilten Komponenten (I/O, Antrieben, div. Mastern) kann es zweckmäßig sein, dass die Komponenten in engem zeitlichen Bezug zueinander arbeiten. In den Komponenten muss also lokal eine "Uhrzeit" vorhanden sein, auf die die Komponente (z. B. eine I/O-Klemme) jederzeit Zugriff hat.


Solche Anforderungen können sein:

  1. Mehrere Ausgänge in einer Steuerung müssen gleichzeitig gesetzt werden, unabhängig davon wann die betreffende Station die Ausgangsdaten bekommt.
  2. Antriebe/Achsen in einer Steuerung müssen synchron ihre Achsposition einlesen, unabhängig von der Topologie oder Zykluszeit.

    Beide Anforderungen bedeuten, dass ein Synchronisierungsmechanismus zwischen den lokalen Uhrzeiten der Komponenten einer Steuerung besteht.
  3. Wenn Eingänge auf die Steuerung einwirken, muss die (absolute) Zeit festgehalten werden - dies kann zur späteren Analyse hilfreich sein, wenn durch Analyse der Abfolge von Ereignissen Wirkungsketten nachvollzogen werden müssen.
    Dies bedeutet, dass die in den Komponenten laufende Uhrzeit an eine global gültige Zeit, z. B. die Weltzeit nach Greenwich oder eine Netzwerkuhr, angekoppelt sein muss.
  4. Tasks auf verschiedenen Steuerungen sollen synchron und ohne Phasenverschiebung laufen.

Die Begriffe "enger zeitl. Bezug" oder "gleichzeitig" können je nach Anforderung quantitativ umgesetzt werden: für einen "Gleichzeitigkeit" im 10 ms Bereich kann eine serielle Kommunikationsstruktur ausreichend sein, in manchen Bereichen sind hier 100 ns und weniger gefordert.

Interne und externe EtherCAT Synchronisierung 1:
Einfache I/O-Topologie

In Abb. Einfache I/O-Topologie ist eine einfache EtherCAT-Topologie dargestellt, bestehend aus Master, diversen E/A und einer Achse. In verschiedenen Komponenten solle nun eine lokale Uhrzeit betrieben werden. Die Aufgaben
- Synchronisierung der lokalen Uhren
- Ankopplung an einer übergeordneten Referenzzeit
- Tasksynchronisierung

werden im Folgenden besprochen.

Anforderung 1 + 2: Synchronisierung

In einem EtherCAT-System wird das Distributed-Clocks-Konzept (DC) zur Synchronisierung der lokalen Uhren in den EtherCAT-Komponenten benutzt. Weitere Angaben dazu siehe die separate Dokumentation.

Synchronisierung der lokalen EtherCAT-Teilnehmer

Allgemein:

Zum Master:

Zum Slave:

Interne und externe EtherCAT Synchronisierung 2:
Abbildung DC auf die Topologie

In Abb. Abbildung DC auf die Topologie wurde beispielhaft der 3. EtherCAT-Slave als DC-Reference-Clock ausgewählt - nach dessen lokaler Uhrzeit werden nun alle anderen Ausprägungen der verteilten Uhren nachgeregelt, also alle anderen EtherCAT-Slaves und die Uhr im EtherCAT-Master. Dies geschieht durch Synchronisierungsdatagramme, die der EtherCAT-Master zyklisch verschickt.

Durch dieses Verfahren ist gewährleistet, dass in allen DC-unterstützenden Teilnehmern jederzeit lokal auf eine Uhrzeit zurückgegriffen werden kann, die im Rahmen der DC-Synchronisierungsgenauigkeit in allen Teilnehmern gleich ist.

Das System arbeitet nun auf Basis der Zeitbasis der ausgewählten DC-Reference-Clock bzw. deren lokalem Taktgeber/Quarz mit TDC. Diese Zeitbasis wird durch Produktions-/Fertigungsschwankungen kaum jemals gleich der amtlichen Sternzeit/koordinierte Weltzeit UTC TUTC oder einer anderen Referenzzeit sein. Das bedeutet, 1 msUTC entspricht nie exakt 1 msDC, TDC≠ TUTC. Über längere Zeiträume können auch Driftvorgänge das Verhältnis verändern. Solange DC für relative Vorgänge innerhalb des EtherCAT-Systems verwendet wird, spielt diese Abweichung von der UTC keine Rolle. Soll die DC-Zeit z. B. für Datenlogging mit globalem Zeitmaßstab verwendet werden, muss die ZeitbasisDC zur ZeitbasisUTC synchronisiert werden. Dies wird im Kapitel der Anforderung 3 beschrieben.

Anforderung 3: übergeordnete Globalzeit - Absolutzeit

Soll die Zeitbasis TDC einer übergeordneten Zeitbasis nachgeregelt werden, ist dazu die Zeitbasis und das Verfahren zu wählen. Üblicherweise werden gängige Synchronisationsprotokolle zur Synchronisation verwendet, Zeitquellen und Synchronisationsverfahren können sein

Erreichbare Synchronisationsgenauigkeiten liegen dabei (je nach Hardware) bei

Dabei sind die folgenden beiden Regelungsziele zu erreichen:

Interne und externe EtherCAT Synchronisierung 3:

Externe EtherCAT-Synchronisation

Externe Synchronisationsquellen (EL6688, EL6692 u.a.) können erst ab TwinCAT 2.11 verwendet werden. In früheren Versionen von TwinCAT haben solche EtherCAT-Slaves keine sinnvolle Funktion.

Wird eine übergeordnete Master-Clock in ein EtherCAT-System eingebunden, wird dazu üblicherweise ein spezieller EtherCAT-Teilnehmer für den physikalischen Anschluss verwendet. Dieser kann, da er beide Zeitbasen beobachtet, die Zeitdifferenz ermitteln.

Bitte informieren Sie sich unter www.beckhoff.de über die für diesen Zweck geeigneten aktuell verfügbaren Produkte.

Interne und externe EtherCAT Synchronisierung 4:
EtherCAT-Topologie mit externer Referenz-Clock

Die unterschiedlichen Zeitbasen lassen sich hierarchisch anordnen - beim Start des jeweiligen Systems wird die aktuelle absolute Zeit vom jeweils unterlagerten System übernommen, ggf. wird eine Synchronisierung Top-Down wirksam, falls externe Zeitbasis bzw. DC-Komponenten im System vorhanden sind.

Nachregelung Lokalzeit vs. übergeordnete Absolutzeit

Die lokale DC-Zeit wird im Synchronisierungsfall nicht der übergeordneten Absolutzeit vollständig angeglichen, sondern nur auf einen konstanten Offset nachgeregelt. Dem Anwender wird dieser Offset als Prozessdatum zur Verfügung gestellt. Dabei wird der Offset um ±½ Zykluszeit korrigiert, damit beide Tasks in Phase laufen.

Systemverhalten TwinCAT

Ausfall der externen Referenzclock

Fällt das Signal der externen Referenzclock aus, driften naturgemäß beide Zeitbasen wieder auseinander. Setzt das Signal wieder ein, wird auf den bisherigen Offsetwert stetig zurückgeregelt.

TwinCAT kann auch ohne Signal der externen Uhr starten, beim erstmaligen stabilen Empfang der externen Referenzclock wird der Offset wie oben beschrieben berechnet und beibehalten.

Einstellungen in TwinCAT 2.11

Ab TwinCAT 2.11 wird die externe Synchronisierung über EtherCAT unterstützt. Im entsprechenden Dialog kann die Synchronisierungsrichtung eingestellt werden.

Einstellungen Distributed Clocks Timing

Interne und externe EtherCAT Synchronisierung 5:
TwinCAT 2.11 Distributed Clocks Settings - Beispiel für EL6688 im PTP-Slave-Modus als Zeitreferenz für das lokale EtherCAT-System

Einstellungen Prozessdaten

TwinCAT 2.11 kann in den EtherCAT-Master-Infodaten die aktuellen Offsets in [ns] anzuzeigen.

Beispiel: tEL1252 Zeitstempel Kanal 1, Absolute Zeit = tEL1252 Zeitstempel Kanal 1, lokale DC Zeit + tExtToDcOffset

Interne und externe EtherCAT Synchronisierung 6:
Anzeige aktueller Offsets
Interne und externe EtherCAT Synchronisierung 7:
Aktuelle Offsets