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
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
Direkt aus Input_X gelesener Wert
FP_DIRECT_INPUT (bei FP7)
In der globalen Variablenliste können Sie Variablen festlegen, die von allen POEs des Projekts verwendet werden können.
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
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
if (bReadInput) then
bValue:=FP_DIRECT_IN(g_bDirectIn_X1);
end_if;