Zeitgeber 32-Bit
Der F183-Befehl aktiviert einen aufwärtszählenden 32-Bit Zeitgeber. Der kleinsten Zeiteinheit beträgt 0,01s. Während der Ausführung von F183 (start = TRUE) wird die ablaufende Zeit zum aktuellen Zählwert d addiert. Wenn der Istwert d mit dem Sollwert s übereinstimmt, wird der Ausgang des Zeitgebers gesetzt. Die Ausführung wird abgebrochen und der aktuelle Zählwert d 0 gesetzt, sobald die Startbedingung (start) EN auf FALSE gesetzt wird. Der Sollwert s kann während der Ausführung von F183 geändert werden.
Eingang
Sollwert, Bereich von 0 bis 2147483647
Ausgang
Istwert, Bereich von 0 bis 2147483647
Die Verzögerungszeit des Zeitgebers kann mit folgender Formel berechnet werden: (Sollwert s) * (0,01s) = Einschaltverzögerung
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
Start: BOOL:=FALSE;
SetValue: DINT:=0;
TimerOutput: BOOL:=FALSE;
ElapsedValue: DINT:=0;
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,,SetValue,7,3,9,5,);
B(B_VAROUT,,ElapsedValue,16,3,18,5,);
B(B_F,F183_DSTM!,Instance,9,1,16,5,,?DEN?D@'s'?AENO?Cd);
B(B_CONTACT,,Start,3,2,5,4,);
B(B_COIL,,TimerOutput,17,2,19,4,);
L(5,3,9,3);
L(1,3,3,3);
L(1,0,1,5);
L(16,3,17,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY