Skip to main content

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:

  • sa_icon_message.png SA0034: Utilice el valor de enumeración en lugar de 'INT#1'



Para más información, ver: