Set/reset
Le bloc fonction SR (set/reset) permet à la fois d’activer et de réinitialiser une sortie.
Entrée
Set
La sortie Q1 est activée à chaque front montant de S1
Réinitialiser
La sortie Q1 est réinitialisée à chaque front montant de R, sauf lorsque S1 est activé (voir le chronogramme)
Sortie
Activée ou réinitialisée selon les entrées
Activée lorsqu’un front descendant est détecté sur S1.
Réinitialisée en front montant de R, si S1 n’est pas activé
Activée lorsqu’un front montant est détecté aux deux entrées (S1 et R).
Lors de l’initialisation, Q1 a toujours à l’état zéro (reset).
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
copy_name: SR;
set: BOOL:=FALSE;
(*output_value is set for each
rising edge at set_input,
if reset_input is not set*)
reset: BOOL:=FALSE;
(*output_value is reset for each
rising edge at reset_input*)
signal_output: BOOL:=FALSE;
END_VAR
Lorsque set est activé (état = TRUE), la sortie signal_output est activée. Lorsque reset est activé, la sortie signal_output est réinitialisée (reset, état = FALSE). Lorsque set et reset sont activés, la sortie signal_output est activée.
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_VAROUT,,signal_output,13,2,15,4,);
B(B_CONTACT,,set,3,1,5,3,);
B(B_CONTACT,,reset,3,3,5,5,);
B(B_FB,SR!,copy_name,8,1,13,5,,?BS1?BR?AQ1);
L(1,2,3,2);
L(1,4,3,4);
L(5,4,8,4);
L(5,2,5,3);
L(5,3,8,3);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
copy_name( SET:= set, RESET:= reset);
signal_output:= signal_output;