Skip to main content

Instruction ST : WHILE

le WHILE boucle est utilisée comme la POUR boucle afin d'exécuter des instructions plusieurs fois jusqu'à ce que la condition d'abandon se produise. La condition d'abandon d'un WHILE loop est une expression booléenne.

Syntaxe:

WHILE <boolean expression> DO
  <instructions>
END_WHILE;

CODESYS exécute à plusieurs reprises le <instructions> déclarations aussi longtemps que <Boolean expression> renvoie VRAI. Si l'expression booléenne est déjà FALSE lors de la première évaluation, puis CODESYS n'exécute jamais les instructions. Si l'expression booléenne n'applique jamais la valeur FALSE, les instructions sont répétées à l'infini, ce qui entraîne une erreur d'exécution.

Exemple 73. Exemple
WHILE iCounter <> 0 DO
  Var1 := Var1*2
  iCounter := iCounter-1;
END_WHILE;


Important

Vous devez utiliser la programmation pour vous assurer qu'aucune boucle infinie n'est provoquée.

Dans un certain sens le WHILE et RÉPÉTER Les boucles sont plus puissantes que la boucle FOR, car vous n'avez pas besoin de connaître déjà le nombre d'exécutions de la boucle avant son exécution. Dans certains cas, il n'est donc possible de travailler qu'avec ces deux types de boucles. Cependant, si le nombre d'exécutions de boucle est clair, alors un FOR loop est préférable afin d'éviter les boucles infinies.

En tant qu'extension de la norme CEI 61131-3, vous pouvez utiliser le CONTINUEZ instruction dans la boucle WHILE.