Skip to main content

SA0041: Detectar posible código invariable de bucle

Detecta asignaciones en bucles que calculan el mismo valor para cada ciclo de bucle. Estas líneas de código podrían insertarse fuera del bucle.

Justificación: Se trata de una advertencia de rendimiento. El código que se ejecuta en un bucle, pero que hace lo mismo en cada ciclo, se puede ejecutar fuera del bucle.

Importancia: Media

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

Salida en el Mensajes vista:

  • sa_icon_message.png SAN0041: Posible código invariante de bucle 'iVar1 := 100'