Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Boucle FOR … TO … STEP … NEXT

  • Last UpdatedSep 24, 2024
  • 2 minute read

FOR-NEXT boucle sur une ou plusieur instructions à l'intérieur d'un script plusieurs fois pendant la même exécution du script. Le format classique de la boucle FOR-NEXT est le suivant :

FOR <var_analog> = <expression_initiale> TO <expression_finale> [STEP <expression_changement>];

[instructions];

[EXIT FOR;];

[instructions];

NEXT;

Où :

  • var_analog est une variable de type Integer, Float, Real ou Double.

  • expression_initiale est une expression valide pour initialiser var_analog avec une valeur avant d'exécuter la boucle.

  • expression_finale est une expression valide. Si var_analog est plus grande que expression_finale, l'exécution du script saute à l'instruction qui suit immediatement l'instruction NEXT.

    Cela reste vrai si la boucle gère un incrément mais autrement, si la boucle gère un décrément, la sortie de boucle se produit si var_analog est inférieure à expression_finale.

  • expression_changement est une expression qui définit l'incrément ou le décrément de valeur de var_analog après exécution de l'instruction NEXT. La valeur expression_changement peut être positive ou négative.

    • Si expression_changement est positive, expression_initiale doit être inférieure ou égale à expression_finale, sans quoi les instructions dans la boucle ne sont pas exécutées.

    • Si expression_changement est négative, expression_initiale doit être supérieure ou égale à expression_finale pour que le corps de la boucle s'exécute.

  • Si STEP n'est pas défini, alors expression_changement vaut 1 par défaut pour des incréments positifs, et -1 par défaut pour des décréments négatifs.

L'instruction EXIT FOR permet de sortir de la boucle pendant l'exécution du corps de boucle.

La boucle FOR s'exécute comme ceci :

  1. var_analog est égale à expression_initiale.

  2. Si expression_changement est positive, le système teste si var_analog est supérieure à expression_finale. Dans ce cas, il quitte la boucle. Si expression_changement est négative, le système teste si var_analog est inférieure à expression_finale. Dans ce cas, l'exécution du programme sort de la boucle.

  3. Les instructions dans le corps de boucle sont exécutées. Il est possible de quitter la boucle avec l'instruction EXIT FOR.

  4. var_analog est incrémentée de 1, -1 ou de la valeur expression_changement si celle-ci est spécifiée.

  5. Les étapes 2 à 4 sont répétées.

Il est possible d'imbriquer des boucles FOR-NEXT. Le nombre d'imbrications possibles dépend de la disponibilité de mémoire et de ressources.