SA0102: Accesso alle variabili del programma/fb dall'esterno
Determina l'accesso esterno alle variabili locali di programmi o blocchi funzione.
Motivo: CODESYS consente l'accesso esterno in lettura alle variabili locali di programmi o blocchi funzione. Ciò rompe con il principio dell'incapsulamento dei dati (nascondere i dati) e non è conforme allo standard IEC 61131-3.
Importanza: Media
Esempio 91. Esempio
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;
Uscita in Messaggi vista:
SA0102: Accesso al programma/variabile fb 'iLocal' dall'esterno