SA0056: Konstante außerhalb des gültigen Bereichs
Funktion | Ermittelt Literale (Konstanten) außerhalb des für den Operator gültigen Bereichs. |
Begründung | Die Meldung wird für Fälle ausgegeben, in denen eine Variable mit einer Konstanten verglichen wird, die außerhalb des Wertebereichs dieser Variablen liegt. Der Vergleich liefert dann konstant TRUE oder FALSE. Dies deutet auf einen Programmierfehler hin. |
Wichtigkeit | Hoch |
Beispiele:
PROGRAM MAIN
VAR
nBYTE : BYTE;
nWORD : WORD;
nDWORD : DWORD;
nUSINT : USINT;
nUINT : UINT;
nUDINT : UDINT;
bResult : BOOL;
END_VARbResult := nBYTE >= 355; // => SA0056
bResult := nWORD > UDINT#70000; // => SA0056
bResult := nDWORD >= ULINT#4294967300; // => SA0056
bResult := nUSINT > UINT#355; // => SA0056
bResult := nUINT >= UDINT#70000; // => SA0056
bResult := nUDINT > ULINT#4294967300; // => SA0056