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_TYPE
PROGRAM 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: