Detecta declaraciones con interfaces REFERENCE TO y declaraciones de variables VAR_IN_OUT con interfaces (implícitamente implementadas mediante REFERENCE TO)
Justificación: Un tipo de interfaz es siempre implícitamente una referencia a una instancia de un bloque de funciones que implementa esta interfaz. Una referencia a una interfaz es, por tanto, una referencia a una referencia y puede dar lugar a comportamientos no deseados.
Importancia: Alta
Ejemplo
ITF es una interfaz definida en el proyecto.
PROGRAM PLC_PRG VAR inst:POU; itf_inst1 : ITF; itf_ref : REFERENCE TO ITF; // SA0044 END_VAR FUNCTION_BLOCK POU VAR_INPUT inst_itf2 : ITF; END_VAR VAR_OUTPUT inst_itf3 : ITF; END_VAR VAR_IN_OUT inst_itf4 : ITF; // SA0044 END_VAR --> SA0044: Reference to interface 'itf_ref' --> SA0044: Reference to interface 'itf4_ref'