MODBUS Protocol
Function Codes
Thermo Fisher Scientific
Model 15
i
Instruction Manual
C-5
Request
Field Name
(Hex)
Function 0x01
Starting Address Hi
0x00
Starting Address Lo
0x02
Quantity of Outputs Hi
0x00
Quantity of Outputs Lo
0x0D
Response
Field Name
(Hex)
Function 0x01
Byte Count
0x03
Output Status 2–10
0xCD
Output Status 11–15
0x0A
The status of outputs 2–10 is shown as the byte value 0xCD, or binary
1100 1101. Output 10 is the MSB of this byte, and output 2 is the LSB.
By convention, bits within a byte are shown with the MSB to the left and
the LSB to the right. Thus, the outputs in the first byte are ’10 through 2’,
from left to right. In the last data byte, the status of outputs 15-11 is shown
as the byte value 0x0A, or binary 0000 1010. Output 15 is in the fifth bit
position from the left, and output 11 is the LSB of this byte. The four
remaining high order bits are zero filled.
Read Holding/Input Registers reads the measurement data from the
instrument. Issuing either of these function codes will generate the same
response. These functions read the contents of one or more contiguous
registers.
These registers are 16 bits each and are organized as shown below. All of
the values are reported as 32-bit IEEE standard 754 floating point format.
This uses 2 sequential registers, least significant 16 bits first.
The request specifies the starting register address and the number of
registers. Registers are addressed starting at zero. Therefore, registers
numbered 1–16 are addressed as 0–15. The register data in the response
message are packed as two bytes per register, with the binary contents right
justified within each byte. For each register, the first byte contains the high
order bits and the second contains the low order bits.
(0x03/0x04) Read Holding
Registers/Read Input
Registers