 F183_DSTM
F183_DSTMTemporizador 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