Chapter 8 Communication Functions
8 - 15
(G) Write in Holding Registers [10h]
This function writes data in consecutive holding registers. An example follows:
Write “3000 seconds” as the first acceleration time 1 (F002) in an inverter having a slave
address “8.”
This example uses change data “300000(493E0h)” to set “3000 seconds” as the data resolution
of the registers “1103h” and “1104h” holding the first acceleration time 1 (F002) is 0.01 second.
Query: Response:
No. Field Name
Example
(Hex)
No. Field Name
Example
(Hex)
1 Slave address *1 08 1 Slave address 08
2 Function code 10 2 Function code 10
3 Start address *3
(high order)
11 3 Start address *3
(high order)
11
4 Start address *3
(low order)
02 4 Start address *3
(low order)
02
5 Number of holding
registers (high order)
00 5 Number of holding
registers (high order)
00
6 Number of holding
registers (low order)
02 6 Number of holding
registers (low order)
02
7 Byte number *2 04 7 CRC-16 (high order) E5
8 Change data 1
(high order)
00 8 CRC-16 (low order) AD
9 Change data 1
(low order)
04
10 Change data 2
(high order)
93
11 Change data 2
(low order)
E0
12 CRC-16 (high order) B0
13 CRC-16 (low order) 03
Note 1: Broadcasting is disabled.
Note 2: This is not the number of holding registers. Specify the number of bytes of data to be
changed.
Note 3: The PDU Register Number are addressed starting at zero. Therefore register numbered
“1103h” are addressed as “1102h”. Register address value (transmitted on Modbus line)
is 1 less than the Register Number.
When writing in selected holding registers fails, see the exception response.