Preset multiple registers, Query, Response – Basler Electric BE1-700 Modbus Protocol User Manual

Page 22: Preset multiple registers -12

Advertising
background image

1-12

BE1-700 Modbus™ Protocol

9376700991 Rev D

Subfunction Hi =

00 (hex)

Subfunction Lo =

04 (hex)

Data Hi = xx

(don't care)

Data Lo = xx

(don't care)

CRC Hi error check

CRC Lo error check

Preset Multiple Registers

A preset multiple registers query could address multiple registers in one slave or multiple slaves. If the

query is a broadcast (device address = 0), no response message is returned.

A Preset Multiple Register query message requests a register or block of registers to be written. The data

block contains the starting address and the quantity of registers to be written followed by the Data Block

byte count and data. The BE1-700 will perform the write when the device address is the same as the

BE1-700's remote address or when the device address is 0. A device address is 0 for a broadcast query.

Query

A register address of N will write Holding Register N+1.
Data will cease to be written if any of the following exceptions occur:

Queries to write to Read Only registers result in an error response with Exception Code of "Illegal

Data Address.”

Queries attempting to write more than 100 registers cause an error response with Exception

Code "Illegal Function.”

An incorrect Byte Count will result in an error response with Exception Code of "Illegal Data

Value.”

There are several instances of registers that are grouped together to collectively represent a

single numerical BE1-700 data value (i.e., floating point data and 32-bit integer data). A query to

write a subset of such a register group will result in an error response with Exception Code

"Illegal Data Address.”

A query to write a not allowed value (out of range) to a register results in an error response with

Exception Code of "Illegal Data Value.”

Device Address

Function Code =

10 (hex)

Starting Address Hi

Starting Address Lo

No. of Registers Hi

No. of Registers Lo

Byte Count

Data Hi

Data Lo

.

.

.

Data Hi

Data Lo

CRC Hi error check

CRC Lo error check

The response message echoes the starting address and the number of registers. There is no response

message when the query is a broadcast (device address = 0).

Response

Device Address

Function Code =

10 (hex)

Starting Address Hi

Starting Address Lo

No. of Registers Hi

No. of Registers Lo

CRC Hi Error Check

CRC Lo Error Check

Advertising