SA0015 : Accès aux données globales via FB_Init
Détecte l'accès d'un bloc fonction à des variables globales au moyen de la méthode FB_Init
. La valeur de cette variable dépend de l'ordre des initialisations.
Justification : Selon l'emplacement de déclaration de l'instance de POU, une variable non initialisée peut être accessible en cas de violation de la règle.
Importance : Élevée
Exemple 28. Exemple
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
Sortie dans le messages voir:
SA0015 : La méthode FB_Init du bloc fonctionnel 'POU' accède aux données globales