Skip to main content

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.

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