Uscita imposta, resetta
SET: Quando le condizioni di esecuzione sono state soddisfatte, l'uscita passa a TRUE e viene mantenuto lo stato TRUE.
RST: Quando le condizioni di esecuzione sono state soddisfatte, l'uscita passa a FALSE e viene mantenuto lo stato FALSE.
Potete utilizzare i flag con lo stesso numero tutte le volte che desiderate con le istruzioni SET e RST. (Anche se viene eseguita una verifica totale, non viene considerato un errore di sintassi.)
Quando vengono utilizzate le istruzioni SET e RST, l'uscita cambia ad ogni passo durante l'elaborazione dell'operazione.
Per dare in uscita un risultato mentre l'operazione è ancora in corso, utilizzate un'istruzione di aggiornamento I/O parziale (F143_IORF).
La destinazione di uscita di un'istruzione SET viene conservata anche durante l'esecuzione di un'istruzione MC.
La destinazione di uscita di un'istruzione SET viene resettata quando la modalità viene modificata da RUN a PROG, oppure quando l'alimentazione viene disattivata, eccezion fatta allorché un flag interno ritentivo venga specificato come destinazione di uscita.
Collocare un'istruzione DF (o specificare un fronte di salita in LD) prima delle istruzioni SET e RST assicura che l'istruzione venga eseguita esclusivamente su un fronte di salita.
I flag possono essere disattivati utilizzando l'istruzione RST.
L'utilizzo dei vari flag con le istruzioni SET e RST non crea una doppia uscita.
Non è possibile specificare un flag impulsivo (P) come destinazione di uscita per un'istruzione SET o RST.
Poiché gli indirizzi vengono allocati direttamente utilizzando indirizzi FP, non è necessaria alcuna intestazione del POU.
Nel diagramma contatti, specificare un fronte di salita nel contatto e SET o RESET nella bobina:
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 3 ;
NETWORK_BODY
B(B_CONTACT,,X0,4,1,6,3,R);
B(B_COIL,,Y0,10,1,12,3,S);
L(6,2,10,2);
L(1,0,1,3);
L(1,2,4,2);
END_NETWORK_BODY
END_NET_WORK
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 3 ;
NETWORK_BODY
B(B_CONTACT,,X1,4,1,6,3,R);
B(B_COIL,,Y1,10,1,12,3,E);
L(1,2,4,2);
L(1,0,1,3);
L(6,2,10,2);
END_NETWORK_BODY
END_NET_WORK
END_BODY
(*TRUE and FALSE are assigned to Y0*)
IF DF(X0) THEN
Y0:= TRUE;
END_IF;
IF DF(X1) THEN
Y0:= FALSE;
END_IF;
Nella lista istruzioni, S e R vengono utilizzate per SET e RESET: