Rileva le variabili con nomi già utilizzati da altre variabili (ad esempio, variabili globali e locali con lo stesso nome). Rileva anche le variabili con nomi di funzioni, azioni, metodi o proprietà utilizzate nello stesso ambito di accesso. Vengono rilevate anche le variabili dichiarate in un GVL nella vista «Devices» o nel pool POUs. Per questo, tuttavia, nel programma applicativo è necessario utilizzare la GVL della vista «POUs».
Giustificazione: Gli stessi nomi possono confondere la lettura del codice e possono causare errori se si accede involontariamente all'oggetto sbagliato. Si consiglia di utilizzare le convenzioni di denominazione per evitare queste situazioni.
Regola PLCopen: N5 / N9
Importanza: Medio
Esempio
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; --> SA0013: Declaration of 'iVar1' hides symbol 'GVL.iVar1 --> SA0013: Declaration of 'xVar3' hides symbol 'GVL.xVar3
Esempio
Il blocco funzione POU ha l'azione ACT e il metodo METH.
FUNCTION_BLOCK POU VAR ACT : UINT; // SA0013 METH : BYTE; // SA0013 END_VAR --> SA0013: Declaration of 'ACT' hides symbol 'POT.ACT' --> SA0013: Declaration of 'METH' hides symbol 'POT.METH'