Skip to main content

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:

  • sa_icon_message.png SA0044 : Référence à l'interface 'itf4_ref'

  • sa_icon_message.png SA0044 : Référence à l'interface 'itf_ref'