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:
SAN0041 : Code invariant de boucle possible 'iVar1 := 100'