Hach ANATEL PAT700 User Manual - page 152
Page 150
Modbus Protocol
Double
A Double float value is 64-bits within the Anatel PAT700 TOC Analyzer. FC3 reads 16-bit
items at a time; therefore, four registers are required to read each Double float data item.
Note: The Modbus/TCP protocol follows Little Endian - byte swap format while transmitting Double
float data i.e. LSB byte should come first in a Register. The swapped data on Client side has to be
converted back to original format to read the correct value.
Example (Double Float): 1.0
Strings
A string is a group of 8-bit data items having a fixed length. The first character of a string
is transmitted first, followed by the remaining characters. FC3 reads 16-bit items at a
time; therefore, a single register contains two characters of the string. To simply string
storage/transfer, each string should be of an even-byte length.
Example (String): HachUltra
IP Address
An "IP Address" is transmitted similar to a 32-bit Word with the MOST significant byte
first, then the next MOST significant, until all the bytes are transmitted. FC3 reads 16-bit
items at a time; therefore, two registers are required to read each IP Address data item.
Example (Decimal): 192.168.0.1
1st Register
2nd Register
3rd Register
4th Register
Value (Hex)
1st
2nd
1st
2nd
1st
2nd
1st
2nd
1.0 (as in memory)
0x000000000000F03F
0x00
0x00
0x00
0x00
0x00
0x00
0xF0
0x3F
1st Register
2nd Register
3rd Register
4th Register
2nd
1st
2nd
1st
2nd
1st
2nd
1st
1.0 (after swapping)
0x0000000000003FF0
0x00
0x00
0x00
0x00
0x00
0x00
0x3F
0xF0
1st Register
2nd Register
3rd Register
4th Register
5th Register
Value (String)
1st
2nd
1st
2nd
1st
2nd
1st
2nd
1st
2nd
‘HachUltra’
0x48
0x61
0x63
0x68
0x55
0x6C
0x74
0x72
0x61
0x00
1st Register
2nd Register
Value (Hex)
1st
2nd
1st
2nd
0xC0A80001
0xC0
0xA8
0x00
0x01