Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11)

Hinweis

Achtung! Keine Plausibilitätskontrolle!

Die aufgeführten Hinweise und Erläuterungen sollten mit Bedacht angewendet werden!
Die genannten Einstellungen werden vom EtherCAT-Master automatisch mit Werten belegt, die eine zuverlässige und aktuelle Prozessdatenerfassung unterstützen.
Anwenderseitige Eingriffe an dieser Stelle können zu unerwünschtem Verhalten führen!
Bei der Manipulation dieser Einstellungen im Beckhoff TwinCAT System Manager wird softwareseitig keine Plausibilitätskontrolle durchgeführt! Eine korrekte Funktion der EtherCAT-Slave in allen denkbaren Einstellungsvarianten kann nicht gewährleistet werden!

Falls in der entsprechenden Slave-Dokumentation nicht anders angeben, wird dringend davon abgeraten, die automatisch gesetzten Einstellungen zu verändern!

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 1:

Gültigkeit der nachstehenden Einstellungen

Die gezeigten Einstellmöglichkeiten sind einem Beckhoff TwinCAT 2.11 Build 1540 entnommen. Neuere Ausgaben können eine abweichende Oberflächengestaltung aufweisen, die Verwendung bleibt aber sinngemäß die gleiche.

Mit der Markteinführung von TwinCAT 2.11 stehen in System Manager und PLC neue Funktionen zur Verfügung, die die Inbetriebnahme von Distributed Clocks-Slaves (DC-Slaves) vereinfachen bzw. anschaulicher machen. Dies sind im

Im Rahmen von TwinCAT 2.10 in dieser Dokumentation getroffene Aussagen behalten ihre Gültigkeit.

System Manager - Anzeige Wirkzeitpunkt

Im System Manager ab TwinCAT 2.11 erlaubt eine optionale Anzeige die Onlineverrechnung, wann Ausgänge aus Sicht der Steuerung gesetzt werden bzw. von wann gelesene Eingänge stammen. Die nachfolgenden Informationen gelten ausschließlich für Distributed Clocks-Slaves.

Zum Grundverständnis wird hier ein vollständiger EtherCAT-Update-Zyklus an einem Beispiel erklärt - es wird im Beispiel ein digitaler Eingang eingelesen und auf einen digitalen Ausgang ausgegeben. In beiden Fällen handelt es um DC basierte Slaves, deshalb wird eine EL1202-0100 (Eingang, gelb) und eine EL2202-0100 (Ausgang, rot) verwendet.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 2:
Im Beispiel verwendete Topologie und Arbeitsprinzip

Einleitende Bemerkungen:

Neu in TwinCAT 2.11 ist die Möglichkeit, in der PLC den Zeitpunkt CurTaskTime durch Aufruf der Funktion F_GetCurDcTaskTime online zur Laufzeit zu ermitteln. Der Zeitpunkt, an dem der EtherCAT Frame beim ersten DC-fähigen Teilnehmer ankommt (Abb. Im Beispiel verwendete Topologie und Arbeitsprinzip, B), ist der zentrale Zeitpunkt, auf den das gesamte System geregelt wird. Er entspricht der CurTaskTime des vorangehendes Zyklus', das bedeutet: wird im PLC-Zyklus A die Funktion F_GetCurDcTaskTime aufgerufen, meldet sie die Zeit B zurück. Dieser Wert bleibt auch bei mehrmaliger Ermittlung innerhalb dieses Taskzyklus konstant. Aus der Sicht des ablaufenden PLC-Programms ist das der "Jetzt"-Zeitpunkt. Von diesem "Jetzt"-Standpunkt aus sieht die Steuerung

Die Zeiten x bzw. y sind bei einem einwandfreien und stabil laufenden EtherCAT-System mit Beckhoff TwinCAT EtherCAT-Master in jedem Zyklus konstant.

Diese Betrachtungsweise ist aber nur zulässig, da durch das DC-System exakt bestimmt wird, wann Eingangsdaten gelesen bzw. Ausgangsdaten ausgegeben werden und ist deshalb für Slaves ohne DC-Funktionalität (wie EL200x oder EL100x) nicht anwendbar.

In TwinCAT 2.11 stehen nun die Zeiten x und y als vorberechnete Werte im System Manager zur Verknüpfung mit der Steuerung zur Verfügung:

Hinweis

TwinCAT triggert auf Basis der internen Echtzeit die Task/NC/PLC/... Ziel der Regelung ist dabei, den (ersten) EtherCAT Frame immer im Zyklus-Abstand (z. B. 1 ms) am ersten DC-fähigen EtherCAT Slave ankommen zu lassen. Dies wird erschwert bzw. wird sogar unmöglich, falls die PLC/Task eine extrem ungleichmäßige/schwankende Ausführungszeit aufweist. Dann kommt es zu Synchronisierungsproblemen am Feldbus. Durch die TwinCAT Einstellung "percent of cycle time" kann hier entsprechender Puffer vorgehalten werden.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 3:
TwinCAT EtherCAT Master Einstellung, Abschnitt DistributedClocks

Die TwinCAT Echtzeitregelung versucht durch entsprechendes Triggern/Starten der PLC/NC/sonstige Task, trotz der evtl. schwanken Ausführungszeit

Beispiel

Betrachten wir die EL1202-0100 aus obigem Beispiel bei einer Zykluszeit von 100 µs (100.000 ns) in der Konfiguration.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 4:
Prozessdaten

Da so konfiguriert, informiert die Klemme im Online-Zustand über

Anmerkungen

Die EL1202-0100 ist eine Eingangsklemme und damit in der DC-Gruppe "InputBased" - sie arbeitet standardmäßig also im Gleichtakt mit allen DC-Eingangsbaugruppen, in Abb. Im Beispiel verwendete Topologien und Arbeitsprinzip die gelben Symbole. Außerdem verfügt sie nur über Eingangsvariablen. Besonders zweckmäßig ist also die Betrachtung des Wertes DcInputShift:
Aus Sicht des "Jetzt"-Zeitpunktes der Steuerung ist der Eingangswert Input=1 also 110.000 ns "alt".

Anmerkung: die EL1202-0100 gibt zusätzlich auch noch den exakten Latch-Zeitpunktes als Prozessdatum NextLatchTime an, ein Feature das nicht alle DC-Slaves unterstützen.

Ablauf an einem Beispiel

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 5:
EtherCAT Update (schematisch)

In diesem Beispiel soll der digitale Eingang B eingelesen und umgehend auf einem digitalen Ausgang J wieder ausgegeben werden. Wir folgen dem Ablauf (blau):

Die für den Anwender entscheidenden Vorgänge B und J können jederzeit durch die Angaben DcInputShift (M) und DcOutputShift (N) in Bezug zur Jetzt-Zeit (P) gesetzt werden.

Hinweis: Die Funktion SeparateInputUpdate hat derzeit (2015-06, TwinCAT 3.1 b4018) keine automatische Auswirkung auf die Berechnung der DcInputShift/DcOutoutShift. Im Anwendungsfall sollten manuell die (Input-) Shiftzeiten der betreffenden Klemmen angepasst werden.

Überprüfung der DC-Wirksamkeit aus der Steuerungssicht

Die o.a. Werte DcInputShift und DcOutputShift sind theoretische Werte die gültig sind, wenn das EtherCAT-System stabil läuft. Die Default-Einstellungen des System Manager sind so definiert, dass diese Werte in den allermeisten Fällen zuverlässig eingehalten werden.

Typische Gründe warum sie in der Applikation gelegentlich oder systematisch nicht eingehalten werden können sein:

Dennoch kann eine Überprüfung der tatsächlich erfolgten Lese/Schreiboperationen im Feld sinnvoll sein, z. B. bei der Inbetriebnahme, bei manueller DC-Optimierung von Slaves. Als Überprüfung wird empfohlen:

System Manager - Einstellungen Shiftzeit

Im Advanced-Dialog von EtherCAT-Master und Slave sind in Bezug auf die Shiftzeit sehr ähnliche Dialoge zu finden, weshalb sie hier zusammen besprochen werden.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 6:
Lokale Slave- Shiftzeit

Der Begriff "Shiftzeit" in den Einstellungsdialogen unterscheidet sich in der Bedeutung von dem o.a. DcInput/OutputShift, vergleichen Sie dazu Abb. EtherCAT Update (schematisch) und Lokale Slave- Shiftzeit!

Zur Einstellung gilt: effektive Shiftzeit = ShiftzeitMaster + ShiftZeitSlave

Im EtherCAT-Master :

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 7:
Einstellung EtherCAT-Master

U.a. auf der Basis der Zykluszeit hat TwinCAT hier die Gruppe der Ausgangs-Baugruppen aus der Sicht der CurTaskTime um 37.6 µs in die Zukunft verschoben, die Eingangs-Baugruppen werden dagegen 10 µs vor der CurTaskTime ihre Eingänge lesen. Diese beiden Zeiten entsprechen A/B aus Abb. Lokale Slave- Shiftzeit. Im Bedarfsfall können sie durch Zusatzeinträge modifiziert werden.

Im EtherCAT-Slave:

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 8:
Einstellung EtherCAT-Slave

Im Slave-Dialog erfolgt die Anzeige der Shifttime aus der (Default)-Sicht der Ausgangsbaugruppen - die hier gezeigte EL1202-0100 ist eine Eingangsbaugruppe, diese wird also automatisch auf BasedOnInputReference gelegt und damit wird ihr SYNC-Signal (-37.6 - 10 µs) vor den Ausgangsbaugruppen liegen.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 9:
Shift-Berechnung im Slave-Dialog

Wenn ein Slave manuell "geshiftet" werden soll, könne sinnvolle Werte im Feld UserDefined eingetragen werden.

Anzeige der Shift-Zeit

Die Anzeige der individuellen Slave Shift-Zeiten ist über die erweiterten Einstellungen des Slaves möglich.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 10:
Anzeige DC Shift-Zeiten

Weitere Einstellungen

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 11:
Einstellung Continuous

Wenn aktiviert, misst TwinCAT zyklisch die Laufzeiten zwischen den EtherCAT Teilnehmern. Es wird empfohlen diese Einstellung beizubehalten. Eine Deaktivierung kann bei sehr kurzer Zykluszeit Raum für zyklische Daten schaffen, weil dann das NOP-Datagramm entfällt.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 12:
Runtime Measuring
Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 13:
Eingang DevState

Dafür wird ein zyklisches BRD-Kommando auf 0x092C (Systemzeit Differenz) verwendet.
Die Anzeige ist nur verwertbar, wenn der erste EtherCAT-Teilnehmer auch die Masterclock beinhaltet.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 14:
Eingänge DcSysTime

Distributed Clocks Diagnose

Der TwinCAT System Manager bietet die Möglichkeit, im Online-Zustand eine vorläufige Aussage über die Qualität der aktuellen Echtzeit zu treffen.

Der Ablauf:

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 15:
Online DC Diagnose

Kriterium

Gut

Schlecht

Asymmetrie

Eine Asymmetrie von positiven und negativen Abweichungen ist erforderlich. Dies bildet das Driftverhältnis zwischen Masterclock und TwinCAT-Clock ab.

Bei einem Verhältnis 0:100 oder 100:0 ist das DC-System außer Betrieb.

Verteilung der Deviation

Die Deviation-Werte sollten überwiegend in niedrigen Stufen stehen, s. Abb. Online DC-Diagnose - Anpassungsbedarf

Wenn ausschließlich in der Klasse ">=500 µs" Werte auftreten, ist das DC-System außer Betrieb.

Ein System nach Abb. Online DC-Diagnose - Anpassungsbedarf ist beispielsweise für schnelle EtherCAT-Applikationen mit z. B. 100 µs Zykluszeit nicht geeignet und verlangt ggf. nach Anpassungen.

Einstellungen Distributed Clocks im Beckhoff TwinCAT System Manager (2.11) 16:
Online DC-Diagnose - Anpassungsbedarf