AT déclaration
Utilisation d'un éditeur de configuration clair pour le mappage des E/S
Nous vous déconseillons d'attribuer des adresses mémoire comme décrit ici, car cela peut entraîner une perte de clarté.
Nous vous recommandons d'attribuer des adresses mémoire aux variables dans l'éditeur de configuration Modifier l'image d'E/S de l'appareil.
Le mot clé AT
dans la déclaration des variables attribue à une variable de projet une adresse d'entrée, une adresse de sortie ou une adresse mémoire spécifique du contrôleur qui est configurée dans l'arborescence des périphériques.
La déclaration AT permet de donner à l'adresse un nom significatif. Vous ne pouvez apporter les modifications nécessaires au signal entrant ou sortant qu'à un seul endroit, par exemple dans la déclaration.
Astuce
Vous pouvez apporter les modifications nécessaires aux signaux d'entrée ou de sortie à un seul endroit (par exemple, dans la déclaration).
Pour plus d'informations, voir :
Syntaxe
<nom de la variable> AT
%
<adresse>:
<type de données>;
<nom de la variable> | Nécessaire |
| Nécessaire Adresse dans la zone mémoire
|
<numéro de la zone de mémoire> | Nécessaire
|
<préfixe de taille> | Facultatif
|
<position de la mémoire> | <numéro de position > Exemple : |
<numéro de position> | Nécessaire La numérotation dépend du système cible et commence à 0. |
| Facultatif 0,7 pour un octet |
<type de données> | Facultatif Le type de données doit correspondre au préfixe de taille. |
VAR wInput AT %IW0 : WORD; END_VAR | Déclaration de variable avec indication d'adresse d'un mot d'entrée |
VAR xActuator AT %QW0 : BOOL; END_VAR | Déclaration de variable booléenne Remarque : Un octet est alloué en interne pour les variables booléennes si aucune adresse à un seul bit n'est spécifiée. Un changement de valeur de |
VAR xSensor AT %IX7.5 : BOOL; END_VAR | Déclaration de variable booléenne avec spécification explicite d'une adresse à un seul bit Lors de l'accès, seul le bit d'entrée 7.5 est lu. |
VAR xSensor AT %IX* : BOOL; END_VAR | Lors de la spécification de l'adresse, l'espace réservé est utilisé à la place de la position de stockage Remarque : Ceci est possible dans les blocs fonctionnels. |
Conseils utiles
Important
Sauf si vous spécifiez explicitement une adresse à un seul bit, les variables booléennes sont allouées octet par octet.
Important
Adresses de bits individuelles qui sont mappées à des variables booléennes sont soumises à des restrictions. Il n'est pas possible d'utiliser ces variables avec VAR_IN_OUT
, REFERENCE TO
, ou le ADR
opérateur.
Lorsque vous affectez une variable à une adresse, vous devez tenir compte des points suivants :
Vous ne pouvez pas écrire dans des variables affectées à une entrée. Cela conduit à une erreur du compilateur.
Tu peux faire
AT
déclarations uniquement pour les variables locales et globales, pas pour les variables d'entrée et de sortie du POU.Vous ne devez pas utiliser
AT
déclarations dans des listes de variables persistantes.Si vous utilisez
AT
déclarations pour les membres de la structure ou les variables des blocs fonctionnels, toutes les instances utilisent la même mémoire. Cela correspond à l'utilisation de « variables statiques » dans les langages de programmation classiques tels que « C ».La disposition de la mémoire des structures dépend également du système cible.
Exemple
PROGRAM PLC_PRG VAR xVar AT %QW0 : BOOL; END_VAR xVar := TRUE;
Lors de l'écriture des variables xVar
est la zone de mémoire de départ de QX0.0
jusqu'à QX0.7
affecté.