FB_PcWatchdog

Diese Funktionalität ist nur verfügbar auf den IPCs mit den Mainboards: IP-4GVI63, CB1050, CB2050, CB3050, CB1051, CB2051, CB3051 !

 

FB_PcWatchdog 1:

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.

FB_PcWatchdog 2:

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