AdrLast_Of_Var

Renvoie l’adresse d’entrée ou de sortie

Cette fonction renvoie l’adresse d’une variable à l’entrée ou la sortie d’une fonction de base.

Paramètres

Entrée

AdrLast (ANY)

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é.

Renvoie l’adresse finale de 16 bits des variables d’entrée/de sortie.

Sortie

Var (ANY_IN_UNITS_OF_WORDS)

Variable de sortie pour laquelle l’adresse finale de 16 bits est nécessaire.

Remarques

  • L’adresse finale de 16 bits est générée en entrée/sortie AdrLast à partir de la variable d’entrée/sortie Var. L’entrée ou sortie "Adr" doit être directement connectée à l’entrée ou la sortie de 16 bits d’une fonction de base.

  • 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.

Exemple

En-tête du POU

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;
		data_field: ARRAY [0..5] OF INT:=[6(111)];
	END_VAR

Corps en LD

La fonction est exécutée lorsque la variable start est sur TRUE. La fonction copie la valeur 100 dans tous les éléments de la zone de données, c.-à-d. tous les six éléments dans data_field ont la valeur 100.

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_COMMENT,,Initialization of all data fields with the values,2,0,22,1,);
B(B_F,F11_COPY!,Instance,5,2,12,7,,?DEN?Ds?AENO?Cd1_Start?Cd2_End);
B(B_VARIN,,start,3,3,5,5,);
B(B_VARIN,,100,3,4,5,6,);
B(B_F,AdrLast_Of_Var_O!,Instance,14,6,24,8,,?D?C);
B(B_VAROUT,,data_field,24,6,26,8,);
B(B_F,Adr_Of_Var_O!,Instance,14,4,22,6,,?D?C);
B(B_VAROUT,,data_field,22,4,24,6,);
L(12,5,14,5);
L(12,6,12,7);
L(12,7,14,7);
L(1,0,1,8);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Autre exemple, voir : Exemple

Modifié le : 2021-08-09Commentaires sur cette pageAssistance téléphonique