Skip to main content

SA0041 : détecter un éventuel code invariant de boucle

Détecte les affectations dans les boucles qui calculent la même valeur pour chaque cycle de boucle. De telles lignes de code pourraient être insérées en dehors de la boucle.

Justification : Il s'agit d'un avertissement de performance. Le code qui est exécuté dans une boucle, mais qui fait la même chose à chaque cycle de boucle, peut être exécuté en dehors de la boucle.

Importance : Moyenne

Exemple 50. Exemple
PROGRAM PLC_PRG
VAR
    iCounter, iVar1, iVar2 : INT;
END_VAR
FOR iCounter := 0 TO 10 DO
    iVar1 := 100;    // SA0041
    iVar2 := iVar2 + iVar1;
END_FOR

Sortie dans le messages voir:

  • sa_icon_message.png SAN0041 : Code invariant de boucle possible 'iVar1 := 100'