SI-Ethernet User Guide 127
Issue: 1
Safety 
information
Introduction
Mechanical 
installation
Electrical 
installation
Getting started Parameters
Key features 
and Protocols
PC Applications Security Diagnostics
Glossary of 
terms
Index
7.2.10 FC23 – Read/Write multiple registers
This function code allows a contiguous series of registers to be written and another 
contiguous series of registers to be read. The maximum number of registers that can 
be read is 120 and similarly the maximum number of registers that can be written is 
120, this allows up to 120 16-bit parameters or 60 32-bit parameters to be read and / or 
written in a single transaction. If this is exceeded the server will issue an exception 
response code 2.
Master request data        Slave response data
The normal response includes the function code, number of data bytes in the read 
block followed by the register data (unless an exception occurs).
If 32-bit parameter addressing is used:
• For each parameter read or written, two 16-bit registers must be used in the 
request
• For each parameter written, four bytes must be specified in the request
• For each parameter read, four bytes of data will be used in the response 
Byte Description Byte Description
7 Function code 0x17 7 Function code 0x17
8
Start read register address
(MSB)
8
Length of data in read block 
(Bytes)
9
Start read register address
(LSB)
9
Register data
(MSB)
10
Number of registers to read 
(MSB)
10
Register data
(LSB)
11
Number of registers to read
(LSB)
12
Start write register address
(MSB)
13
Start write register address
(LSB)
14
Number of registers to write 
(MSB)
15
Number of registers to write 
(LSB)
16
Length of register data to write
(Bytes)
17
Register data 0
(MSB)
18
Register data 0
(LSB)