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.
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.