Question about Modbus addressing

Apr 26, 2007 4 Replies

Hello everybody. I have a specification of a certain device, in which a set of Modbus input registers have addresses from e.g. 30100 to 30200. Does it mean that I have to put these address values directly to my request packet or I have to subtract 30000 and turn them to 100 - 200? I could not find any instruction of that kind in Modbus protocol specification. Regards and thanks Alex


These addresses, although still valid are from past times. In the old MODBUS specification (MODBUS Over Serial Line FOR LEGACY APPLICATIONS ONLY) you will see that these are typically used for input registers (3X references). See p39 for this in the document PI_MBUS_300.pdf available at

formatting link

Regards, Christian

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\ \\ email: wolti@sil.at \ Friends don't let friends drink and su(1) web: www.freemodbus.org \ -- Kevin Harris

Probably the latter. Many control systems add an offset (such as 30000) to the actal address as a way to indicate which address space (which modbus command) is to be used to access the desired object. For example 30100 might be float point register address 100, while 20100 would be integer registers address 100, and 10100 would bit input bit number 100.

Grant Edwards grante Yow! Hello... IRON at CURTAIN? Send over a visi.com SAUSAGE PIZZA! World War III? No thanks!

Subtract 30001, since 30001 is the first input register with address 0 in the actual message.

Paul

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required