DOCA0108EN-03

Modbus Registers Tables

Table Format

Address

Register

RW

Unit

Type

Range

Factory

Saved

Bit

Description

                   
  • Address: a 16-bit register address in hexadecimal. The address is the data used in the Modbus frame.

  • Register: a 16-bit register number in decimal (register = address + 1).

  • RW: register read-write status

    • R: read-only access

    • RW: read access and write access using Modbus functions

  • Unit: the unit the information is expressed in.

  • Type: the encoding data type (refer to Data Types).

  • Range: the permitted values for this register, usually a subset of what the format allows.

  • Factory: value of the variable in a new device, and after a reset to factory setting command.

  • Saved:

    • YES: the value is saved in case of power loss.

    • NO: the value is not saved in case of power loss.

  • Bit: bit number for BITMAP description.

  • Description: provides information about the register and restrictions that apply.

Data Types

Data Types

Description

Range

INT16U

16-bit unsigned integer

0 to 65535

INT16

16-bit signed integer

-32768 to +32767

INT32U

32-bit unsigned integer

0 to 4 294 967 295

INT32

32-bit signed integer

-2 147 483 648 to +2 147 483 647

STRING

Text string

1 byte per character

BITMAP

16-bit register

Data Type: BITMAP

A BITMAP register is a 16-bit register that can be read:

  • as a 16-bit unsigned integer, using the Read multiple register function (function code 0x03)

  • as a collection of bits, using the Read bits functions (function code 0x01 or 0x02)

Notes

  • The type column tells how many registers to read to get the variable. For instance INT16U requires reading one register, whereas INT32 requires reading 2 registers.

  • Some variables must be read as a block of multiple registers. Reading the block partially results in an error.

  • Reading from an undocumented register results in a Modbus exception. Refer to Modbus Exception Codes.

  • Numerical values are given in decimal. When it is useful to have the corresponding value in hexadecimal, it is shown as a C language type constant: 0xdddd. For example, the decimal value 123 is represented in hexadecimal as: 0x007B.

  • INT32U or INT32 variables are stored in big-endian format: the most significant register is transmitted first, the least significant second.

  • Out of order and not applicable values depend on the data type.

Data Type

Out of Order and Not Applicable Values

INT16U

65535 (0xFFFF)

INT16

-32768 (0x8000)

INT32U

4294967295 (0xFFFFFFFF)

INT32

0x80000000

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Was this helpful?