Resetta/imposta
Il Function Block RS (resetta/imposta) vi permette sia di resettare sia di impostare un'uscita.
Ingresso
Impostazione
Se RESET non viene impostato, l'uscita Q1 viene impostata per ciascun fronte di salita su S.
Reset
L'uscita Q1 viene resettata per ciascun fronte di salita su R1
Uscita
viene impostata se viene rilevato un fronte di salita su S e se R1 non è impostato.
viene resettata se viene rilevato un fronte di salita su R1.
viene resettata se viene rilevato un fronte di salita su entrambi gli ingressi.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
copy_name: RS;
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
Se set viene impostato (stato = TRUE), signal_output verrà impostato. Se viene impostato solo reset, signal_output verrà resettato (reset , stato = FALSE). Se sia set sia reset vengono impostati, signal_output verrà resettato (reset, stato = FALSE).
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_FB,RS!,copy_name,9,1,14,5,,?BS?BR1?AQ1);
B(B_VAROUT,,signal_output,14,2,16,4,);
B(B_CONTACT,,set,3,1,5,3,);
B(B_CONTACT,,reset,3,3,5,5,);
L(1,2,3,2);
L(1,4,3,4);
L(1,0,1,5);
L(5,2,8,2);
L(8,2,8,3);
L(8,3,9,3);
L(5,4,9,4);
END_NETWORK_BODY
END_NET_WORK
END_BODY
copy_name( SET:= set, RESET:= reset);
signal_output:= signal_output;