Lire un drapeau d’entrée directement
Cette instruction lit la valeur d’un drapeau d’entrée (X) à l’aide d’une commande d’exécution directe. L’entrée Input_X sera lue de manière asynchrone pendant le cycle API en cours.
Entrée
Variable globale avec adresse FP ou adresse utilisateur explicite à lire directement.
FP0H, FP-XH uniquement : X0–X109F est la plage d’adresses FP valide auxquelles une broche d’entrée réelle est affectée. Sinon, une erreur d’opération apparaît sur l’automate.
Sortie
Valeur de Input_X lue directement
FP_DIRECT_INPUT (avec FP7)
Dans la liste des variables globales, vous définissez des variables qui sont accessibles par tous les POU dans le projet.
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction ont été déclarées dans l’en-tête du POU.Le même en-tête de POU est utilisé pour tous les langages de programmation.
VAR
bValue: BOOL:=FALSE;
END_VAR
VAR_EXTERNAL
g_bDirectIn_X1: BOOL:=FALSE;
END_VAR
VAR
bReadInput: BOOL:=FALSE;
END_VAR
La fonction est exécutée lorsque la variable bReadInput est sur TRUE.
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;