Skip to main content

Avertissement du compilateur C0266

Message: La condition de sortie de boucle '<condition>' est constante FALSE. Boucle sans fin possible.

Cause d'erreur possible: Dans un FOR boucle, l'itération a lieu sur toute la plage de valeurs de la variable de contrôle.

Correction d'erreur: Conformément à la norme IEC 61131, les déclarations contenues dans FOR les boucles ne sont exécutées que lorsque la valeur de la variable de contrôle dépasse la valeur finale. Par conséquent, utilisez un type suffisamment grand pour la variable de contrôle qui peut mapper la valeur finale+1

Exemple 462. Exemple d'avertissement
PROGRAM PLC_PRG
VAR
      b : BYTE;
      i : INT;
END_VAR
FOR b := 0 TO 255 BY 1 DO
      i := i + 1;
END_FOR;

Message

C0266 : La condition de sortie de boucle « b > 255 » est constante FALSE. Boucle infinie possible.