SA0118: Initialisierungen nicht mit Konstanten

Funktion

Ermittelt Initialisierungen, die nicht Konstanten zuweisen.

Begründung

Initialisierungen sollten möglichst konstant sein und sich nicht auf andere Variablen beziehen. Insbesondere sollten Sie Funktionsaufrufe in der Initialisierung vermeiden, weil es dadurch zu einem Zugriff auf nicht initialisierte Daten kommen kann.

Wichtigkeit

Mittel

Beispiele:

Funktion F_ReturnDWORD:

FUNCTION F_ReturnDWORD : DWORD

Programm MAIN:

PROGRAM MAIN
VAR CONSTANT
    c1 : DWORD := 100;
END_VAR
VAR
    n1 : DWORD := c1;
    n2 : DWORD := F_ReturnDWORD();                  // => SA0118
    n3 : DWORD := 150;
    n4 : DWORD := n3;                               // => SA0118
END_VAR