FB_PcWatchdog
Diese Funktionalität ist nur verfügbar auf den IPCs mit den Mainboards: IP-4GVI63, CB1050, CB2050, CB3050, CB1051, CB2051, CB3051 !
Der Funktionsbaustein FB_PcWatchdog aktiviert einen Hardware-Watchdog auf dem PC. Der Watchdog wird über bEnable = TRUE und die Timeout-Zeit aktiviert. Die Timeoutzeit kann minimal 1s und maximal 255s sein. Aktiviert wird der Watchdog über bEnable = TRUE und tTimeOut >= 1s.
Wenn der Watchdog einmal aktiviert wurde, muss der Funktionsbaustein zyklisch in kürzeren Abständen aufgerufen werden als tTimeOut, da bei Ablauf der tTimeOut-Zeit der PC automatisch einen Neustart durchführt. Der Watchdog kann daher dafür eingesetzt werden um Systeme automatisch neu zu booten, die in eine Endlosschleife gelaufen sind bzw. bei denen die PLC steht.
Der Watchdog kann über bEnable = FALSE bzw. die tTimeOut-Zeit = 0 deaktiviert werden.
Der Watchdog muss vor der Verwendung von Breakpoints, einem SPS-Reset bzw. Urlöschen und vor einem TwinCAT Stopp, einem Wechsel in den Konfig-Mode oder dem Aktivieren der Konfiguration deaktiviert werden, da es sonst unmittelbar zum Reboot des PCs nach Ablauf der Timeoutzeit kommt! |
VAR_INPUT
VAR_INPUT
tTimeOut : TIME;
bEnable : BOOL;
END_VAR
tTimeOut: Watchdogzeit, nach deren Ablauf ein Neustart durchgeführt wird.
bEnable: Aktivieren bzw. Deaktivieren des Watchdogs.
VAR_OUTPUT
VAR_OUTPUT
bEnabled : BOOL;
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
END_VAR
bEnabled : TRUE: Watchdog aktiviert / FALSE: Watchdog deaktiviert.
bBusy : Dieser Ausgang bleibt solange auf TRUE, bis der Baustein eine Befehlsanforderung ausführt.
bError : Dieser Ausgang wird auf TRUE geschaltet, wenn bei der Ausführung eines Befehls ein Fehler aufgetreten ist. Der befehlsspezifische Fehlercode ist in 'nErrId' enthalten. Wird durch das Ausführen eines Befehls an den Eingängen auf FALSE zurückgesetzt.
nErrId : Enthält den befehlsspezifischen Fehlercode des zuletzt ausgeführten Befehls. Wird durch das Ausführen eines Befehls an den Eingängen auf 0 zurückgesetzt.
Beispiel für den Aufruf des Bausteins in ST:
VAR
fbPcWatchDog : FB_PcWatchdog;
tWDTime :
TIME := T#10s;
bEnableWD : BOOL;
bWDActive : BOOL;
END_VAR
IF bEnableWD OR bWDActive THEN
fbPcWatchDog(tTimeOut := tWDTime, bEnable :=
bEnableWD);
bWDActive := fbPcWatchDog.bEnabled;
END_IF
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.9.0 ab Build 1004 | PC mit Mainboards: IP-4GVI63, CB1050, CB2050, CB3050, CB1051, CB2051, CB3051 | TcSystem.Lib |