FP_DIRECT_IN

Eingangsmerker direkt lesen

Dieser Befehl liest den Wert eines Eingangsmerkers (X) mittels direkter Ausführung. Der Input_X wird innerhalb des aktuellen SPS-Zyklus asynchron gelesen.

Eingang

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

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

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

Ausgang

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

Direkt aus Input_X gelesener Wert

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
		bValue: BOOL:=FALSE;
	END_VAR
	VAR_EXTERNAL
		g_bDirectIn_X1: BOOL:=FALSE;
	END_VAR
	VAR
		bReadInput: BOOL:=FALSE;
	END_VAR

KOP-RumpfCopy code to clipboard

Wenn die Variable bReadInput 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,,bReadInput,4,1,6,3,);
B(B_F,E_FP_DIRECT_IN!,,15,0,23,4,,?DEN?DInput_X?AENO?CValue);
B(B_VARIN,,g_bDirectIn_X1,13,2,15,4,);
B(B_VAROUT,,bValue,23,2,25,4,);
L(1,0,1,5);
L(1,2,4,2);
L(6,2,15,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-RumpfCopy code to clipboard

if (bReadInput) then
    bValue:=FP_DIRECT_IN(g_bDirectIn_X1);
end_if;

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