Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.10)
Für den EtherCAT- Master und die Slaves mit Distributed Clocks Unterstützung gibt es unterschiedliche Konfigurationsdialoge.
Hinweis | |
Achtung! Keine Plausibilitätskontrolle! Die aufgeführten Hinweise und Erläuterungen sollten mit Bedacht angewendet werden! |
Gültigkeit der nachstehenden Einstellungen Die gezeigten Einstellmöglichkeiten sind einem Beckhoff TwinCAT 2.10 Build 1320 entnommen. Neuere Ausgaben können eine abweichende Oberflächengestaltung aufweisen, die Verwendung bleibt aber sinngemäß die gleiche. |
Einstellungen des Masters
Jedes EtherCAT-Gerät im System Manager bietet in seinen Erweiterten Einstellungen Zugang zu den Distributed-Clocks-Einstellungen, falls EtherCAT-Slave in der Konfiguration präsent ist:
- Sync Slave
Wenn aktiviert, ist dieses EtherCAT-Gerät/dieser EtherCAT-Strang ein Sync-Slave zu einem anderen EtherCAT-Strang im selben PC, dem Sync Master - dieser enthält die Reference Clock und regelt die Echtzeit auf dem PC. Im Sync Slave EtherCAT-Strang gibt es keine Reference Clock. - Sync Master
Defaulteinstellung - dieses EtherCAT Gerät (hier: Gerät 1) regelt die PC Echtzeit; die Reference Clock liegt in diesem EtherCAT Strang und ist in diesem Beispiel der EtherCAT-Slave "Klemme 3", eine EL1502. - Shift Zeit (µs)
Das ist die automatisch vom System Manager berechnete Shift Zeit für alle EtherCAT-Slaves - in diesem Fall lösen alle lokalen Distributed Clocks in den EtherCAT-Slaves ihren SYNC 13,2 µs nach dem Echtzeit-Tick aus. Dies betrifft sowohl Slaves, die als Eingangsbaugruppe als auch Slaves, die als Ausgangsbaugruppe deklariert sind.
Der Anwender kann hier mit einem zusätzlichen Wert eingreifen und so die SYNC-Pulse um positive oder negative Werte verschieben. - Input Shift Zeit (µs)
Diese Shift Time betrifft nur Slaves, die als Eingangsbaugruppe deklariert sind (s. XML Device Description). Auch hier kann manuell verändert werden. - Show DC System Time (64 bit)
Wenn aktiviert, erscheint im Prozessabbild des EtherCAT-Masters die neue 64 Bit Eingangsvariable DcSysTime, s. Abb. Aktivierbare Eingangsvariable DcSysTime. Sie ist eine Kopie der Uhrzeit in der EtherCAT Reference Clock.
Genauigkeit der Variable DcSysTime Die Uhrzeit aus der Reference Clock wird ohne Anspruch auf gleichmäßige Abtastung gewonnen. Sie soll dem Anwender lediglich als grobe Orientierung dienen, in welchem Zeitbereich sich das EtherCAT-System gerade befindet. Sie wird zwar zyklisch abgetastet, der ermittelte Wert kann aber durch die "weiche" Abtastung um bis zu +/- 1 Zykluszeit jittern. |
Hinweis | |
Achtung! Keine Plausibilitätskontrolle! Die aufgeführten Hinweise und Erläuterungen sollten mit Bedacht angewendet werden! Falls in der entsprechenden Slave-Dokumentation nicht anders angeben, wird dringend davon abgeraten, die automatisch gesetzten Einstellungen zu verändern. |
Einstellungen der Slaves
Gültigkeit der nachstehenden Einstellungen Anhand der Klemme EL1202-0100 soll stellvertretend die DC-Funktionalität erläutert werden. Jeder EtherCAT-Slave mit Distributed Clocks Unterstützung nutzt dieses Feature auf individuelle Weise und wird daher in den zugehörigen Dokumentationen entsprechend beschrieben. |
Hinweis | |
Achtung! Keine Plausibilitätskontrolle! Die aufgeführten Hinweise und Erläuterungen sollten mit Bedacht angewendet werden! |
Karteireiter "DC"
Falls ein EtherCAT-Slave die Distributed Clocks unterstützt, erscheint ein Reiter "DC" für die Parametrierung. Wenn ein EtherCAT-Slave mehrere Betriebsarten/Operation Modi anbietet, kann dieser hier ausgewählt werden. Die EL1202-0100 z. B. kann nur in einer Betriebsart benutzt werden, weshalb hier keine Auswahl möglich ist.
Über den Button "Advanced Settings" gelangen Sie in einen erweiterten Distributed Clocks Dialog:
In Abb. Dialog Distributed Clocks im EtherCAT-Slave ist die Grundseite eines jeden EtherCAT-Slave mit Distributed Clocks zu sehen (TwinCAT 2.10, build 1320):
- Betriebsart
Gleiche Funktionalität wie im übergeordneten Dialog. - Zyklischer Modus/Enable
Schaltet Distributed Clocks an. - Sync Unit Zyklus (µs)
Grundzyklus im EtherCAT-Slave - entspricht der EtherCAT Zykluszeit, die diesen EtherCAT-Slave gerade behandelt. In diesem Beispiel fragt eine Task mit 4 ms Zykluszeit (4000 µs) diese EL1202-0100 ab. Werden mehrere Tasks mit unterschiedlichen Zykluszeiten auf einem EtherCAT-Strang betrieben, steht hier nur die Zykluszeit der Task, die mit dem gerade betrachteten Slave im Prozessdatenaustausch steht. Sind mehrere Tasks auf einen Slave angesetzt, steht hier die schnellste Taskzykluszeit.
Es folgen nun 2 Abschnitte, um jeweils die beiden durch die Distributed Clocks Einheit im ESC erzeugten Interrupt-Signale näher zu spezifizieren.
- Enable SYNC0
Aktiviert das SYNC0-Signal. - SYNC0 - Zyklus Cycle Time
Hier kann ein Mehrfaches oder ein Bruchteil des o.a. Grundzyklus eingestellt werden. Das Ergebnis erscheint im Fenster darunter (hier: 4000 µs bei Faktor 1). In diesen Abständen wird das SYNC0-Signal vom ESC generiert, wenn der SYNC0 bzw. Distributed Clock überhaupt aktiviert sind. - Anwenderdefiniert
Alternativ ist ein beliebiger Wert einzugeben. - Shift Time
Wie bereits in der allgemeinen Einführung zu Distributed Clocks besprochen, kann der SYNC-Puls eines EtherCAT-Slave um eine konstante Zeit vor oder zurück verschoben werden (S0 User Shift Time). Die EL1202-0100 ist den Eingabebaugruppen zugeordnet weshalb hier das - Based on Input Reference
aus der globalen Distributed Clocks Einstellung des EtherCAT-Masters auf diesen Slave angewendet wird. Sowohl - User defined als auch das
- Mehrfache der SYNC0 Cycletime sind standardmäßig 0. Somit addieren sich die Zeitkomponenten in dieser EL1202-0100 in diesem Beispiel zur
- Gesamt-Shift-Time des SYNC0 von -13,7 µs.
Ein etwas reduzierter Dialog steht für die Einstellung des SYNC1- Signals zur Verfügung:
- Enable SYNC1
Aktiviert das SYNC1-Signal. - SYNC1 - Zyklus Cycle Time
Die SYNC1-Cycletime kann entweder aus einem Mehrfachen/einem Bruchteil des Grundzyklus oder der SYNC0-Zykluszeit abgeleitet sein. - Shift Zeit (µs)
Hier kann manuell eine konstante Verschiebezeit in µs zwischen SYNC0- und SYNC1-Signal eingetragen werden.
Zusammenhang zwischen SYNC0 und SYNC1 Im Gegensatz zum SYNC0-Signal ist das SYNC1-Signal kein völlig unabhängiger Interrupt, wie schon an den reduzierten und anderslautenden Eigenschaftsdialogen erkennbar ist. Weitere Erläuterungen dazu finden Sie unter www.ethercat.org z. B. bei den Spezifikationen der ESC. |
Hinweis | |
Achtung! Keine Plausibilitätskontrolle! Die aufgeführten Hinweise und Erläuterungen sollten mit Bedacht angewendet werden! |
Zeitbezogene Zusammenarbeit mit anderen Klemmen
Zum Abschluss dieser Einführung soll noch ein weiteres Beispiel aufgeführt werden, wie die Distributed Clocks in einem EtherCAT-System eingesetzt werden können.
Es bestehe die Aufgabe, einen analogen Eingangswert im Bereich +/- 10 V in einem Abstand von 50 µs in einem exakten Abstand abzutasten und zur Steuerung zu übertragen, s. Abb. Anwendungsbeispiel einer manuellen Shift Zeit auf SYNC0.
Im Beispiel wird eine entsprechend schnelle analoge Eingabebaugruppe (z. B. Beckhoff EL3702) zusammen mit einer EtherCAT Zykluszeit von 50 µs verwendet. Außerdem soll hier eine andere analoge Eingabebaugruppe verwendet werden, die nur eine Analog/Digital-Wandlungszeit von 60 µs hat. Damit ist eine EtherCAT Zykluszeit von 50 µs nicht sinnvoll.
Hier bietet sich folgender Lösungsweg an: 2 solcher Eingabebaugruppen werden direkt nebeneinander betrieben (hier als "Term x" und "Term x+1" bezeichnet) und mit demselben Eingangssignal beaufschlagt. Die Zykluszeit sei 100 µs (A1 bis B1), somit hat jede Eingabebaugruppe ausreichend Zeit (100 µs > 60 µs) um den analogen Eingangswert zu wandeln. Ausgelöst wird das Wandeln vom SYNC0-Signal in den Eingabebaugruppen in einem Abstand von 100 µs, standardmäßig zum Zeitpunkt A2, B2 usw.. Dazu wird "Term x" betrachtet: zum Zeitpunkt A2 löst das SYNC-Signal das Wandeln der Eingangswerte aus (der Analog/Digital-Konverter wird gestartet). Die Vorlaufzeit (A2 bis A4) ist so bemessen, dass ausreichend Zeit für Wandlung und Datenbereitstellung im Slave besteht, bis zum Zeitpunkt A4 der Slave "Term x" seine Eingangsdaten in den passierenden Ethernet-Frame einkoppelt. Zum Zeitpunkt A6 ist der Frame wieder am Master angekommen - die nächste Datenverarbeitung beginnt dann zum Zeitpunkt B1.
Um zur gewünschten Zeitauflösung von 50 µs zu gelangen, wird in der zweiten Eingabebaugruppe manuell vom Anwender eine konstante User Shift Zeit von 50 µs auf das SYNC0-Signal eingetragen, wie in den o.a. Dialogen gezeigt. Damit wandelt "Term x+1" seine Eingangssignale immer um 50 µs nach "Term x" zum Zeitpunkt A7, B7. usw. Entsprechend koppelt dann "Term x+1" seine zum Zeitpunkt A7 ermittelten Daten zum Zeitpunkt B5 in den Ethernet Frame ein - kurz nach B4, weil in diesem Beispiel "Term x+1" nach "Term x" angeordnet ist.
Anmerkung: über die Position der Daten im Ethernet Frame sagt Abb. Anwendungsbeispiel einer manuellen Shift Zeit auf SYNC0 nichts aus - nach rechts ist nur die Zeitachse dargestellt!
Damit wandeln beide Eingabebaugruppen zyklisch alle 100 µs, aber mit einem konstanten Versatz von 50 µs den Eingangswert mit einer Abweichung von < 100 ns. Die entstehenden Prozessdaten müssen nun vom Anwender im PLC-Programm in der zeitlich richtigen Reihenfolge interpretiert werden. Die entsprechenden Klemmen können dies durch einen Zeitstempel des Prozessdatums unterstützen, wie in der jeweiligen Dokumentation angeben.