Preset Multiple Registers (Function Code 16)
Query
The Function Code allows you to modify the contents of a Modbus 4x range in the
slave. This writes up to 125 registers at a time. Since the controller is actively
scanning, it can alter the content of any holding register at any time.
TIP:
Functions 5, 6, 15, and 16 are the only
messages that are recognized as valid for broadcast. This is the structure of
the message being sent out to the Modbus network. The following byte values are
displayed in hexadecimal format.
The following example is a request to write two registers starting at register 40002
in slave 11.
Node Address
| Function Code
| Data Start Address High
| Data Start Address Low
| Number of Points High
| Number of Points Low
| Byte Count
| High Data
| Low Data
| High Data
| Low Data
| Error Check Field (2 bytes)
|
0B | 10 | 00 | 01 | 00 | 02 | 04 | 00 | 0A | 01 | 02 | CRC |
Response
The normal response to a function 16 query is to echo the address, function code,
starting address and number of registers to be loaded.
Node Address
| Function Code
| Data Start Address High
| Data Start Address Low
| Number of Points High
| Number of Points Low
| Error Check Field (2 bytes)
|
0B | 10 | 00 | 01 | 00 | 02 | CRC |
Provide Feedback