Temporisateur 16 bits
L’instruction du temporisateur auxiliaire F137_STMR est une instruction pour temporisateur décroissant. La valeur du temporisateur est 0,01s * valeur de consigne s (temps définissable entre 0,01 et 327,67s). Si vous utilisez le drapeau interne spécial R900D comme contact du temporisateur, veillez à l’indiquer comme adresse après exécution de l’instruction.
Lorsque le déclencheur EN de l’instruction du temporisateur auxiliaire (STMR) est activé, la constante ou la valeur indiquée par s est transférée vers la zone indiquée par d.
Pendant la temporisation, le temps est soustrait à partir de la valeur de la zone indiquée par d.
La sortie ENO est TRUE lorsque la valeur dans la zone indiquée par d = 0.
Entrée
Zone de 16 bits ou constante équivalente pour valeur de consigne du temporisateur
Sortie
Zone de 16 bits pour valeur courante du temporisateur
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
bstart: BOOL:=FALSE;
(*activates the timer*)
iSetValue: INT:=600;
(*six seconds (600 * 0,01s)*)
iElapsedValue: INT:=0;
bTimerOutput: BOOL:=FALSE;
(*set to TRUE after 6s have elapsed*)
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,,iSetValue,7,2,9,4,);
B(B_VAROUT,,iElapsedValue,16,2,18,4,);
B(B_CONTACT,,bstart,4,1,6,3,);
B(B_COIL,,bTimerOutput,23,1,25,3,);
B(B_F,F137_STMR!,Instance,9,0,16,4,,?DEN?D@'s'?AENO?Cd);
L(1,2,4,2);
L(6,2,9,2);
L(16,2,23,2);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY