DF

Positive Flankenerkennung

Mit dem DF-Befehl realisieren Sie die Auswertung der steigenden (positiven) Flanke beim Signalwechsel eines vorgeschalteten Operanden. Wenn der Signalzustand des vorgeschalteten Operanden i von FALSE auf TRUE wechselt, wird der Ausgang o des DF-Befehls für die Dauer des Programmzyklus gesetzt.

Parameter

Eingang

Unnamed input (BOOL)

Ausgang

Unnamed output (BOOL)

Anmerkungen

Vorsicht bei der Programmierung im Zusammenhang mit Anweisungen, welche die Rangfolge der Ausführung ändern. Das können z.B. Sprunganweisungen oder Schleifen innerhalb der Ablaufsprache oder eines Funktionsbausteins sein. Der Ablauf der Anweisungen könnte sich in Abhängigkeit vom Zeitpunkt der Anweisungsausführung und vom Eingangswert verändern. Systemspezifische JUMP und LOOP-Befehle sind: F19_SJP

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
		Increment: BOOL:=FALSE;
		Counter: INT:=0;
	END_VAR

POE-Rumpf

Jede steigende Flanke am Eingang Increment erhöht den Zähler.

KOP-Rumpf

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_F,DF!,Instance,7,0,12,3,,?Di?Co);
B(B_VARIN,,Increment,5,1,7,3,);
B(B_F,E_ADD-2!,Instance,16,0,22,5,,?DEN?D?D?AENO?C);
B(B_VARIN,,Counter,14,2,16,4,);
B(B_VARIN,,1,14,3,16,5,);
B(B_VAROUT,,Counter,22,2,24,4,);
L(12,2,16,2);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF DF(Increment) then
    Counter:=Counter+1;
END_IF;

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