Instruction ST : REPEAT
le REPEAT
boucle est utilisée comme la TANDIS QUE
boucle, mais à la différence que CODESYS ne vérifie la condition d'abandon qu'après l'exécution de la boucle. La conséquence de ce comportement est que le REPEAT
boucle est exécutée au moins une fois, quelle que soit la condition d'abandon.
Syntaxe:
REPEAT <instructions> UNTIL <boolean expression> END_REPEAT;
CODESYS exécute le <instructions>
déclarations jusqu'au <Boolean expression>
renvoie VRAI.
Si l'expression booléenne renvoie déjà TRUE
lors de la première évaluation, CODESYS exécute les instructions précisément une fois. Si l'expression booléenne n'applique jamais la valeur TRUE
, les instructions sont répétées à l'infini, ce qui entraîne une erreur d'exécution.
REPEAT Var1 := Var1*2; iCounter := iCounter-1; UNTIL iCounter = 0 END_REPEAT;
Dans un certain sens le WHILE
et REPEAT
les boucles sont plus puissantes que les POUR
boucle, puisque le nombre d'exécutions de la boucle n'a pas besoin d'être déjà connu avant son exécution. Dans certains cas, vous ne pouvez 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 déclaration au sein de la WHILE
boucler.