SA0013: Dichiarazioni con lo stesso nome di variabile
Rileva variabili con nomi già utilizzati da altre variabili (ad esempio, variabili globali e locali con lo stesso nome). Vengono rilevate anche le variabili i cui nomi di funzioni, azioni, metodi o proprietà vengono utilizzati nello stesso intervallo di accesso. Vengono rilevate anche le variabili dichiarate in un GVL nel file Dispositivi vista o nel pool di POU. Per questo, però, la GVL dell' POU view devono essere utilizzate nel programma applicativo.
Motivazione: nomi identici possono creare confusione durante la lettura del codice e possono causare errori se si accede inavvertitamente all'oggetto sbagliato. Si consiglia di utilizzare convenzioni di denominazione che evitino tali situazioni.
Regola PLCopen: N5/N9
Importanza: Media
VAR_GLOBAL
xVar1 : BOOL;
iVar3 : INT;
END_VARPROGRAM PLC_PRG
VAR
xVar1 : BOOL; // SA0013
iVar3 : INT; // SA0013
END_VAR
xVar1 := NOT GVL.xVar1; iVar3 := iVar3 + INT#2; iVar3 := GVL.iVar3;
Uscita in Messaggi vista:
SA0013: La dichiarazione di 'iVar1' nasconde il simbolo 'GVL.iVar1'
SA0013: La dichiarazione di 'xVar3' nasconde il simbolo 'GVL.xVar3'
IL FB_Pou il blocco funzione ha il ACT azione, il METH metodo e variabili locali con gli stessi nomi.
![]() |
FUNCTION_BLOCK FB_Pou
VAR
ACT : UINT; // SA0013
METH : BYTE; // SA0013
END_VARPROGRAM PLC_PRG
VAR
fbPou : FB_Pou;
END_VAR
fbPou();
Uscita in Messaggi vista:
SA0013: La dichiarazione di 'ACT' nasconde il simbolo 'FB_Pou.ACT'
SA0013: La dichiarazione di 'METH' nasconde il simbolo 'FB_Pou.METH'
