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

AVEVA™ InTouch HMI

Utilisation de boucles dans des programmes

  • Last UpdatedSep 24, 2024
  • 2 minute read

Les boucles permettent d'exécuter une section de code de manière répétée. InTouch HMI ne prend en charge que les boucles FOR. Une boucle FOR réalise des tests successifs de la valeur d'une variable numérique, incrémentée ou décrémentée à chaque nouvelle itération de la boucle. La boucle est exécutée jusqu'à ce que la valeur de la variable de boucle atteigne une limite fixée.

Syntaxe

FOR LoopTag = StartExpression TO EndExpression [STEP ChangeExpression]

... instructions ou une autre boucle FOR ...

NEXT;

  • StartExpression, EndExpression et ChangeExpression définissent ensemble le nombre d'itérations.

  • StartExpression définit le début de la plage en boucle. EndExpression définit la fin de la plage en boucle.

  • STEP ChangeExpression est facultatif et définit la valeur d'incrément ou de décrément de la variable de boucle, à chaque nouvelle itération<:hs>; si vous ne définissez pas cette valeur, la valeur 1 est utilisée par défaut.

Lorsque vous exécutez une boucle FOR, InTouch HMI<:hs>:

  1. Définit LoopTag avec la valeur de StartExpression.

  2. Teste si LoopTag est supérieur à EndExpression. Si tel est le cas, InTouch HMI quitte la boucle. (Si ChangeExpression est négatif, InTouch HMI teste si LoopTag est inférieur à EndExpression).

  3. Exécute les instructions contenues dans la boucle.

  4. Incrémente LoopTag avec la valeur de ChangeExpression (soit 1, à moins d'indiquer autre chose).

  5. répète les étapes 2 à 4.

Gardez à l'esprit les règles suivantes, quand vous utilisez des boucles FOR<:hs>:

  • les boucles FOR peuvent être imbriquées. Le nombre maximum de niveaux d'imbrication dépend de la mémoire disponible et des ressources du système.

  • À chaque instruction FOR doit correspondre une instruction NEXT de fermeture. Une instruction NEXT s'applique toujours à l'instruction FOR précédente la plus proche, sur le même niveau d'imbrication.

  • LoopTag doit être une variable numérique (ou une variable locale).

  • StartExpression, EndExpression et ChangeExpression doivent être des expressions acceptées dont l'évaluation donne un résultat numérique.

  • Si ChangeExpression est positif, EndExpression doit être supérieur à StartExpression ; si ChangeExpression est négatif, StartExpression doit être supérieur à EndExpression. Autrement, la boucle ne démarre pas.

  • Pour quitter une boucle, utilisez l'instruction EXIT FOR. Pour plus d'informations, voir Forcer la fin d’une boucle.

  • Une sortie automatique des boucles est prévue. Voir Sortie automatique des boucles.

    Remarque : l’exécution des boucles affecte d’autres processus pendant l’exploitation. Pour plus d'informations, voir Effet des boucles sur d’autres processus pendant l’exploitation.