Ermittelt Deklarationen mit REFERENCE TO
-Schnittstellen und Deklarationen von VAR_IN_OUT
-Variablen mit Schnittstellen (implizit über REFERENCE TO
realisiert).
Begründung: Ein Schnittstellentyp ist immer implizit eine Referenz auf eine Instanz eines Funktionsbausteins, der diese Schnittstelle implementiert. Eine Referenz auf eine Schnittstelle ist demnach eine Referenz auf eine Referenz und kann zu sehr unerwünschtem Verhalten führen.
Wichtigkeit: Hoch
Beispiel
ITF
ist eine im Projekt definierte Schnittstelle.
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: Referenz auf Schnittstelle 'itf_ref' --> SA0044: Referenz auf Schnittstelle 'itf4_ref'