SA0037: Acceso de escritura a la variable de entrada
Detecta variables de entrada (VAR_INPUT) a los que se accede con permiso de escritura dentro de la POU
Justificación: De acuerdo con el estándar IEC 61131-3, una variable de entrada no debe cambiarse dentro de una POU. Este tipo de acceso también es causa de errores y hace que el código sea poco fácil de mantener. Esta es una indicación de que una variable se utiliza como variable de entrada y como variable auxiliar. Debe evitarse este tipo de doble uso.
Importancia: Media
ejemplo 47. Ejemplo
VAR_GLOBAL
g_xGlob AT %QX0.0 : BOOL;
END_VARPROGRAM PLC_PRG
VAR_INPUT
xVarIn1 : BOOL;
xVarIn2 : BOOL;
END_VAR
VAR
iCondition : INT;
END_VAR
iCondition := iCondition + INT#1;
CASE iCondition OF
INT#1:
g_xGlob := xVarIn1;
INT#2:
g_xGlob := xVarIn2;
ELSE
g_xGlob := FALSE;
xVarIn1 := FALSE; // SA0037
END_CASESalida en el Mensajes vista:
SA0037: Acceso de escritura a la variable de entrada 'xVarIn1'