Une adresse directe définie dans EcoStruxure Machine Expert contient les informations suivantes :
oEmplacement dans la mémoire
oFormat de la mémoire (taille)
oDécalage dans la mémoire. Le décalage est indiqué par un entier. Pour une adresse de bit, il est suivi d'un point, puis d'un numéro indiquant la position du bit.
%<préfixe de zone mémoire><préfixe de taille><numéro|.numéro|.numéro…>
Les préfixes de zone mémoire suivants sont pris en charge :
I |
entrée (entrées physiques via le pilote d'entrée, capteurs) |
Q |
sortie (sorties physiques via le pilote de sortie, acteurs) |
M |
emplacement dans la mémoire |
Les préfixes de taille suivants sont pris en charge :
X |
bit unique |
Aucun |
bit unique |
B |
octet (8 bits) |
W |
mot (16 bits) |
D |
mot double (32 bits) |
Exemple d'adresse |
Description |
---|---|
%QX7.5 |
bit de sortie 7.5 |
%Q7.5 |
|
%IW215 |
mot d'entrée 215 |
%QB7 |
octet de sortie 7 |
%MD48 |
mot double à l'emplacement 48 dans la mémoire |
ivar AT %IW0: WORD; |
déclaration de variable contenant une attribution d'adresse Pour plus d'informations, reportez-vous au chapitre Déclaration d'une adresse AT. |
NOTE : L'espace mémoire pour les données d'entrée, de sortie et en mémoire (déclarations avec AT %I, %Q et %M) est prédéfini par l'équipement cible et peut être remplacé dans les propriétés d'un objet d'application pour les contrôleurs PacDrive (PacDrive LMC Eco, PacDrive LMC Pro/Pro2).
Modes d'adressage par octets et par mots
Les équipements utilisent soit le mode d'adressage par octets, soit le mode d'adressage par mots.
Exemples
Mode |
Exemple |
---|---|
Adressage par octets |
ADR(%IW1) = ADR(%IB1) |
Adressage par mots |
ADR(%IW1) = ADR(%IB2) |
Le deuxième élément de l'adresse de bit (le numéro suivant le point) est compris dans la plage suivante :
oAdressage par octets : 0…7
oAdressage par mots : 0…15
Vous pouvez configurer différemment la manière dont sont gérées les adresses de bit sur vos équipements. Le compilateur EcoStruxure Machine Expert saura les interpréter comme il se doit.
Exemple : sur un équipement avec adressage par octets, l'octet 2 (IB2) est adressé via %IX2.5. Sur un équipement avec adressage par mots, cette adresse correspond au mot 2, qui désigne un emplacement différent dans la mémoire.
NOTE : en l'absence d'adresse de bit unique explicite, les valeurs booléennes sont attribuées bit à bit. Par exemple, un changement de valeur varbool1 AT %QB7 affecte la plage QX0.0 à QX0.7.