SA0013 : Déclarations avec le même nom de variable
Détecte les variables dont les noms sont déjà utilisés par d'autres variables (par exemple, les variables globales et locales portant le même nom). Les variables sont également détectées dont les noms de fonctions, d'actions, de méthodes ou de propriétés sont utilisés dans la même plage d'accès. Les variables sont également détectées qui sont déclarées dans un GVL dans le Dispositifs vue ou dans la piscine des POU. Mais pour cela, le GVL du POU La vue doit être utilisée dans le programme d'application.
Justification : Les mêmes noms peuvent prêter à confusion lors de la lecture du code et peuvent provoquer des erreurs si le mauvais objet est accédé par inadvertance. Nous vous recommandons d'utiliser des conventions de dénomination pour éviter ces situations.
Règle PLCopen : N5 / N9
Importance : Moyenne
VAR_GLOBAL xVar1 : BOOL; iVar3 : INT; END_VAR
PROGRAM PLC_PRG VAR xVar1 : BOOL; // SA0013 iVar3 : INT; // SA0013 END_VAR
xVar1 := NOT GVL.xVar1; iVar3 := iVar3 + INT#2; iVar3 := GVL.iVar3;
Sortie dans le messages voir:
SA0013 : La déclaration de 'iVar1' masque le symbole 'GVL.iVar1'
SA0013 : La déclaration de 'xVar3' masque le symbole 'GVL.xVar3'
Le FB_Pou
Le bloc fonctionnel a le ACT
action, le METH
méthode et des variables locales portant les mêmes noms.
![]() |
FUNCTION_BLOCK FB_Pou VAR ACT : UINT; // SA0013 METH : BYTE; // SA0013 END_VAR
PROGRAM PLC_PRG VAR fbPou : FB_Pou; END_VAR
fbPou();
Sortie dans le messages voir:
SA0013 : La déclaration de 'ACT' masque le symbole 'FB_Pou.ACT'
SA0013 : La déclaration de 'METH' masque le symbole 'FB_Pou.METH'