La boîte de dialogue Propriétés permet de définir l’occupation de la mémoire par un DUT :
Avec éléments superposés
Avec éléments non superposés
Tous les éléments du type de données BOOL sont réunis en un bloc et affectés l’un après l’autre dans une zone mémoire réservée aux bits :
Lorsqu’un élément du type de données ARRAY OF BOOL est utilisé, la mémoire est affectée à partir d’une adresse de mot de 16 bits.
Lorsqu’aucun élément de type ARRAY OF BOOL n’est utilisé, la mémoire est affectée selon le nombre d’éléments booléens :
Nombre d’éléments booléens |
Adresse de départ d’affectation mémoire |
Affectation mémoire |
---|---|---|
1 |
A n’importe quelle adresse de bit : R0, R1, R2, … |
![]() |
2 |
A n’importe quelle adresse de bit paire : R0, R2, R4, … |
![]() |
4 |
En limite de digit, par ex. R0, R4, R8, … |
![]() |
8 |
En limite d’octet, par ex. R0, R8, R10, … |
![]() |
9 ou plus |
A une adresse de mot, par ex. R0, R10, R20, … |
![]() |
3 |
A n’importe quelle adresse de bit : R0–R2 : utilisés R3, R7 : inutilisés et complétés |
![]() DUT avec des éléments complétés (O : bit non utilisé et complété) |
5–7 |
A n’importe quelle adresse de bit : R0–R4 : utilisés R5–R7 : inutilisés et complétés |
![]() |
Si aucune adresse utilisateur n’est affectée et si 3 ou 5–7 éléments booléens sont utilisés dans un DUT, la mémoire occupée est complétée jusqu’à l’octet suivant ou jusqu’en limite de digit.
Ce booléen complété ne peut pas être utilisé.
Tous les éléments du type de données ARRAY OF BOOL sont réunis en un bloc et affectés dans une zone mémoire réservée aux bits à partir d’une adresse de mot de 16 bits.
Lorsque des éléments ARRAY OF BOOL sont utilisés : le simple booléen ou chaque élément ARRAY OF BOOL est affecté à une adresse de mot.
Zone de mot :
Zone booléenne :
Les bits disponibles ne sont pas occupés par le DUT et sont utilisés pour d’autres éléments booléens (simples) dont la taille correspond à ces espaces vides.
Lorsqu’un élément ARRAY OF BOOL doit être utilisé, il est recommandé d’utiliser un simple booléen, multiple de 16 ainsi que des tableaux de booléens avec booléens multiples de 16.
Tous les autres éléments sont réunis en un bloc et affectés l’un après l’autre dans une zone mémoire réservée aux mots de 16 bits.
En raison de l’optimisation de la configuration de la mémoire, l’ordre des adresses booléennes des éléments DUT diffère de celui défini dans la liste de déclaration des DUT.
En cas d’accès à un DUT avec des sous-éléments via des adresses utilisateur, la configuration de la mémoire doit être contrôlée à l’aide de l’exportation d’un fichier .csv ou la fenêtre du monitoring.
DUT sans élément du type de données BOOL (DUTwithoutBOOLs) :
Occupation de la mémoire par les DUT avec des éléments non superposés :
Zone de mots de 16 bits |
|
---|---|
DT100 |
wWORD1 |
DT101 |
dwWORD1 |
DT102 |
|
DT103 |
iINT1 |
DT104 |
diDINT1 |
DT105 |
|
DT106 |
wWORD2 |
DT107 |
dwWORD2 |
DT108 |
|
DT109 |
iINT2 |
DT110 |
diDINT2 |
DT111 |
|
DT112 |
rREAL1 |
DT113 |
|
DT114 |
sSTRING1 |
DT115 |
|
DT116 |
|
DT117 |
|
DT118 |
sSTRING2 |
DT119 |
|
DT120 |
|
DT121 |
Les variables String1 et String2 doivent être de longueur identique et en fin de déclaration.
DUT avec éléments du type de données BOOL DUTwithBOOLs (pas d’adresse définie par l’utilisateur) :
Occupation de la mémoire par les DUT avec des éléments non superposés :
Zone de bits |
Zone de mots de 16 bits |
|||
---|---|---|---|---|
R100 |
bBool1 |
DT100 |
wWORD1 |
|
R101 |
bBool2 |
DT101 |
dwWORD1 |
|
R102 |
bBool3 |
DT102 |
||
R103 |
bBool4 |
DT103 |
iINT1 |
|
DT104 |
diDINT1 |
|||
R110 |
Bools[0] |
DT105 |
||
R111 |
Bools[1] |
DT106 |
wWORD2 |
|
R112 |
Bools[2] |
DT107 |
dwWORD2 |
|
R113 |
Bools[3] |
DT108 |
||
R114 |
Bools[4] |
DT109 |
iINT2 |
|
DT110 |
diDINT2 |
|||
DT111 |
||||
DT112 |
rREAL1 |
|||
DT113 |
||||
DT114 |
sSTRING1 |
|||
DT115 |
||||
DT116 |
||||
DT117 |
La variable STRING1 doit être située en fin de déclaration.
DUT avec tableaux (Arrays) :
Occupation de la mémoire par les DUT avec des éléments non superposés :
Zone de mots de 16 bits |
|
---|---|
DT100 |
String1_Max |
DT101 |
String1_Act |
DT102 |
String1_Char12 |
DT103 |
String1_Char34 |
DT104 |
String2_Max |
DT105 |
String2_Act |
DT106 |
String2_Char12 |
DT107 |
String2_Char34 |
DT108 |
String_Parts[1,1] |
... |
... |
DT115 |
String_Parts[2,4] |
DT116 |
String1 |
DT117 |
|
DT118 |
|
DT119 |
|
DT120 |
String2 |
DT121 |
|
DT122 |
|
DT123 |
|
DT124 |
Strings[1] |
DT125 |
|
DT126 |
|
DT127 |
|
DT128 |
Strings[2] |
DT129 |
|
DT130 |
|
DT131 |
Les variables String1, String2 et Strings doivent être de longueur identique et en fin de déclaration.