Renvoyer l’adresse d’entrée ou de sortie
Cette fonction renvoie l’adresse d’une variable à l’entrée ou la sortie d’une instruction système non surchargée.
Entrée
Cette broche doit être connectée à l’entrée/la sortie d’une fonction de base pour laquelle le type de données INT, WORD est autorisé.
Livre l’adresse de départ de 16 bits des variables d’entrée/de sortie
Sortie
Variable d’entrée/de sortie pour laquelle l’adresse de départ de 16 bits est nécessaire
L’adresse de départ de 16 bits est générée en entrée/sortie Adr à partir des variables d’entrée/sortie Var. Cette entrée/sortie doit être directement connectée à l’entrée ou la sortie de 16 bits d’une instruction système non surchargée.
Pour les éditeurs LD et FBD uniquement : Utilisez Instruction d’entrée ou Instruction de sortie à partir du volet Instructions pour insérer l’instruction requise dans la fenêtre de programmation.
Un type de données structurées est affecté dans DUT. Dans ce DUT, seules les variables non booléennes sont déclarées.
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
start: BOOL:=FALSE;
DutNonBoolean: @'Dut_NonBoolean';
END_VAR
La variable DutNonBoolean du type de données affecté dans le DUT ci-dessus est déclarée. Les valeurs n’ont pas été affectées aux éléments de la variable DutNonBoolean dans l’en-tête ou le corps du POU car les valeurs de la variable DutNonBoolean sont écrasées après exécution de la fonction F12_ICRD.
La fonction F12_ICRD est exécutée lorsque la variable start est sur TRUE. La fonction lit les valeurs sur la carte CI à partir de l’adresse 100 et écrit les informations dans la variable DutNonBoolean. La carte CI doit être formatée correctement via le menu et si nécessaire, les valeurs à partir de l’adresse 100 doivent être disponibles sur la carte CI.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
ACTIVE_NETWORK := 0 ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 12 ;
NETWORK_BODY
B(B_COMMENT,,It reads the values on the IC card from address 100 and writes theø^information to the variable DutNonBoolean,2,0,27,2,);
B(B_F,P12_ICRD!,Instance,9,2,17,7,,?DEN?Ds1_Start?Ds2_Number?AENO?Cd_Start);
B(B_VARIN,,start,7,3,9,5,);
B(B_VARIN,,100,7,4,9,6,);
B(B_VAROUT,,DutNonBoolean,26,4,28,6,);
B(B_F,Adr_Of_Var_O!,Instance,18,4,26,6,,?D?C);
B(B_F,Size_Of_Var!,Instance,10,10,17,12,,?D?C);
B(B_VARIN,,DutNonBoolean,8,10,10,12,);
B(B_F,INT_TO_DINT!,Instance,17,10,25,12,,?D?C);
L(17,5,18,5);
L(1,0,1,12);
L(7,6,9,6);
L(7,6,7,9);
L(7,9,26,9);
L(26,9,26,11);
L(25,11,26,11);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Autres exemples de projets (répertoire "Samples" dans le répertoire d’installation de FPWIN Pro) :
Read, write IC card
Read, write shared memory