Temporizador de 32 bit
La instrucción F183 activa un temporizador de contaje incremental de 32 bits. La menor unidad de contaje es 0,01s. Durante la ejecución de F183 (s = TRUE), se incremente el valor actual d. La salida del temporizador pasa a ON cuando el valor actual en d es igual al valor de preselección s. Si la condición de ejecución start (EN) pasa a FALSE, el temporizador se detiene y se resetea el valor actual d. El valor de preselección sse puede modificar durante la ejecución de F183.
Entrada
valor de preselección, rango de 0 a 2147483647
Salida
valor actual, rango de 0 a 2147483647
El tiempo de activación del temporizador se puede calcular con la siguiente fórmula: (Valor de preselección s) * (0.01s) = retardo de activación de la salida
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
Start: BOOL:=FALSE;
SetValue: DINT:=0;
TimerOutput: BOOL:=FALSE;
ElapsedValue: DINT:=0;
END_VAR
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_VARIN,,SetValue,7,3,9,5,);
B(B_VAROUT,,ElapsedValue,16,3,18,5,);
B(B_F,F183_DSTM!,Instance,9,1,16,5,,?DEN?D@'s'?AENO?Cd);
B(B_CONTACT,,Start,3,2,5,4,);
B(B_COIL,,TimerOutput,17,2,19,4,);
L(5,3,9,3);
L(1,3,3,3);
L(1,0,1,5);
L(16,3,17,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY