
MODBUS Protocol
Function Codes
Thermo Fisher Scientific
Model 49
i
Primary Standard Instruction Manual
C-5
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.
(0x03/0x04) Read Holding
Registers / Read Input
Registers
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.
Response
Field Name
(Hex)
Function
0x01
Byte Count
0x03
Outputs status 2-10
0xCD
Outputs status 11-15
0x0A
Request
Function code
1 Byte
0x03 or 0x04
Starting Address
2 Bytes
0x0000 to maximum allowed by instrument
Quantity of Registers
2 Bytes
1 to maximum allowed by instrument