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_VAR
PROGRAM 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_VAR
PROGRAM 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'