Skip to main content

SA0102 : Accès aux variables programme/fb depuis l'extérieur

Détecte les accès externes aux variables locales des programmes ou des blocs fonctionnels.

Justification: CODESYS permet un accès externe en lecture aux variables locales des programmes ou des blocs fonctionnels. Cela contredit le principe d'encapsulation des données (cacher les données) et n'est pas conforme à la norme CEI 61131-3.

Importance : Moyenne

Exemple 91. Exemple
PROGRAM PLC_PRG
VAR
        iCounter : INT;
        afb_Instance : AFB;
        bfb_Instance : BFB;
END_VAR
iCounter := A_PRG.iLocal;                               //  SA0102
iCounter := bfb_Instance.iLocal;                 //  SA0102
A_PRG();
FUNCTION_BLOCK AFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
        iLocal: INT;
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
iLocal := iLocal + 1;
FUNCTION_BLOCK BFB EXTENDS AFB
VAR_INPUT
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR
METHOD METH : INT
VAR_INPUT
END_VAR
iLocal := iLocal + 1;
PROGRAM A_PRG
VAR
        iLocal: INT;
END_VAR
iLocal := iLocal + 1;

Sortie dans le messages voir:

  • sa_icon_message.png SA0102 : Accès au programme/variable fb 'iLocal' depuis l'extérieur