SA0005: Indirizzi e tipi di dati non validiPermalink

Rileva gli indirizzi non validi e le specifiche del tipo di dati. Prefissi di dimensioni valide negli indirizzi: X per ‎BOOL‎ B per i tipi di dati a 1 byte, W per i tipi di dati a 2 byte e D per i tipi di dati a 4 byte.

Giustificazione: Le variabili situate su indirizzi diretti devono essere preferibilmente associate a un indirizzo che corrisponde alla larghezza del loro tipo di dati. Può essere fonte di confusione per il lettore del codice, ad esempio, se un ‎DWORD‎ è assegnato a un indirizzo ‎BYTE‎.

Importanza: Basso

Esempio

PROGRAM Check_Address_Type_PRG
VAR
	iVar AT %QB0 : INT ;   // OK e. g.: %QW0
	xTest AT %QW1 : BOOL ; // OK e. g.: %QX1.0
END_VAR

iVar := iVar + INT#1;
xTest := NOT xTest;

--> SA0005: Invalid address for data type 'iVar'