EtherCAT Distributed Clocks - Standardeinstellung
Allgemeines
Die Distributed -Clocks-Technologie im EtherCAT-System ermöglicht den synchronisierten Betrieb von lokalen Uhren in allen EtherCAT-Teilnehmern (Master + Slaves). Unterstützt ein EtherCAT-Slave Distributed Clocks (DC), liegt in seinem ESC (EtherCAT Slave Controller) eine Hardware-implementierte Uhr mit einem Umfang von 64 Bit (seltener: nur 32 Bit) und einer Auflösung von 1 Bit = 1 ns vor. Mithilfe dieser lokalen Uhr können nun synchron Ausgaben oder Datenerfassungen (z. B. analoger Eingang) vorgenommen werden. Ein EtherCAT Slave kann, muss aber nicht DC unterstützen. Ein Mischbetrieb im EtherCAT System ist möglich solange der EtherCAT Master DC unterstützt.
Ein Teilnehmer ist dabei die Referenzuhr, alle anderen DC-fähigen Teilnehmer werden dieser Uhr fortlaufend mit einer Genauigkeit von üblicherweise <100 ns Abweichung nachsynchronisiert. Das Synchronisierungsverfahren und die Kommunikationsweise von EtherCAT bedingen, dass der erste DC-fähige Slave im System die Referenzuhr darstellt ("M" in Abb. Topologie eines EtherCAT-System mit DC-fähigen Teilnehmern). Die nachfolgenden Slaves erhalten zyklisch über ein spezielles Telegramm Information über den Stand der Referenzuhr und können sich dieser Zeit nachregeln.
Daten über den Nachregelungsprozess sind wichtige Diagnoseinformation über den Zustand des Distributed-Clocks-Systems.
Die grundsätzlichen topologieabhängigen Berechnungen, die Einregelung beim EtherCAT-Start und die fortlaufende Synchronisierung obliegen dabei dem EtherCAT-Master TwinCAT. Die Einstellungen dazu werden in den Dialogen im System Manager Konfigurator vorgenommen.
Weitere Hinweise und detaillierte Informationen über das Distributed-Clocks-System sind entsprechenden Kapiteln zu entnehmen.
Distributed Clocks in Betrieb Das Distributed-Clock-System wird beim EtherCAT-Hochlauf im Übergang von PREOP nach OP einsynchronisiert, dann werden die Slaves in OP-State gesetzt. In DC-fähigen Slaves ist meist die einwandfreie Synchronisierung im OP-State von Bedeutung, sonst gehen die Slaves eigenständig in den PREOP-State zurück. TwinCAT 2.11 kann solche Teilnehmer wieder einsynchronisieren und in OP setzen. |
Standardeinstellungen EtherCAT Master
Wirksamkeit von Änderungen Das Distributed-Clock-System wird beim EtherCAT-Hochlauf analysiert und berechnet. Einstellungsänderungen in diesem System erfordern also zum Wirksamwerden immer eine Aktivierung der geänderten Konfiguration und einen EtherCAT-Neustart. |
Das Distributed-Clocks-System (DC) wird standardmäßig so berechnet, dass die üblichen I/O-Konfigurationen damit stabil lauffähig sind. Dennoch kann unter Benutzung der geg. Diagnosemittel eine Korrektur der Einstellung bei der Maschineninbetriebnahme geboten sein.
Standardmäßig ist die "Automatic DC mode selection" in Betrieb. Nur wenn explizit Änderungen an der automatischen Konfiguration vorgenommen werden sollen, ist "DC in use" auszuwählen.
Element | Detail | Erklärung | Auswirkungen |
---|---|---|---|
DC mode | Automatic DC mode selection | Standardeinstellung, automatische Auswahl der ReferenceClock |
|
| DC in use | Auswahl der ReferenceClock (s. nachfolgenden Absatz) und Synchronisierungsrichtung (s. Kapitel "Kopplung von EtherCAT") kann manuell vorgenommen werden. Ist nur ein EtherCAT-Device in der Konfiguration vorhanden und werden DC-Slaves genutzt, ist hier "Independent DC Time" zu nutzen (Ausnahme: externe Synchronisierung). | Diese Einstellungen sind mit Vorsicht zu verändern! Die Stabilität des Gesamtsystem kann beeinträchtigt werden. |
Settings | Continuous Runtime Measuring | zyklisch werden während der Laufzeit die zeitlichen Abständen zwischen den Teilnehmern vermessen. Dieser Prozess findet auch bei EtherCAT Start statt. | Für neue Anwendungen unter TwinCAT 2.11 wird eine Deaktivierung dieser Funktion empfohlen. |
| Sync Window Monitoring | Wenn aktiviert, wird im EtherCAT DevState in Bit 12 angezeigt, ob alle DC-Teilnehmer ihre lokalen Uhren innerhalb des angegebenen Fensters halten (s. Abb. DevState mit Anzeige SyncWindow Monitoring). Dafür wird ein zyklisches BRD-Kommando auf x092C (Systemzeit Differenz) verwendet. |
|
| Show DC System Time (64 bit) | Wenn aktiviert, wird in den Eingängen des EtherCAT Master die aktuelle DC-Zeit als Kopie aus der Masterclock angezeigt. Da der Auslesevorgang dem Feldbustransport unterliegt, sollte zur Gewinnung der aktuellen DC-Systemzeit PLC-Bausteinen der Vorzug gegeben werden. (s. Abb. “Anzeige „DcSysTime“ im TwinCAT-Baum“) |
|
Element | Detail | Erklärung | Auswirkungen |
---|---|---|---|
SYNC Shift Time |
| Es werden die automatisch berechneten Shift-Zeiten für Inputs und Outputs gezeigt (graue Felder). Zusätzlich können die Slave-lokalen Shift-Ereignisse durch manuelle Einträge verschoben werden. Hinweise dazu im allgemeinen DistributedClock-Kapitel. | Ggf. sind Ergebnisse aus der DC-Diagnose hier einzubringen. Im allgemeinen kann bei Synchronisierungsproblemen hier für die Outputs +10..20% der Zykluszeit, für Inputs -10..20% der Zykluszeit als Anhaltswert eingegeben werden (Einheit: µs). Werte >100% der Zykluszeit sind nicht sinnvoll. |
Auswahl der Reference Clock
Eine manuelle Auswahl der Reference Clock dieses EtherCAT Systems ist mit Bedacht vorzunehmen! Im Allgemeinen wählt TwinCAT den richtigen, nämlich den ersten DC-unterstützenden Slave aus.
Wird ein anderer Slave manuell ausgewählt
- muss dieser entweder DC ausdrücklich unterstützen (DC-Reiter ist im Slave angezeigt):
- oder manuell mit
in den erweiterten Slave-Eistellungen markiert werden
Potential Reference clock Wird ein Slave als "potential Reference Clock" markiert, der dies hardwaretechnisch nicht unterstützt, fehlt dem EtherCAT System nach dem Hochlauf die Referenzuhr. Die Slaves werden nicht in den OP-State wechseln und PREOP_ERR melden. TwinCAT prüft ab Version 2.11R2 build 2032 bei jedem Hochlauf, ob die ausgewählte ReferenceClock diese Funktion auch unterstützt. Es erscheint die Logger-Meldung "slave xx is reference clock device, but does not support dc!" (s. Abb. „Event-Logger Meldung: Fehlende Unterstützung Referenzuhr“) Im Logger Fenster gibt TwinCAT 2.11R2 außerdem ab build 2028 eine Meldung "DC not synchronized" aus, wenn ein Slave nicht vom PREOP in den OP gesetzt werden kann, weil er nicht synchronisiert wird. (s. Abb. „Event-Logger Meldung: Keine Synchronisation“) |
Standardeinstellungen EtherCAT Slave
In den erweiterten Einstellungen eines EtherCAT Slave sind die Distributed Clocks Einstellungen zu finden.
Wenn der Slave herstellerseitig für DC-Betrieb vorgesehen ist, bringt er einen derartigen "Operation Mode" mit, s. Abb. Default Slave Einstellung - Slave ohne und mit DC-Fähigkeit unten. Die Auswahl dieses Operation Modes aktiviert die Integration des Slaves in den masterseitigen Synchronisierungsmechanismus.
Aktivierung Distributed Clock Werden die Einstellungen "Enable" und "Use as potential Reference Clock" aktiviert, ohne dass das Gerät dies unterstützt, kann es zu Fehlverhalten des Systems kommen. |
Einstellungen Slave Shift Time Wie in den Master-Einstellungen für alle Slaves, können in den einzelnen DC-Slaves noch gesondert die SYNC-Zeiten verschoben werden. |
Prüfung DC-Unterstützung
EtherCAT Slaves mit DC-Funktion werden
- im Übergang SAFEOP-->PREOP mit der DC-Konfiguration geladen.
- im Übergang SAFEOP-->OP synchronisiert.
Kommt es in den entsprechenden Phasen zu Problemen durch falsche Konfiguration, werden die Ziel-States nicht erreicht und im Loggerfenster des System Manager sind entsprechende Hinweise zu finden (z. B. "DC invalid sync cfg")
Soll überprüft werden, ob ein Gerät und in welchem Umfang es Distributed Clocks unterstützt, können die lokalen Uhrzeitregister online angezeigt werden. In der Online-Anzeige wird durch Rechtsklick auf den freien Bereich der Properties-Dialog aufgerufen.
Es sind in diesem Fall die 4 Register 0x0910 bis 0x0916 auszuwählen. In diesen 2-Byte-Registern läuft die lokale DC-Uhr. Sie können (wie einige andere) der Slave-Register vom System Manager online zyklisch ausgelesen werden.
Die Registerwerte werden eingeblendet und vom System Manager automatisch aktualisiert.
In Abb. Anzeige DC-Registerwerte sind zu sehen
- Slaves mit 64 Bit DC Unterstützung (hier grün hinterlegt)
- Slaves ohne DC-Unterstützung (hier rot hinterlegt)
- Slaves mit 32 Bit DC-Unterstützung (hier gelb hinterlegt)
32 Bit decken ca. 4.2 Sekunden ab. Dies ist für die Synchronisierung des DC-Systems ausreichend. Hinweise zum Rechnen mit 32/64 Bit Zeiten in der PLC siehe im entsprechenden Kapitel.
Aktualität Online-Anzeige Die angezeigten Werte werden vom System Manager ohne Anspruch auf Echtzeit und Durchgängigkeit ausgelesen und angezeigt. Sie haben informativen Charakter und können einen ersten Überblick geben. Der Auslesevorgang benötigt Kapazität in der azyklischen EtherCAT Kommunikation - dies kann zu Lasten anderer Anwendungen gehen. |