SA0028: Aree di memoria sovrapposte
Determina i codici attraverso i quali 2 o più variabili occupano lo stesso spazio di memoria.
Giustificazione: Quando due variabili riservano la stessa memoria, il codice potrebbe comportarsi con risultati imprevisti. Questa situazione dovrebbe essere evitata a tutti i costi. Se non è possibile evitare di utilizzare un valore in diverse interpretazioni (ad esempio, una volta as DINT
e un'altra volta come REAL
), allora dovresti definire a UNION
. È inoltre possibile utilizzare un puntatore per accedere a un valore di tipo diverso senza che il valore venga convertito.
Importanza: Alta
PROGRAM PLC_PRG VAR iVvar1 AT %QB21: INT; dwVar2 AT %QD5: DWORD; END_VAR
Uscita in Messaggi vista:
Le seguenti variabili accedono alla stessa memoria:
SA0028: iVar1 AT %QB21
SA0028: dwVar2 A %QD5
Per ulteriori informazioni, vedere: