SA0008: Unterbereichstypen prüfen
Funktion | Ermittelt Bereichsüberschreitungen von Unterbereichstypen. Zugewiesene Literale werden bereits vom Compiler geprüft. Wenn Konstanten zugeordnet sind, müssen die Werte innerhalb des definierten Bereichs liegen. Wenn Variablen zugeordnet sind, müssen die Datentypen identisch sein. |
Begründung | Wenn Unterbereichstypen verwendet werden, dann sollte sichergestellt werden, dass dieser Unterbereich nicht verlassen wird. Der Compiler überprüft solche Unterbereichsverletzungen nur für Zuweisungen von Konstanten. |
Wichtigkeit | Niedrig |
![]() | Die Prüfung wird nicht für CFC-Objekte durchgeführt, da die Codestruktur dies nicht zulässt. |
Beispiel:
PROGRAM MAIN
VAR
nSub1 : INT (INT#1..INT#10);
nSub2 : INT (INT#1..INT#1000);
nVar : INT;
END_VARnSub1 := nSub2; // => SA0008
nSub1 := nVar; // => SA0008