Présentation
Aperçu
Une référence d'instance de données par adresse n'est possible que sur certaines instances de données qui appartiennent à la famille EDT. Ces instances sont :
les variables internes (%M<i>, %MW<i>, %MD<i>, %MF<i>),
les constantes (%KW<i>, %KD<i>, %KF<i>),
les entrées/sorties (%I<adresse>, %Q<adresse>).
Référence par adressage direct
L'adressage est considéré direct quand l'adresse de l'instance est fixe, c'est-à-dire définie lors de l'écriture dans le programme.
Exemples :

Références par adresse indexée
L'adressage est considéré indexé lorsque l'adresse de l'instance est complétée par un index.
L'index est défini soit par :
une valeur appartenant aux types Entiers,
une expression arithmétique composée de types Entiers.
Une variable indexée a toujours un équivalent non indexé :

Les règles de calcul de <j> sont les suivantes :
Objet<i>[index] |
Objet<j> |
---|---|
%M<i>[index] |
<j>=<i> + <index> |
%MW<i>[index] |
<j>=<i> + <index> |
%KW<i>[index] |
<j>=<i> + <index> |
%MD<i>[index] |
<j>=<i> + (<index> x 2) |
%KD<i>[index] |
<j>=<i> + (<index> x 2) |
%MF<i>[index] |
<j>=<i> + (<index> x 2) |
%KF<i>[index] |
<j>=<i> + (<index> x 2) |
Exemples :

Lors de la compilation du programme, un contrôle vérifie que :
l'index n'est pas négatif,
l'index ne dépasse pas l'espace mémoire alloué pour chacun des trois types.
Bits extraits de mots
Il est possible d'extraire l'un des 16 bits des mots simples (%MW, %SW; %KW, %IW, %QW).
L'adresse de l'instance est complétée par le rang du bit extrait (<j>).

Exemples :

Bits extraits d'octets
Il est possible d'extraire l'un des bits d'un octet.
L'adresse du bit extrait est accessible par :
le nom de l'octet correspondant,
le rang définissant sa position dans l'octet (nombre entre 0 et 7).
Exemple :
MyByte est une variable de type BYTE. MyByte.i est une valeur BOOL valide si 0 <= i <= 7
MyByte.0, MyByte.3 et MyByte.7 sont des valeurs BOOL valides.
MyByte.8 n'est pas valide.
Création d'un type de structure avec le bit extrait
L'utilisateur peut créer un type de structure à l'aide du bit extrait.
Pour afficher la boîte de dialogue Classement des bits, cliquez avec le bouton droit sur l'instance ou le type de données qui doit être :
WORD
UINT
INT
BYTE
un bit extrait avec un parent compatible
Tableaux de bits et de mots
Il s'agit d'une suite d'objets adjacents (bits ou mots) de même type et de longueur définie.

Présentation des tableaux de bits :
Type |
Adresse |
Accès en écriture |
---|---|---|
Bits d'entrées TOR |
%Ix.<i>:L |
Non |
Bits de sorties TOR |
%Qx.<i>:L |
Oui |
Bits internes |
%M<i>:L |
Oui |
Présentation des tableaux de mots :
Type |
Adresse |
Accès en écriture |
---|---|---|
Mots internes |
%MW<i>:L %MD<i>:L %MF<i>:L |
Oui |
Mots constantes |
%KW<i>:L %KD<i>:L %KF<i>:L |
Non |
Mots système |
%SW50:4 |
Oui |
Exemples :
%M2:65 définit un tableau EBOOL de %M2 à %M66.
%M125:30 définit un tableau INT de %MW125 à %MW154.