Instruction ST: FOR
le FOR
loop est utilisé pour exécuter des instructions avec un certain nombre de répétitions.
Syntaxe:
FOR <counter> := <start value> TO <end value> {BY <increment> } DO <instructions> END_FOR;
La section à l'intérieur des parenthèses bouclées {} est facultative.
CODESYS exécute le <instructions>
tant que le <counter>
n'est pas supérieur à - ou dans le cas d'une valeur négative increment
pas moins que - le <end value>
. Ceci est vérifié avant l'exécution de la <instructions>
.
Chaque fois que le <instructions>
instruction ont été exécutées, le compteur <counter>
est automatiquement augmenté de l'incrément <increment>
. L'incrément <increment>
peut avoir n'importe quelle valeur entière. Si vous ne spécifiez pas d'incrément, l'incrément standard est 1
.
FOR iCounter := 1 TO 5 BY 1 DO iVar1 := iVar1*2; END_FOR; Erg := iVar1;
Si vous avez préconfiguré iVar1
avec 1
, iVar1
a la valeur 32
après la boucle FOR.
Attention
La valeur finale <valeur finale> ne doit pas avoir la même valeur que la limite supérieure du type de données du compteur.
Si la valeur finale du compteur est égale à la limite supérieure du type de données du compteur, une boucle infinie en résulte. Par exemple, une boucle infinie donne l'exemple ci-dessus si iCounter
est du type de données SINT
et le <end value>
équivaut à 127
, puisque le type de données SINT
a la limite supérieure 127
.
En tant qu'extension de la norme CEI 61131-3, vous pouvez utiliser le CONTINUEZ
déclaration au sein de la FOR
boucler.