Synchronisierung

Bei der EL6731 ist den DP-Zyklus mit dem EtherCAT-Zyklus synchronisiert. Die Synchronisierung erfolgt per Default über das Sync Manager 2 Event, falls es keine EtherCAT Output Process Data gibt, über das Sync Manager 3 Event. Alternativ kann die EL6731 auch im Distributed Clocks Mode betrieben werden, dann erfolgt die Synchronisierung über das SYNC0- bzw. das SYNC1-Event.

SM-Synchron

Das folgende Bild zeigt den Ablauf des DP-Zyklusses, wenn keine Distributed Clocks benutzt werden.

Synchronisierung 1:
Ablauf DP-Zyklus ohne Distributed Clocks

Beim Empfang des EtherCAT-Prozessdatentelegramms wird das SM2 Event (SM3, falls keine EtherCAT Output Data konfiguriert sind, also nur DP-Slaves ohne DP-Outputs) vom EtherCAT-Slave Controller generiert und damit der DP-Zyklus gestartet. Dabei wird je konfiguriertem DP-Slave (der sich im Zustand Data-Exchange befindet) ein Data-Exchange-Telegramm mit den über EtherCAT empfangenen Output Process Data gesendet. Die Reihenfolge entspricht dabei die Reihenfolge der Konfiguration, d.h. es wird mit dem in den Objekten 0x800z konfigurierten DP-Slave angefangen. Wenn alle konfigurierten DP-Slaves behandelt wurden, werden die EtherCAT Input Data aktualisiert und der DP-Zyklus ist fertig. Wenn das nächste SM2 (SM3)-Event empfangen wird, bevor der DP-Zyklus fertig ist, wird der Cycle Exceed Counter (0x1C32:0B bzw. 0x1C33:0B) inkrementiert und ein DP-Zyklus ausgelassen.

SYNC0-Synchron

Der DP-Zyklus wird durch das SM2 (SM3)-Event gestartet. Vor dem Senden des ersten Telegramms wird auf das SYNC0-Event gewartet, so dass das Senden des Global-Control-Telegramms mit einem Jitter von maximal 500 ns erfolgt. Der weitere Ablauf des DP-Zyklus entspricht dem bei der Synchronisation ohne Distributed Clocks.

Übertragung der Process Data mit LRW Telegramm (Separate Input Update = FALSE)

Das folgende Bild zeigt den Ablauf des DP-Zyklus und die Bedeutung der Sync Manager Parameter, wenn der DP-Zyklus mit Distributed Clocks über SM- und SYNC0-Event gesteuert wird.

Synchronisierung 2:
Ablauf DP-Zyklus mit Distributed Clocks und Steuerung über SM- und SYNC0-Event

Übertragung der Output Data mit LWR und der Input Data mit LRD Telegramm (Separate Input Update = TRUE, Task Cycle Time = Base Time)

Falls EtherCAT Outputs und Inputs mit getrennten Telegrammen übertragen werden, damit die Inputs möglichst aktuell sind (Separate Input Update bei der zugehörigen TwinCAT-Task im TwinCAT System Manager anklicken), ist weniger Luft für den DP-Zyklus. Wenn die Task Cycle Time (= EtherCAT Master Cycle Time) gleich der TwinCAT Realtime Base Time ist, wird entsprechend des eingestellten CPU-Limits das LRD-Telegramm gesendet, mit dem die Inputs möglichst spät eingelesen werden.

Synchronisierung 3:
Übertragung Output Data mit LWR, Input Data mit LRD Telegramm (Separate Input Update = TRUE, Task Cycle Time = Base Time)

Übertragung der Output Data mit LWR und der Input Data mit LRD Telegramm (Separate Input Update = TRUE, Task Cycle Time = 4*Base Time, Pre ticks = 1)

Wenn die Task Cycle Time (= EtherCAT Master Cycle Time) größer als die TwinCAT Realtime Base Time ist, wird entsprechend des eingestellten Pre ticks das LRD-Telegramm zu einem vorherigen Base Time Zeitpunkt gesendet.

Synchronisierung 4:
Übertragung Output Data mit LWR, Input Data mit LRD Telegramm (Separate Input Update = TRUE, Task Cycle Time = 4*Base Time, Pre ticks = 1)

SYNC1-Synchron

Der DP-Zyklus wird durch den SYNC0-Event gestartet. Vor dem Senden des ersten Telegramms wird auf den SYNC1-Event gewartet, so dass das Senden des Global-Control-Telegramms mit einem Jitter von maximal 500ns erfolgt. Der weitere Ablauf des DP-Zyklus entspricht dem bei der Synchronisation ohne Distributed Clocks.

Die Einstellungen für Separate Input Update gelten wie bei der Synchronisierung mit SYNC0, daher ist hier nur der Fall ohne Separate Input Update dargestellt:

Synchronisierung 5:
Starten des DP-Zyklus durch SYNC0, Senden des ersten Telegrams nach SYNC1-Event