SA0015: Accesso ai dati globali tramite FB_Init
Determina l'accesso di un blocco funzione alle variabili globali tramite il metodo FB_Init
. Il valore di questa variabile dipende dall'ordine delle inizializzazioni!
Motivo: a seconda del punto di dichiarazione dell'istanza di un blocco, in caso di violazione della regola รจ possibile che si acceda a una variabile non inizializzata.
Importanza: Alta
Esempio 28. Esempio
VAR_GLOBAL g_xTest1 : BOOL; g_iTest3 : INT; END_VAR
METHOD PUBLIC fb_init : BOOL VAR_INPUT (* If TRUE, the retain variables are initialized (warm start / cold start) *) bInitRetains : BOOL; (* If TRUE, the instance afterwards gets moved into the copy code (online change) *) bInCopyCode : BOOL; END_VAR
g_xTest1 := NOT g_xTest1; // SA0015 g_iTest3 := g_iTest3 + INT#1; // SA0015
Uscita in Messaggi vista:
SA0015: Il metodo FB_Init del blocco funzione 'POU' accede ai dati globali