Skip to main content

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

Esempio 40. Esempio
PROGRAM PLC_PRG
VAR
    iVvar1 AT %QB21: INT;
    dwVar2 AT %QD5: DWORD;
END_VAR

Uscita in Messaggi vista:

  • sa_icon_message.png Le seguenti variabili accedono alla stessa memoria:

  • sa_icon_message.png SA0028: iVar1 AT %QB21

  • sa_icon_message.png SA0028: dwVar2 A %QD5



Per ulteriori informazioni, vedere: