TM_1s_FB

Zeitgeber zur Zeitbasis 1s einschaltverzögert (0 bis 32767s)

Dieser Zeitgeber mit der Zeitbasis von 1s arbeitet als Einschaltverzögerung (0 bis 32767s). Ist die Eingangsbedingung start des Zeitgeberbausteins erfüllt, wird die programmierte Zeit SV (Set value = Sollwert) gestartet. Nach Ablauf der Zeit schaltet der zugehörige Zeitgeberkontakt T ein.

Parameter

Eingang

start (BOOL)

Startsignal

bei jeder steigenden Flanke wird der Sollwert SV auf den Istwert EV kopiert und der Zeitgeber gestartet

SV (INT, WORD)

Sollwert

hier definieren Sie die Einschaltverzögerungszeit (0 bis 32767s)

Ausgang

T (BOOL)

Zeitgeberkontakt

wird gesetzt, wenn die an SV definierte Zeitspanne abgelaufen ist, d.h., wenn der Istwert EV den Wert 0 erreicht hat

EV (INT, WORD)

Istwert

ist der Zählwert, der bei laufendem Zeitgeber alle 1s um 1 verringert wird

Der Wert kann während des Zählens geändert werden, indem aus dem Programmiereditor heraus in die Variable geschrieben wird.

Anmerkungen

  • Die Anzahl der verfügbaren Zeitgeber ist von den Einstellungen in den Systemregistern 5 und 6 abhängig.

  • Für die Zeitgeber-Funktionsbausteine vergibt der Compiler an jede FB-Instanz automatisch eine NUM*-Adresse. Die Vergabe erfolgt abwärts zählend beginnend mit der höchstmöglichen Adresse.

Zeitdiagramm

  1.  (1) Im PROG-Modus übertragen
  2.  (2) RUN-Modus

Beispiel

POE-Kopf

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
		Alarm_control: TM_1s_FB;
		Start_contact: BOOL:=FALSE;
		Alarm_Relay_1: BOOL:=FALSE;
		Alarm_Relay_2: BOOL:=FALSE;
	END_VAR

In diesem Beispiel werden Variablen verwendet. Sie können als Eingangsvariable auch eine Konstante verwenden.

POE-Rumpf

Sobald die Variable Start_contact gesetzt wird (Status = TRUE), wird der Zeitgeber Alarm_control gestartet. Die Variable EV des Zeitgebers wird auf den Wert von SV gesetzt. Solange Start_contact den Zustand TRUE behält, wird alle 1s der Wert 1 von EV abgezogen. Erreicht EV den Wert 0 (nach 10 Sekunden, da SV = 10 mit Zeitgeber-Typ TM_1s_FB), wird Alarm_Relay_2 auf TRUE gesetzt.

Sobald der Wert der Variable EV des Zeitgebers kleiner oder gleich 5 ist (nach 5 Sekunden) und EV nicht 0 ist, wird Alarm_Relay_1 auf TRUE gesetzt.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_VARIN,,Start_contact,8,3,10,5,);
B(B_VARIN,,10,8,4,10,6,);
B(B_VAROUT,,Alarm_Relay_2,18,3,20,5,);
B(B_FB,TM_1s_FB,Alarm_control,10,2,18,6,,?Bstart?BSV?AT?AEV);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_F,@LE-2!,Instance,11,0,16,3,,?D?D?C);
B(B_VARIN,,Alarm_control.EV,9,0,11,2,);
B(B_VARIN,,5,9,1,11,3,);
B(B_F,@NE!,Instance,11,5,16,8,,?D?D?C);
B(B_VARIN,,0,9,6,11,8,);
B(B_VARIN,,Alarm_control.EV,9,5,11,7,);
B(B_F,@AND-2!,Instance,20,2,25,5,,?D?D?C);
B(B_VAROUT,,Alarm_Relay_1,25,2,27,4,);
L(16,1,17,1);
L(17,1,17,3);
L(17,3,20,3);
L(17,4,20,4);
L(17,4,17,6);
L(16,6,17,6);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

Alarm_Control( start:= Start_Contact ,
        SV:= 10,
        T=> Alarm_Relay_2 ,
        EV=> Alarm_Control.EV );
(*The ON-delay time is 10s*)
Alarm_Relay_1:= Alarm_Control.EV <= 5 & Alarm_Control.EV <> 0;
(*Alarm_Relay_1 is set to TRUE after 5s*)

AWL-Rumpf

Wenn Sie den Funktionsbaustein in einer Anweisungsliste aufrufen möchten, geben Sie folgendes ein:

CAL

Alarm_control (start:=Start_contact,

SV:= 10 ,

T:= Alarm_Relay_2)

LD

Alarm_control.EV

LE

5

AND(

Alarm_control.EV

NE

0

)

ST

Alarm_Relay_1

Letzte Änderung am: 2021-09-27Feedback zu dieser SeitePanasonic Hotline