Emerson MONITORING OpenComms Network Card User Manual


 
Modbus Communications and Connectivity
22
5.4.2 Function Code Support
The OpenComms NIC implements the following Modbus functions.
However, integrators will use function code 0x03, and 0x06 most often
due to the type of data to be acquired.
5.4.3 Read/Write Holding Registers (0x03, 0x06, 0x10)
A holding register is a 16-bit message unit. In principle, a message in
a holding register is write / readable, but holding registers can be used
by read-only data as well. Holding registers are mapped into
40001-49999 logic address range.
Holding registers can be read by function code 0x03. A maximum of
125 registers can be read by a single query.
Function code 0x06 requests the server to change the content of a sin-
gle holding register, and function code 0x10 requests server to change
the contents of multiple holding registers adjacent to each other.
5.4.4 Read Input Registers (0x04)
The input register block contains read-only data accessible to the user.
A datum in the input register block occupies one or multiple registers
such as described in the previous section. The input registers are
mapped into 30000-39999 of the logic address range.
Up to 125 input registers can be read by a single query using function
code 0x04.
5.4.5 Read, Set Coil Status (0x01, 0x05, 0x0F)
Coil status contains bit-mapped status accessible to the users. In prin-
ciple, a coil status can be read, set or cleared by the host client. Multi-
ple coil status can be read by specifying the index of bits of the first
coil and the number of consecutive coils in a single query.
Coil status can be read by function code 0x01.
Function code 0x05 set or clear a single coil, and function code 0x0F
set or clear multiple coils.
0x01 Read Coil Status
0x02 Read Input Status
0x03 Read Holding Registers
0x04 Read Input Registers
0x06 Write Single Holding Register
0x0F Force Multiple Coils
0x10 Preset Multiple Holding Registers