SA0034: Enumerazioni con assegnazione errataPermalink

Rileva i valori assegnati a una variabile di enumerazione. È possibile assegnare solo le costanti di enumerazione definite di una variabile di enumerazione.

Giustificazione: Una variabile di tipo enumerativo deve avere solo i valori previsti, altrimenti il codice che utilizza questa variabile potrebbe non funzionare correttamente. Si consiglia di utilizzare sempre le enumerazioni con ‎{attribute 'strict'}‎. In questo caso, il compilatore controlla già l'uso corretto dei componenti dell'enumerazione.

Importanza: Alto

Esempio

TYPE COLOR :
(
	Red := 0,
	Green,
	Yellow
);
END_TYPE

PROGRAM PLC_PRG
VAR
	eColor1: COLOR;
END_VAR

eColor1 := COLOR.Red;
eColor1 := 1;         // SA0034

--> SA0034: Use enumeration value instead of 'INT#1'