Detects invalid addresses and data type specifications. Valid size prefixes in addresses:
X for BOOL
B for 1-byte data types, W for 2-byte data types, and D for 4-byte data types.
Justification: Variables located on direct addresses should preferably be associated
with an address that corresponds to their data type width. It can be confusing for
the reader of the code, for example, if a DWORD
is assigned to a BYTE
address.
Importance: Low
Example
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'