Modbus Data Address Format

Help Contents


In Standard Modbus Devices, data is stored different four different data tables depending on the intended use of the data:

The Modbus Data Address is a text string that defines the location of data in a Modbus Device. Fernhill SCADA uses this type of text string to locate items of data in a Modbus Device.

Standard Modbus Data Address

The address format follows the Modicon PLC convention of a data table number, followed by a 1-based number. The 1-based number defines the coil or register number:

Data Table Format Notes
Output Coils 0nnnn Bit values, read-write
Discrete Inputs 1nnnn Bit values, read-only
Input Registers 3nnnn 16-bit word values, read-only
Holding Registers 4nnnn 16-bit word values, read-write

Coil Number Register Number and Data Offset

The Modbus Protocol supports a number of commands to read and write data. These commands use a 16-bit 0-based number to define the location in the data table. The 16-bit number gives an address range of 0-65535.

The Modicon numbering convention uses 1 to indicate the first coil or register, 2 to indicate the second, and so on.

The Modicon numbering convention is offset from the Modbus protocol by 1. This can sometimes cause confusion. Traditional Modicon coil and register numbering use 5 digits to choose the data table and the coil or register number:

Coil or Register NumberProtocol Data Offset Table Name
00001 - 09999 0000h-270Eh Output coils
10001 - 19999 0000h-270Eh Discrete inputs
30001 - 39999 0000h-270Eh Input registers
40001 - 49999 0000h-270Eh Holding registers

The traditional Modicon 5 digit addressing restricts the protocol to the first 9999 coils or registers.

To access the full range of data allowed by the Modbus protocol, 6-digit addressing is sometimes used:

Coil or Register Number Protocol Data Offset Table Name
000001 - 065536 0000h-FFFFh Output coils
100001 - 165536 0000h-FFFFh Discrete inputs
300001 - 365536 0000h-FFFFh Input registers
400001 - 465536 0000h-FFFFh Holding registers

Fernhill SCADA supports variable length Modbus addressing. For example the first discrete input can represented by 100001, 10001, 1001, 101, or 11.

Where Used

The Standard Modbus Data Address is used in these contexts:

Data Address Editor

The Data Address Editor is a convenient tool to build a Standard Modbus Data Address String.

To open the Data Address Editor, click the Browse button Browse button of the IOItemName or Register property:

The Standard Modbus data address editor.

Further Information

Modbus Device Tag

To learn about Modbus Device Tags.

Modbus Register Block Tag

To learn about Modbus Register Block Tags.

Modbus Driver

For an overview of the Modbus Driver.


For the meaning of terms used in Fernhill SCADA.