Help Me with Modbus Addressing

P

Thread Starter

ParagonIndore

The relationship between the start address specified in a request from the master device and the value shown by "Modbus-address for registers" in the address assignment table is as follows:

* For Coil
Start address = (Value of Modbus-address for registers) - 1

* For Discrete input
Start address = (Value of Modbus-address for registers) - 10001

* For Input register
Start address = (Value of Modbus-address for registers) - 30001

* For Holding register
Start address = (Value of Modbus-address for registers) - 40001

Help me..to understand this....pls its urgent
 
The assignment of information is done by the manufacturer of your hardware. They can choose what they want.

Imagine a piece of memory starting with address 0. Now the manufacturer of your hardware can assign information to any address.

You will have to look into the specifications of your hardware provider in order to find out which information is behind a specific address.
 
The first digit is not the address. It is a code to indicate the address type (coil, discrete input, etc.). This is just like IEC addresses use I, Q, M, etc. and Japanese addresses use X, Y, C, etc.

Coils, discrete inputs, input registers, and holding registers are 4 different data table areas. These might be 4 different data tables, or they may be overlaid on each other (e.g. coils and discrete inputs can be the same data table).

So for each address type, addresses go from 1 to 65536 (or 0 to 65535, depending on how you want to look at it).
 
Top