Detecta variables de salida (VAR_OUTPUT) a las que se accede con permiso de lectura dentro del POU.
Justificación: Según la norma IEC 61131-3, está prohibido leer una salida dentro de un POU. Esto indica que la salida no sólo se utiliza como salida, sino también como variable temporal para resultados intermedios. Este tipo de doble uso debe evitarse.
Importancia: Bajo
Ejemplo
VAR_GLOBAL g_xGlob AT %QX0.0 : BOOL ; g_iGlob AT %QW1 : INT ; END_VAR PROGRAM PLC_PRG VAR_OUTPUT xVarOut1:BOOL; xVarOut2:INT; xVarOut3:INT; END_VAR VAR iCondition : INT; END_VAR iCondition := iCondition + INT#1; CASE iCondition OF INT#1: xVarOut1 := g_xGlob; xVarOut2 := g_iGlob; INT#2: xVarOut3 := xVarOut2; // SA0038 ELSE xVarOut1 := FALSE; g_xGlob := xVarOut1; // SA0038 xVarOut2 := INT#0; xVarOut3 := INT#-1; END_CASE --> SA0038: Read access to output variable 'xVarOUT2' --> SA0038: Read access to output variable 'xVarOUT1'