SA0034: Enumeraciones con asignación incorrecta
Detecta valores que se asignan a una variable de enumeración. Solo se pueden asignar constantes de enumeración definidas de una variable de enumeración.
Justificación: Una variable del tipo enumeración debe tener solo los valores previstos; de lo contrario, es posible que el código que utiliza esta variable no funcione correctamente. Recomendamos utilizar siempre enumeraciones con el pragma. {attribute 'strict'}. Entonces el compilador ya comprueba el uso correcto de los componentes de enumeración.
Importancia: Alta
ejemplo 46. Ejemplo
TYPE COLOR :
(
Red := 0,
Green,
Yellow
);
END_TYPEPROGRAM PLC_PRG
VAR
eColor1: COLOR;
END_VAR
eColor1 := COLOR.Red; eColor1 := 1; // SA0034
Salida en el Mensajes vista:
SA0034: Utilice el valor de enumeración en lugar de 'INT#1'
Para más información, ver: