Indexation dans des tableaux
Pour modifier dynamiquement l’élément de tableau auquel votre logique se réfère, utilisez une balise ou une expression comme indice pour pointer vers l’élément. Cela s’apparente à l’adressage indirect dans la logique PLC-5. Utilisez ces opérateurs dans une expression afin de spécifier un indice de tableau :
Opérateur | Description |
|---|---|
+ | ajouter |
- | soustraire/négation |
* | multiplier |
/ | diviser |
AND | AND |
FRD | BCD vers un entier |
NOT | compléter |
OU (OR) | OU (OR) |
TOD | entier en BCD |
SQR | racine carrée |
XOR | OU exclusif |
Par exemple :
Définitions | Exemple | Description |
|---|---|---|
my_list défini en tant que DINT[10] | my_list[5] | Cet exemple fait référence à l’élément 5 du tableau. Cette référence est statique car la valeur de l’indice reste constante. |
my_list défini en tant que DINT[10] position définie en tant que DINT | MOV la valeur 5 dans position my_list[position] | Cet exemple fait référence à l’élément 5 du tableau. Cette référence est dynamique car la logique peut modifier l’indice en changeant la valeur de la position. |
my_list défini en tant que DINT[10] position définie en tant que DINT décalage défini en tant que DINT | MOV la valeur 2 en position MOV la valeur 5 en décalage my_list[position+offset] | Cet exemple fait référence à l’élément 7 (2 + 5) du tableau. Cette référence est dynamique car la logique peut modifier l’indice en changeant la valeur de la position ou du décalage. |
Assurez-vous que chaque indice de tableau que vous saisissez se situe bien dans les limites du tableau spécifié. Les instructions qui considèrent que des tableaux constituent une collection d’éléments génèrent un défaut majeur (type 4, code 20) lorsqu’un indice dépasse la dimension qui lui correspond.
Fournir une réponse