Temporisateur 32 bits
L’instruction F183 active un temporisateur à l’activation 32 bits, croissant. L’intervalle minimum est de 0,01s. Pendant l’exécution de F183 (start = TRUE), le temps écoulé est ajouté à la valeur courante de d. La sortie du temporisateur est activée lorsque la valeur courante d atteint la valeur de consigne s. Lorsque la condition de départ start est désactivée (EN = FALSE), l’exécution est interrompue et la valeur courante d est réinitialisée à zéro. La valeur de consigne s peut être modifiée pendant l’exécution de F183.
Entrée
Valeur de consigne, intervalle de 0 à 2147483647
Sortie
Valeur courante, intervalle de 0 à 2147483647
Le retard du temporisateur peut être calculé de la façon suivante : (valeur de consigne s) * (0,01s) = temporisateur à la montée
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU. Le même en-tête de POU est utilisé pour tous les langages de programmation.
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