Affectation de la mémoire pour les tableaux

La quantité de mémoire qu'utilise un tableau dépend du type de données utilisé pour créer le tableau. L'allocation minimale dans l'automate est de quatre octets, ce qui correspond à 4 SINT, 2 INT ou 1 DINT.
Voici des exemples d’allocation de mémoire pour différents tableaux :
small_values as SINT[8]
Exemple de tableau à 8 éléments dont le type de données est SINT (1 octet par élément).
Bit
31 24
23 16
15 8
7 0
Allocation de données 1
small_values[3]
small_values[2]
small_values[1]
small_values[0]
Allocation de données 2
small_values[7]
small_values[6]
small_values[5]
small_values[4]
small_values as SINT[3]
Exemple de tableau à 3 éléments dont le type de données est SINT (1 octet par élément). L'allocation de données minimale étant de 4 octets, le dernier octet est zéro.
Bit
31 24
23 16
15 8
7 0
Allocation de données 1
0
small_values[2]
small_values[1]
small_values[0]
valeurs au format INT[4]
Exemple de tableau à 4 éléments dont le type de données est INT (2 octets par élément).
Bit
31 16
15 0
Allocation de données 1
values[1]
values[0]
Allocation de données 2
values[3]
values[2]
big_values au format DINT[2]
Exemple de tableau à 2 éléments dont le type de données est DINT (4 octets par élément).
Bit
31 0
Allocation de données 1
big_values[0]
Allocation de données 2
big_values[1]
timer_list au format TIMER[2]
Exemple de tableau à 2 éléments, dont la structure est TIMER (12 octets par structure).
Bit
31 0
Allocation de données 1
Bits d'état de timer_list[0]
Allocation de données 2
timer_list[0].pre
Allocation de données 3
timer_list[0].acc
Allocation de données 4
Bits d'état de timer_list[1]
Allocation de données 5
timer_list[1].pre
Allocation de données 6
timer_list[1].acc
small_values au format SINT[2,2,2]
Exemple de tableau tridimensionnel à 8 éléments dont le type de données est SINT.
Bit
31 24
23 16
15 8
7 0
Allocation de données 1
small_values[0,1, 1]
small_values[0,1, 0]
small_values[0,0, 1]
small_values[0,0, 0]
Allocation de données 2
small_values[1,1, 1]
small_values[1,1, 0]
small_values[1,0, 1]
small_values[1,0, 0]
big_values au format DINT[2,2,2]
Exemple de tableau tridimensionnel à 8 éléments dont le type est DINT.
Bit
31 0
Allocation de données 1
big_values[0,0,0]
Allocation de données 2
big_values[0,0,1]
Allocation de données 3
big_values[0,1,0]
Allocation de données 4
big_values[0,1,1]
Allocation de données 5
big_values[1,0,0]
Allocation de données 6
big_values[1,0,1]
Allocation de données 7
big_values[1,1,0]
Allocation de données 8
big_values[1,1,1]
Vous pouvez modifier les dimensions du tableau pendant la programmation hors ligne sans perdre les données d'étiquette. Vous ne pouvez pas modifier les dimensions du tableau pendant la programmation en ligne.
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal