Adresses
Attention
Si vous utilisez des pointeurs vers des adresses, le contenu des adresses peut être déplacé lors d'une modification en ligne. Si vous utilisez des adresses absolues, le contenu des adresses ne change pas lors d'une modification en ligne.
Syntaxe:
%
<numéro de la zone de mémoire> <préfixe de taille> <numéro de position> .
<numéro de position du bit>
| Nécessaire Adresse dans la zone mémoire
|
<préfixe 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 |
Lors de la définition d'une adresse, vous utilisez des chaînes spécifiques pour exprimer la position et la taille de la mémoire. Une adresse est indiquée par le signe pourcentage (%
), suivi du préfixe de plage de mémoire, du préfixe de taille facultatif et de la position de la plage de mémoire. La numérotation que vous utilisez pour adresser la position de mémoire dépend du système cible.
| Adresse de bit unique du bit de sortie 7.5 |
| Adresse de mot du mot d'entrée 215 |
| Adresse d'octet de l'octet de sortie 7 |
| Adresse d'un mot double à l'emplacement mémoire 48 dans la mémoire mémento |
| Adresse de mot d'un mot d'entrée ; interprétation en fonction de la configuration actuelle du contrôleur |
VAR wVar AT %IW0 : WORD; END_VAR | Déclaration de variable avec les informations d'adresse d'un mot d'entrée |
VAR xActuator AT %QW0 : BOOL; END_VAR | Déclaration de variable booléenne Remarque : Pour les variables booléennes, un octet est alloué en interne si une adresse de bit unique n'est pas spécifiée. Un changement de la valeur de |
VAR xSensor AT %IX7.5 : BOOL; END_VAR | Déclaration de variable booléenne avec spécification explicite d'une adresse de bit unique A l'accès, seul le bit d'entrée 7.5 est lu. |
Position mémoire
Assurez-vous que l'adresse est valide comme suit :
Pour mapper une adresse valide dans une application, vous devez d'abord connaître la position requise dans l'image de processus. Cela signifie la zone mémoire applicable : zone de mémoire d'entrée (I
), zone de mémoire de sortie (Q
), ou signalez la zone mémoire (M
) (voir ci-dessus). De plus, vous devez spécifier le préfixe de taille requis : bit BYTE
, WORD
, DWORD
(voir ci-dessus : X
, B
, W
, D
)
La configuration et les paramètres de l'appareil actuellement utilisés (structure matérielle, description de l'appareil, paramètres d'E/S) jouent un rôle décisif.
Pay special attention to the differences in the interpretation of bit addresses between devices with byte addressing and devices with word-oriented IEC addressing.
Dans le cas de l'adresse binaire %IX5.5
, le nombre avant le point adresse l'octet 5 dans un périphérique adressé par octet et le mot 5 dans un périphérique adressé par mot.
En revanche, l'adressage par une adresse de mot ou d'octet est indépendant du type d'appareil : avec %IW5
, le mot 5 est toujours adressé et avec une adresse en octets %IB5
toujours l'octet 5. En fonction de la taille et du mode d'adressage, vous pouvez donc adresser différentes cellules de mémoire avec les mêmes informations d'adresse.
Le tableau suivant montre la comparaison de l'adressage par octets et de l'adressage IEC orienté mot pour les bits, les octets, les mots et les mots doubles. Il montre également les zones de mémoire qui se chevauchent pour l'adressage par octets. Voir l'exemple à la fin du tableau.
concerne la syntaxe, notez que l'adressage IEC est toujours orienté vers les mots. Le numéro du mot est situé avant le point et le numéro du bit après le point.

n = numéro d'octet
D0
contient B0
- B3
. W0
contient B0
et B1
. W1
contient B2
et B3
. W2
contient B4
et B5
.
W1
, mais aussi D1
, D2
, et D3
ne doit pas être utilisé pour l'adressage. Cela permet d'éviter les chevauchements.