Do you know what a 16 bit value is?
Do you know what a BYTE is?
1 MC READ value is 16 bit AKA 2 bytes.
therefore:
- If you get 3 16bit values
[xxxx, yyyy, zzzz]
then xxxx
is bytes 0 & 1, yyyy
is bytes 2 & 3, and so on.
- if you read D990,50, then D990 is byte 0 & 1, D991 is bytes 2 & 3 ... D1024 is bytes 68 & 69, and so on.
- if you read D1040,50, then D1040 is byte 0 & 1, D1041 is bytes 2 & 3 ... and so on.
It is simple maths.
Byte Offset = (Address - Start Address) * 2
e.g.
Address: D1048
Start Address: D1040
Byte Offset = (1048 - 1040) * 2
= 16
Read this again: