User manual
Page 148 Modbus Protocol – PAT700 Total Organic Carbon Analyzer
Operator Manual Anatel
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): Hach
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
‘Hach’ 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