DFN

Negative Flankenerkennung

Wenn der Signalzustand des vorgeschalteten Operanden i von TRUE auf FALSE wechselt, wird der Ausgang o des DFN-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:

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

POE-Rumpf

Jede fallende Flanke am Eingang Decrement setzt den Zähler herab.

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,DFN!,Instance,7,0,12,3,,?Di?Co);
B(B_VARIN,,Decrement,5,1,7,3,);
B(B_F,E_SUB!,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 DFN(Decrement) then
    Counter:=Counter-1;
END_IF;

Letzte Änderung am: 2022-01-19Feedback zu dieser SeitePanasonic Hotline