Leer la bandera de entrada directa
Esta instrucción lee el valor de una bandera de entrada (X) utilizando un comando de ejecución directa. La Input_X se leerá de forma asíncrona dentro del ciclo actual del PLC.
Entrada
Variable global con dirección FP o direccionamiento explícito que será leída directamente.
FP0H, FP-XH solamente: El rango válido para la dirección FP es X0–X109F, al que se le asigna un pin de entrada real. Si no es así, el PLC genera un error de operación.
Salida
Valor leído directamente de Input_X
FP_DIRECT_INPUT (cuando se utiliza el FP7)
En la Lista de Variables Globales, se definen las variables a las que pueden acceder todas las POUs del proyecto.
Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU.Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.
VAR
bValue: BOOL:=FALSE;
END_VAR
VAR_EXTERNAL
g_bDirectIn_X1: BOOL:=FALSE;
END_VAR
VAR
bReadInput: BOOL:=FALSE;
END_VAR
Cuando la variable bReadInput se encuentra a TRUE, se ejecuta la función.
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;