ContentHub
2026_ArraysInCodesys_FR_16-9_WEB.mp4
28 views
View transcript
Bonjour, Aujourd'hui on va voir à quoi servent les tableaux ou ARRAYS dans Codesys Imaginez un programme où vous avez besoin de déclarer cinq variables, par exemple iNum1 iNum2, iNum3 iNum4 et iNum5 Elles sont exactement du même type. Là, ce sont cinq variables entières. Dans ce cas là, ça va, on peut le faire manuellement. Il s'agit uniquement de cinq variables. Mais imaginez un programme dans lequel nous devons déclarer 100 variables du même type. Pour faciliter le travail, Il existe justement des tableaux. Comment mettre ces cinq variables dans le même tableau ? Pour écrire un tableau, on lui donne un nom. Ici, je mets “ai” pour ”array integer” “Num” C'était le nom des variables. Je déclare la variable. C'est une variable de type tableau. Et ici je veux mettre la numérotation de mes éléments. J'ai cinq éléments que je veux numéroter de 0 à 4, ça fait bien cinq éléments. Je mets zéro 2.4 et je vais mettre le type de variable stocké dans le tableau “OF INT” pour “INTEGER” Voilà, ça c'est mon tableau. À voir ce que cela donne dans le programme. Voilà, j'ai bien mes cinq éléments numériques, mes cinq integer. Ici on voit le type de variable par défaut, les variables sont initialisées à zéro. Comment changer la variable dans le programme ? Ça fonctionne comme ceci: Je vais d'abord déclarer une variable booléenne xStart, qui permettra de changer l'état d'une variable de tableau lorsqu'elle est à “vrai”. Ici, je mets le nom de mon tableau, puis je dois indiquer le numéro que je veux changer le numéro de l'élément du tableau. Comme c'est numéroté de 0 à 4. Imaginons que je veux changer le troisième élément du tableau. 0, 1, 2 Je vais mettre aI_Num2 et j'attribue la valeur par exemple de 12. Si cette variable n'est pas appelée, je vais remettre la valeur par défaut donc 0. Voyons ce que cela donne dans le programme. Et voilà la variable passe à vra.. Le troisième élément avec l'indice 2 passe bel et bien à 12 et quand la variable repasse à faux. Le troisième élément de mon tableau est de nouveau à zéro. Donc là, qu'est ce qu'on a fait ? On a créé ce tableau là, numéroté de 0 à 4 donc cinq éléments. Ici, les éléments sont déjà initialisés à 2, 5, 7, 10 et 3. Mais dans ce programme, l'initialisation n'est pas faite car par défaut les variables sont initialisées à zéro. Si je veux initialiser mon tableau comme ceci, je peux directement dans ma déclaration de variables après le INT, affecter à mes éléments des valeurs: 2, 5 7 10 et 3. Ici, si l'on regarde dans le programme, on voit bien mes différents éléments qui sont deux, cinq, sept, dix et trois et mon programme qui fonctionne toujours, qui passe le troisième élément à 12. Mais dans l'imaginaire collectif, un tableau avec une seule colonne, ça n'a pas vraiment de sens. Généralement qu'on se représente ça comme sous forme d'Excel, avec un axe X et un axe Y, donc qui permettent de retrouver une position. C'est un tableau à deux dimensions. Donc ici, on peut insérer des variables du même type dans chacune des cases de ce tableau à deux dimensions. Comment ça se passe dans Codesys ? Je vais déclarer un tableau, avec la fonction autoDeclare disponible sous “Edit” “AutoDeclare”. Je remets le nom de mon tableau. Dans Type, je choisis l'assistant de tableau et ainsi je peux déclarer ma première dimension ici de 0 à 3. Ma deuxième dimension également, ce qui nous fait un tableau de 4x4. Et là je peux déclarer le type d’éléments ici, des INTEGER je peux choisir de mettre un commentaire. Et d'initialiser certaines variables. Avec la fonction autoDECLARE, nous voyons directement le commentaire s'introduire et dessous. La déclaration du tableau à deux dimensions. Ici, donc avec un premier axe allant de 0 à 3 et un deuxième axe également de 0 à 3. Admettons que je veux modifier cet élément, j'ai donc besoin d'atteindre ici deux et ici deux dans mon programme. Si je veux changer cette variable avec x start qui passe à vrai, je vais reprendre le nom du tableau, puis mettre du coup ici deux indices 2,2, dont la valeur passera à 12. Voyons ce que cela donne sur notre programme. Je prends mon tableau, Je vois bien tous les éléments avec les différents axes. Nous voulons changer le 2.2 qui se trouve ici. Je passe ma variable à vrai. Et nous voyons que le 2.2 est bel et bien passé à 12. Cette méthode permet de retrouver certaines valeurs selon une position d'axe ou par exemple une surface. Mais on pourrait aller plus loin en donnant une troisième dimension à notre tableau, ce qui fait un peu représenter une sorte de volume. C'est une dimension de profondeur, mais nous pouvons aller encore plus loin. Nous pouvons aussi insérer dans un tableau des variables de type tableau, c'est à dire insérer un tableau dans un tableau. Pourquoi ferions nous ça ? Par exemple la gestion d’un chauffage. en fonction des heures et des jours de la semaine. Je peux déclarer un premier tableau avec mes différents jours de semaine, de lundi à dimanche. Donc je numérote ces jours de 1 à 7. Mais dans ce tableau, je veux mettre des heures. Donc un tableau contenant les 24 heures de la journée de 0 à 23. Et ce tableau contient des nombres entiers pour définir nos heures. Qu'est ce que ça donne dans notre programme ? Ici, nous voyons bien les sept jours de la semaine. Et si nous ouvrons un jour, par exemple le troisième jour, mercredi, nous voyons bien les 24 h de la semaine troisième jour, 20ᵉ heure par exemple. Ok, maintenant je veux tester de modifier. On va reprendre une variable xStart booléenne. Lorsque cette variable xStart passera à TRUE, alors le lundi à 6 h par exemple, on va mettre la température de la pièce à 21 degrés. Donc je mets le nom de mon tableau. Comme il y a deux tableaux, je vais devoir mettre deux crochets. Donc le lundi, c'est le premier crochet, donc ce sera le numéro 1 et à 6 h dans le deuxième crochet, je mets l'heure numéro 6 et on veut qu’il fasse une température de 21 degrés. Donc on va attribuer la valeur de 21 à notre Integer. Quand la variable xStart repasse à FALSE cela remettra notre lundi à 6 h. La valeur a zéro, donc la valeur ici par défaut. Voyons ce que ça donne dans ce programme. Je vais voir le lundi, donc premier jour de la semaine à 6 h. Ici le numéro six. La température est bel et bien à zéro. Je mets xStart à vrai. Et on retrouve ici une température de 21. C'est un exemple d'un tableau inséré à l'intérieur même d'un tableau pour pouvoir structurer plusieurs variables. Merci de votre attention et à très bientôt.