O p e r a t i o n s a n d I n s t r u c t i o n M a n u a l
57
S A G E M E T E R I N G , I N C .
REV. 16-SIP/SRP
03 (0X03) READ HOLDING REGISTERS
Identical operation as code 04 READ INPUT REGIS-
T
ERS described below, except READ only.
04 (0X04) READ INPUT REGISTERS
Reads the binary contents of the specified register.
This is READ/WRITE register. Sage Prime values are
typically 32 bits wide (4 bytes) and contain a single
IEEE754 floating point value. Modbus registers are
16 bits wide (2 bytes) so a minimum of 2 Modbus
registers are required to transfer all floating point
bits to the master. See section titled Sage Floating
Point Format.
Query
The query message specifies the starting register
address and the quantity of registers to be read.
0x03 READ MULTIPLE HOLDING REGISTERS or
0x04 READ MULTIPLE INPUT REGISTERS
–QUERY– –RESPONSE–
SA – SLAVE ADRESS SA
04 – FUNC CODE 04
RH – REG ADDR HI BC – # of data bytes to follow
RL – REG ADDR LO DATA0
00 – # OF REGS HI DATA1
CT – # OF REGS LO DATAn
CH – CRC MSB CH CRC MSB
CL – CRC LSB CL CRC LSB
REG ADDR HI (RH) is set to:
01 for INTEGER access of integral values
02 for IEEE754 floating point
03 for Scaled (x1000) long integer of floating point value
REG ADDR LO (RL) is the starting address index into the register
structure. See section titled Sage Register Index Values.
CT is the register count needed to transfer data. Typically this byte
is set to 02 to request 1 full IEEE754 floating point value. (Modbus
single registers are 16 bits wide, Sage floating point values are
32 bits wide.)
DATA0-DATAn are bytes in binary format returned from the slave device
representing the contents of the selected register(s).
NOTE: values indicated with 0x prefix are in hexadeci-
mal, otherwise in decimal notation.
Function Codes Supported by SAGE Prime