FP_DIRECT_OUT

Ausgangsmerker direkt schreiben

Dieser Befehl schreibt den Wert eines Ausgangsmerkers (Y) mittels direkter Ausführung. Der Output_Y wird innerhalb des aktuellen SPS-Zyklus asynchron geschrieben.

Eingang

Value FP0H, FP-XH: (BOOL); FP7: (BOOL, WORD, DWORD)

Direkt in Output_Y geschriebener Wert

Ausgang

Output_Y FP0H, FP-XH: (BOOL); FP7: (BOOL, WORD, DWORD)

Globale Variable mit FP-Adresse oder expliziter Benutzeradresse, die direkt geschrieben werden soll.

Nur FP0H, FP-XH: Der gültige Bereich für die FP-Adresse liegt zwischen Y0–Y109F. Ihr wird ein realer Ausgangs-Pin zugewiesen. Ansonsten tritt in der Steuerung ein Operationsfehler auf.

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)
  • wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich
sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)
  • wenn der mit dem Index-Modifizierer definierte Bereich größer ist als der zulässige Bereich

Beispiel

Globale Variablen

In der globalen Variablenliste können Sie Variablen festlegen, die von allen POEs des Projekts verwendet werden können.

POE-KopfCopy code to clipboard

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
		bWriteOutput: BOOL:=FALSE;
	END_VAR

KOP-RumpfCopy code to clipboard

Wenn die Variable bWriteOutput auf TRUE gesetzt wird, wird die Funktion ausgeführt.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_CONTACT,,bWriteOutput,5,1,7,3,);
B(B_F,E_FP_DIRECT_OUT!,,15,0,24,4,,?DEN?DValue?AENO?COutput_Y);
B(B_VARIN,,bValue,13,2,15,4,);
B(B_VAROUT,,g_bDirectOut_Y1,24,2,26,4,);
L(1,0,1,5);
L(1,2,5,2);
L(7,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-RumpfCopy code to clipboard

if (bWriteOutput) then
    g_bDirectOut_Y1:=FP_DIRECT_OUT(bValue);
end_if;

Letzte Änderung am: 2023-03-22Feedback zu dieser SeitePanasonic Hotline