- 22 -
Points” must be even numbers to request a floating point variable. If the “Starting Address” or
the “Number of points” is odd then the query will fall in the middle of a floating point variable
the product will return an error message.
The following response returns the contents of Demand Time as 1, But see also “Exception
Response” later.
Field Name
Example (Hex)
Slave Address
01
Function
03
Byte Count
04
Data, High Reg, High Byte
3F
Data, High Reg, Low Byte
80
Data, Low Reg, High Byte
00
Data, Low Reg, Low Byte
00
Error Check Low
F7
Error Check High
CF
3.9.2 Write Holding Registers
MODBUS Protocol code 10 (16 decimal) writes the contents of the 4X registers.
Example
The following query will set the Demand Period to 60, which effectively resets the Demand
Time:
Field Name
Example (Hex)
Slave Address
01
Function
10
Starting Address High
00
Starting Address Low
02
Number of Registers High
00
Number of Registers Low
02
Byte Count
04
Data, High Reg, High Byte
42
Data, High Reg, Low Byte
70
Data, Low Reg, High Byte
00
Data, Low Reg, Low Byte
00
Error Check Low
67
Error Check High
D5
Note: Data must be written in register pairs i.e. the “Starting Address“ and the “Number of
Points” must be even numbers to write a floating point variable. If the “Starting Address” or the
“Number of points” is odd then the query will fall in the middle of a floating point variable the
product will return an error message. In general only one floating point value can be written per
query
The following response indicates that the write has been successful. But see also “Exception
www.stromzähler.eu