Rileva le assegnazioni nei loop che calcolano lo stesso valore per ogni ciclo del loop. Queste righe di codice possono essere inserite al di fuori del ciclo.
Giustificazione: Si tratta di un avviso di prestazione. Il codice che viene eseguito in un ciclo, ma che fa la stessa cosa in ogni ciclo, può essere eseguito al di fuori del ciclo.
Importanza: Medio
Esempio
PROGRAM PLC_PRG VAR iCounter, iVar1, iVar2: INT; END_VAR FOR iCounter := 0 TO 10 DO iVar1 := 100; // SA0041 iVar2 := iVar2 + iVar1; END_FOR --> SAN0041: Possible loop invariant code 'iVar1 := 100'