SA0034: Enumerationsvariablen mit falscher Zuweisung
Ermittelt Werte, die einer Enumerationsvariablen zugewiesen sind. Es dürfen nur definierte Enumerationskonstanten einer Enumerationsvariablen zugewiesen sein.
Begründung: Eine Variable vom Typ einer Enumeration sollte auch nur die vorgesehenen Werte haben, ansonsten funktioniert Code, der diese Variable verwendet möglicherweise nicht richtig. Wir empfehlen, Enumerationen immer mit dem Pragma {attribute 'strict'} zu verwenden. Dann prüft bereits der Compiler die korrekte Verwendung der Enumerationskomponenten.
Wichtigkeit: Hoch
Beispiel 46. Beispiel
TYPE COLOR :
(
Red := 0,
Green,
Yellow
);
END_TYPEPROGRAM PLC_PRG
VAR
eColor1: COLOR;
END_VAR
eColor1 := COLOR.Red; eColor1 := 1; // SA0034
Ausgabe unter Ansicht Meldungen:
SA0034: Enumerationswert anstelle 'INT#1' verwenden
Für weitere Informatinen siehe: