CT_FB

Abwärtszähler

Die mit dem Funktionsbaustein CT_FB erzeugten Zähler sind Rückwärtszähler. Der Zählbereich SV (set value = Sollwert) liegt zwischen 1 und 32767.

Parameter

Eingang

Count (BOOL)

Zähleingang (abwärts)

bei jeder steigenden Flanke an Count wird der Wert 1 vom Istwert EV abgezogen, bis der Wert Null erreicht ist

Reset (BOOL)

Rücksetzeingang

bei jeder steigenden Flanke an Reset wird dem Istwert EV der Wert 0 zugewiesen und der Signalausgang C zurückgesetzt; bei jeder fallenden Flanke an Reset wird der Wert am Sollwert SV dem Istwert EV zugewiesen

SV (INT)

Sollwert

ist der Wert, den der Istwert EV nach einem Rücksetzvorgang (Reset) hat

Ausgang

C (BOOL)

Signalausgang

wird gesetzt, wenn der Istwert EV den Wert 0 erreicht hat

EV (INT)

Istwert:

  • ist der aktuelle Zählwert

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

Anmerkungen

  • Damit der CT_FB einwandfrei arbeitet, muss vor jeder Benutzung ein Rücksetzvorgang (Reset) erfolgen.

  • Die Anzahl der verfügbaren Zähler ist von den Einstellungen in den Systemregistern 5 und 6 abhängig. Der Compiler vergibt an jede Zählerinstanz eine NUM*-Adresse. Die Vergabe erfolgt abwärts zählend beginnend mit der höchstmöglichen Adresse.

  • Die FP-Funktion CT Rückwärtszähler) benutzt den gleichen NUM*-Adressbereich (Num-Eingang). Um Fehlern (Adresskonflikten) vorzubeugen, sollten Sie die Funktion CT und den Funktionsbaustein CT_FB nicht gleichzeitig in einem Projekt verwenden.

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
		copy_name: CT_FB;
		set_value: INT:=10;
		signal_output: BOOL:=FALSE;
		count_contact: BOOL:=FALSE;
		Reset_CT: BOOL:=FALSE;
		machine_error: BOOL:=FALSE;
		number_error: INT:=0;
	END_VAR

POE-Rumpf

In diesem Beispiel werden Variablen verwendet. Sie können als Eingangsvariable auch eine Konstante verwenden. Bei jeder steigenden Flanke an count_contact wird der Wert 1 vom Istwert EV abgezogen. Signal_output wird auf TRUE gesetzt, wenn der Istwert EV den Wert 0 erreicht hat.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_FB,CT_FB!,copy_name,9,1,15,6,,?BCount?BReset?BSV?AC?AEV);
B(B_VARIN,,count_contact,7,2,9,4,);
B(B_VARIN,,Reset_CT,7,3,9,5,);
B(B_VARIN,,set_value,7,4,9,6,);
B(B_VAROUT,,signal_output,15,2,17,4,);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_F,E_MOVE!,Instance,10,1,16,5,,?DEN?D?AENO?C);
B(B_VARIN,,copy_name.EV,8,3,10,5,);
B(B_VAROUT,,number_error,16,3,18,5,);
B(B_CONTACT,,machine_error,4,2,6,4,);
L(1,3,4,3);
L(6,3,10,3);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

AWL-Rumpf

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

Letzte Änderung am: 2021-07-28Feedback zu dieser SeitePanasonic Hotline