AT
Pour lier une variable de projet à une adresse définitive, utilisez la vue
de l'équipement, au niveau de la configuration du contrôleur (éditeur d'appareil). Une autre méthode consiste à indiquer cette adresse directement dans la déclaration de la variable.<variable name> AT <address> : <data type>;
<address> : %<memory area prefix> ( <size prefix> )? <memory position
Le mot clé AT
doit être suivi d'une adresse valide. Pour plus d'informations, reportez-vous à la section Adresses. Des chevauchements sont possibles avec le mode d'adressage par octets.
Cette déclaration permet d'attribuer un nom significatif à une adresse. Tout changement affectant un signal entrant ou sortant doit nécessairement être effectué de manière centralisé (par exemple, dans la déclaration).
Tenez compte des points suivants au moment de sélectionner une variable à attribuer à une adresse :
Les variables nécessitant une entrée ne sont pas accessibles en écriture. Dans le cas contraire, le compilateur les intercepte et détecte une erreur.
Les déclarations d'adresse AT
sont réservées aux variables locales et globales. Il est impossible de les utiliser pour les variables d'entrée et de sortie des POU.
Les déclarations d'adresse AT
ne sont pas autorisées dans les listes de variables persistantes.
En cas d'utilisation de déclarations d'adresse AT
avec les membres d'une structure ou d'un bloc fonction, toutes les instances accèdent au même emplacement de mémoire que la structure ou le bloc fonction en question. Cela correspond aux variables statiques des langages de programmation classiques, comme le langage C.
La cible détermine également la disposition de la mémoire des structures.
xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;
Les variables booléennes attribuées à une adresse de type BYTE, WORD ou DWORD occupent 1 octet avec la valeur TRUE ou FALSE, et pas seulement le premier bit situé après le décalage.
La taille en mémoire des données d'entrée, de sortie et de mémoire (déclarations avec AT %I
, %Q
et %M
) est prédéfinie par l'appareil cible et peut être modifiée dans les propriétés d'un objet d'application pour les contrôleurs PacDrive (PacDrive LMC Eco, PacDrive LMC Pro/Pro2).