SA0044 : Déclarations avec référence à l'interface
Détecte les déclarations avec REFERENCE TO
interfaces et déclarations de VAR_IN_OUT
variables avec interfaces (implémentées implicitement au moyen de REFERENCE TO
)
Justification : Un type d'interface est toujours implicitement une référence à une instance d'un bloc fonction qui implémente cette interface. Une référence à une interface est donc une référence à une référence et peut entraîner un comportement indésirable.
Importance : Élevée
Exemple 53. Exemple
ITF
est une interface définie dans le projet.
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
PROGRAM PLC_PRG VAR inst : POU; itf_inst1 : ITF; itf_ref : REFERENCE TO ITF; // SA0044 END_VAR
Sortie dans le messages voir:
SA0044 : Référence à l'interface 'itf4_ref'
SA0044 : Référence à l'interface 'itf_ref'