Erläuterungen zum Ausgabeverhalten im Fehlerfall (Watchdog, CycleCounter)
Verhalten im Fehlerfall - Watchdog und CycleCounter
Diese Ausgangsklemme ist auf regelmäßige Versorgung mit zyklusaktuellen Daten aus der Steuerung angewiesen. Bleiben diese aus, sind zwei Phasen zu unterscheiden und es greifen folgende Werkzeuge
- Kurzes Ausbleiben (ein Zyklus und mehr) → CycleCounter-Überwachung
In der CycleCounter-Überwachung will das Gerät in den Prozessdatenvariablen CycleCounter mit zyklisch inkrementierten Werten (+1) aus der Steuerung belegt werden. So kann es anhand der fortlaufenden Werte feststellen, ob eine Framewiederholung oder ein LostFrame aufgetreten ist. Wird die CycleCounter-Überwachung nicht aktiviert, kann die Firmware das Ausbleiben der Daten nicht erkennen und wiederholt die Daten des letzten Samples bis zum Ablauf (Auslösen) des Watchdogs. - Diagnose: Wenn kein Inkrement +1 vom Gerät festgestellt wird, zählt zumindest das interne Register 030Dhex „PDI-Error “ um eins hoch. Ein Zählerüberlauf 255 → 0 wird nicht als Fehler ausgewertet. Ist das Zählerinkrement einmalig größer 1 und anschließend wieder 1, dann wird insgesamt nur ein PDI-Error ausgegeben, da alle dem Ereignis nachfolgenden Zählerwerte wieder ein Inkrement von 1 haben. Dieses Register kann azyklisch z.B. durch die PLC ausgelesen werden, siehe dazu „Erläuterungen zur CycleCounter Überwachung“.
- Ausgangsverhalten: Darüberhinaus bedient die Firmware in diesem Fall weiterhin entsprechend der ESC-Register Einstellung den Ausgang:
- für Kanal 1: Register 0x0F00
Bit 0 = TRUE → Parametrierung ist aktiviert
Bit 1 bis 3: Vorgabewert für Verhalten bei CycleCounterFehler, s.u. - für Kanal 2: Register 0x0F01
Bit 0 = TRUE → Parametrierung ist aktiviert
Bit 1 bis 3: Vorgabewert für Verhalten bei CycleCounterFehler, s.u. - Hinweis: die beiden Byte-Register 0x0F00 und 0x0F01 müssen als 1 Word-Zugriff gleichzeitig beschrieben werden.
- Mögliche Register-Werte für das CycleCounter-Verhalten sind (Benennungen stammen aus dem u.a. Demoprogramm):
ZERO: „000“: Es wird eine logische Null „0“ ausgegeben (default)
ONE: „001“: Es wird eine logische Eins „1“ ausgegeben
HOLD: „010“: Der Wert des letzten Bits im vorherigen Zyklus wird ausgegeben
CONTINUE: „011“: Es wird ein PDI-Error ausgegeben, die aktuell im Buffer liegenden Daten werden jedoch ausgegeben. Dies können auch veraltete Daten sein.
ALT: „100“: Es wird alternierend Null und Eins ausgegeben
OFF: „101“ (nur EL2262): die Ausgangsstufe wird hochohmig geschaltet. Es wird kein Pegel getrieben.
Abbildung aus dem TC3-Beispielprogramm - Längeres Ausbleiben (Watchdog-Zeit und länger) → SM-Watchdog
Als Ausgangsklemme verfügt das Gerät über einen parametrierbaren SM-Watchdog (SyncManager-Watchdog). Dieser wird in jedem erfolgreichen EtherCAT-Zyklus wieder aufgezogen bzw. zurückgestellt. Wird er für eine gewisse Zeit (default: 100ms) nicht bedient, werden die Ausgänge in einen definierbaren Zustand versetzt. Zur zeitlichen Parametrierung des SM-Watchdog siehe hier. - Das Ausgangsverhalten nach dem Auslösen des Watchdogs wird wie folgt über die ESC-Register parametriert:
- Für Kanal 1: Register 0x0F00
Bit 0 = TRUE → Parametrierung ist aktiviert
Bit 4 bis 6: Vorgabewert für Verhalten bei Watchdog, s.u. - Kanal 2: Register 0x0F01
Bit 0 = TRUE → Parametrierung ist aktiviert
Bit 4 bis 6: Vorgabewert für Verhalten bei Watchdog, s.u. - Das Default-Verhalten der Watchdog-Überwachung ist Ausgang=FALSE
- Hinweis: die beiden Byte-Register 0x0F00 und 0x0F01 müssen als 1 Word-Zugriff gleichzeitig beschrieben werden Die Vorgabewerte für das Watchdog-Verhalten sind:
- Mögliche Register-Werte für das Watchdog-Verhalten sind (Benennungen stammen aus dem u.a. Demoprogramm):
ZERO: „ „000“: Es wird eine logische Null ausgegeben (default)
ONE: „001“: Es wird eine logische Eins ausgegeben
HOLD: „010“: Der Wert des letzten Bits im vorherigen Zyklus wird ausgegeben
REP: „011“: Die Daten des letzten Zyklus werden wiederholt ausgegeben
ALT: „100“: Es wird alternierend Null und Eins ausgegeben
OFF: „101“ (nur EL2262): Die Ausgangsstufe wird hochohmig geschaltet. Es wird kein Pegel getrieben
Da CycleCounter- und Watchdog-Verhalten über dasselbe Register gesteuert werden, sind die beiden Register vollständig in 1 Vorgang zu beschreiben, siehe Beispielprogramm.
![]() | Verwendung der ESC-Register Werden Einstellungen in ESC-Register (hier z.B. 0x0F00) geladen, bleiben diese bis zum nächsten Überschreiben oder Spannungslos-Schalten erhalten. Nach einem Spannungslos-Schalten müssen die gewünschten Werte erneut in die Register geladen werden. |
Im folgenden Beispiel über die Klemmenfunktion bei einer Kommunikationsunterbrechung werden die daraus resultierenden drei Phasen veranschaulicht.
- Es werden hier erfundene Signale (nach Vorgabe PLC) auf Kanal 1 und 2 einer EL2262 ausgegeben und mit dem Oszilloskop betrachtet.
- Zu Demonstrationszwecken sind Kanal 1 und 2 unterschiedlich parametriert
- Das Beispiel gilt auch für die EL1262-0010 (Ausgänge).

- Phase 1: normaler Betrieb: zyklische Prozessdaten werden rechtzeitig an die Klemme gesendet, diese gibt die Daten aus.
In diesem Beispiel geben Kanal 1 und 2 den gleichen Signalverlauf aus, 10fach Oversampling, Zykluszeit 2 ms, mit einem sich wiederholenden Muster - generell Ausgang = TRUE, 1 Sample = FALSE
- generell Ausgang = TRUE, 2 Samples = FALSE, im nächsten Zyklus dann
- generell Ausgang = TRUE, 3 Samples = FALSE, im nächsten Zyklus dann
- generell Ausgang = TRUE, 4 Samples = FALSE, dann wieder von vorne.
Außerdem werden die CycleCounterVariablen bedient. Die Daten kommen aus dem Beispielprogramm für die Watchdogparametrierung. - Phase 2: CycleCounter-Überwachung: die Klemme bekommt keine neuen Prozessdaten, der CycleCounter wird aus Sicht der Klemme nicht mehr bedient.
Dies kann kurzfristig (1 Zyklus) auftreten durch eine verzögerte Datenzustellung oder über einen längeren Zeitraum durch Kommunikationsunterbrechung.
Der Watchdog wird ebenfalls nicht mehr bedient, weil die SyncManager-Events ausbleiben und beginnt abzulaufen, hat aber noch keine Auswirkung.
Das Ausgangsverhalten kann wie o.a. verändert werden, in diesem Beispiel - gibt Kanal 1 in dieser Phase alternierend 0/1 aus
- gibt Kanal 2 in dieser Phase alternierend 0 aus
- Phase 3, Watchdog-Fall: der Watchdog ist nach der parametrierten Zeit abgelaufen, in diesem Beispiel 25 ms.
Die Ausgänge gehen nun in den parametrierten oder sicheren Zustand.
Das Ausgangsverhalten kann wie u.a. verändert werden, in diesem Beispiel - gibt Kanal 1 in dieser Phase endlos wiederholt das letzte Sample aus
- gibt Kanal 2 in dieser Phase 1 aus
Hinweis zur EL2262:
Firmware | Verhalten bei CycleCounter-Überwachung | Verhalten bei Watchdog |
---|---|---|
< FW09 | Register 030Dhex: inkrementiert + 1 | Ausgänge: FALSE |
>= FW09 | Register 030Dhex: inkrementiert + 1 | Ausgangsverhalten wie parametriert |
Demonstration der CycleCounter-Überwachung
In diesem weiteren Beispiel ist der Watchdog auf 25 ms gesetzt. Default wird in Phase 2 der letzte Sampleblock wiederholt ausgegeben bis Phase 3:

Wird die CycleCounter-Überwachung aktiviert, wird in Phase 2 defaultmäßig Ausgang = FALSE ausgegeben.

Nun wird für Kanal 1 das CycleCounter-Sonderverhalten „ALT“ in Phase 2 und für Kanal 2 das Watchdog-Sonderverhalten „REP“ parametriert: :
