Modbus RTU Help


Thread Starter


I am new to Modbus RTU, and I'm being tasked with writing some Modbus RTU protocols in a Siemens PLC

First of all,

I am using RS485 Modbus RTU.

I am confused about the difference between a node and a slave.

I have read multiple places conflicting information about how many and what they are. Some say node limit 32 some docs say slave limit 254. I don't understand the difference and need to know the max.

For exmaple, I am trying to talk with many field instruments. They have registers that i would like to poll for information. Can i have 32 of them or 254 of them??


According to some other docs i have read, i have seen the term register number and data address. What is the difference?

When someone says register are they simply saying hey that is register number 1, 2, 3, 4, etc., and its address is 0001, 0010, 0011, etc.?

Or does data address mean something else?

In this link below i found some information that is causing the confusion.

It says register number and data address. But for the data address the range is the same for all the registers. Shouldn't the range be restricted for certain registers?

For example: coil registers get this range and so on for each type.

any help is much appreciated.
According to the Modbus specification, up to 247 slaves can exist in a network.

However, that's a logical limit, there are electrical considerations. The specification also states, "A figure of 32 devices is always authorized on any RS485-MODBUS system without repeater." The actual number depends on RS485 Unit Load used by the devices.

"The use of a repeater between two heavy loaded RS485-MODBUS is also possible."

So, 32 devices on a network segment should work, whether more than that are possible will depend on the load of the devices. Accommodating large numbers of slaves may require a number of repeaters.

Also note:

"The end to end length of the trunk cable must be limited. The maximum length depends on the baud rate, the cable (Gauge,Capacitance or Characteristic Impedance), the number of loads on the daisy chain, and the network configuration (2-wire or 4-wire).

For a maximum 9600 Baud Rate and AWG26 (or wider) gauge, the maximum length is 1000m. In the specific case shown in the figure 22 ( 4 Wire cabling used as a 2 Wire cabling system) the maximum length must be divided by two."

Function codes determine different base address; for example, function code 4 results in base address 30000, address supplied in the message's data request is offset from there.

The information available in a particular device and at what addresses is entirely device-dependent (you need documentation describing the registers available in the devices that you will be communicating with).

Here is an example:
Register number = 40001 is the same as register address = 0 = data address.

Each slave device forms a node; you can have up to 32 without a repeater, as explained by previous post.
Thread starter Similar threads Forum Replies Date
T Modbus 4
J Modbus 0
C Modbus 4
D Modbus 8
F Modbus 3