Bistabiler FB (vorrangig Zurücksetzen)
Mit dem Funktionsbaustein RS (reset/set) können Sie einen Ausgang sowohl zurücksetzen als auch setzen.
Eingang
Setzen
Bei jeder steigenden Flanke an S wird der Ausgang Q1 gesetzt, wenn RESET nicht gesetzt ist
Zurücksetzen
Bei jeder steigenden Flanke an R1 wird der Ausgang Q1 zurückgesetzt
Ausgang
Wird gesetzt, wenn eine steigende Flanke an S anliegt und R1 nicht gesetzt ist.
Wird zurückgesetzt, wenn eine steigende Flanke an R1 anliegt.
Wird zurückgesetzt, wenn an beiden Eingängen eine steigende Flanke anliegt.
Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.
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
Wenn set gesetzt ist (Status = TRUE) wird signal_output gesetzt. Wenn nur reset gesetzt ist, wird signal_output zurückgesetzt (reset, Status = FALSE). Wenn sowohl set als reset gesetzt sind, wird signal_output zurückgesetzt (reset, Status = 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;