Selbstdiagnose-Fehler setzen/zurücksetzen
Die durch n angegebene Fehlernummer wird in die Systemvariable sys_iSelfDiagnosticErrorCode kopiert, die die zugehörigen Sonderdatenregister liest.
Eingang
muss eine Konstante sein
Selbstdiagnose-Fehlercodenummer, Bereich: 0 und 100 bis 299
Für FP7: Bereich 0! und 1000–2999
Der Inhalt der Systemvariable sys_iSelfDiagnosticErrorCode und die Fehlernummer lassen sich mit Control FPWIN Pro
lesen und prüfen.Fehlernummernbereiche:
Wenn n=0, werden alle Fehlernummern größer 43 gelöscht, und die ERROR-LED erlischt.
Wenn n = 100 bis 199, wird die Operation angehalten.
Wenn n = 200 bis 299, wird die Operation fortgeführt.
Für FP7:
Wenn n = 0!, kein Fehler
Wenn n < 1000, tritt ein Operationsfehler auf
Wenn 1000 < n < 1999, stoppt die SPS
Wenn 2000 < n < 2999, tritt ein Fehler auf aber die SPS läuft weiter
wenn n den Grenzwert übersteigt.
wenn n den Grenzwert übersteigt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
VAR
bStart: BOOL:=FALSE;
(*activates the function*)
END_VAR
Wenn die Variable bStart auf TRUE gesetzt wird, wird die Funktion ausgeführt.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 5 ;
NETWORK_BODY
B(B_F,FP_SET_ERROR!,,13,1,22,5,,?DEN?Dn?AENO);
B(B_CONTACT,,bStart,6,2,8,4,);
B(B_VARIN,,100,11,3,13,5,);
L(1,3,6,3);
L(8,3,13,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
IF bStart then
(* Sets the self-diagnostic error 100 *)
(* The ERROR/ALARM LED of the PLC is on,
and operation stops. *)
FP_SET_ERROR(100);
END_IF;