FP_SET_ERROR

Selbstdiagnose-Fehler setzen/zurücksetzen

Die durch n angegebene Fehlernummer wird in die Systemvariable sys_iSelfDiagnosticErrorCode kopiert, die die zugehörigen Sonderdatenregister liest.

Parameter

Eingang

n (INT)

muss eine Konstante sein

  • Selbstdiagnose-Fehlercodenummer, Bereich: 0 und 100 bis 299

  • Für FP7: Bereich 0! und 1000–2999

Anmerkungen

Der Inhalt der Systemvariable sys_iSelfDiagnosticErrorCode und die Fehlernummer lassen sich mit Control FPWIN Pro “Monitor” > “Sondermerker und -datenregister” > “Basisfehler” 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

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)

wenn n den Grenzwert übersteigt.

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)

wenn n den Grenzwert übersteigt.

Beispiel

POE-Kopf

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

POE-Rumpf

Wenn die Variable bStart auf TRUE gesetzt wird, wird die Funktion ausgeführt.

KOP-Rumpf

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

ST-Rumpf

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;

Letzte Änderung am: 2022-11-11Feedback zu dieser SeitePanasonic Hotline