Establecer/resetear error de autodiagnóstico
El número de error especificado por n, se copia en la variable del sistema sys_iSelfDiagnosticErrorCode que lee el registro especial correspondiente.
Entrada
debe ser una constante
Código de error de autodiagnóstico, rango: 0 y de 100 a 299
Para el FP7: rango 0! y 1000–2999
Se puede comprobar el contenido de la variable del sistema sys_iSelfDiagnosticErrorCode y se puede leer el número de error utilizando Control FPWIN Pro
.Número de error:
Si n=0, se borran todos los números de error por encima de 43 y se apaga el LED de error.
Si n = 100–199, se detiene la ejecución del programa.
Si n = 200–299, continúa la ejecución del programa.
Para el FP7:
Si n = 0!, ningún error
Si n < 1000, se produce un error de operación
Si 1000 < n < 1999, se detiene el PLC
Si 2000 < n < 2999, se produce un error pero el PLC continua
si n fuera de rango.
si n fuera de rango.
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
bStart: BOOL:=FALSE;
(*activates the function*)
END_VAR
Cuando la variable bStart se encuentra a TRUE, se ejecuta la función.
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;