Modbus RTU Network and Slave Addresses


Thread Starter


hello everyone,

i have to perform a communication between Modbus master device and slave device. the master device is a plc which can be programmed from a webpage and also can be configured from there. the Slave devices are normal actuator I/Os. the parity and the baudrate can be set manual on the device itself.

the question is: how can i get the address of a slave?

in the datasheet is written that the devices can be addressed from 1 to 100 but this couldn't make me a lot of sense.

is there a software available which can use to scan my network to detect slaves and by detecting a new device can i give this device a unique address from the range 1 to 100?

i hope that someone can help me.
It is normally set on the slave and then inputted into the master's communication software configuration for the slave. This may be set with your programming software for the slave or may be set in hardware (typically dip switches), depending on design. Your slave device documentation should cover this or it not, call the manufacturer and discuss this with them. Normal Modbus slave address range is 1 to 247 but apparently the slave manufacturer or your master software has limited your addresses to 1-100.

William (Bill) L. Mostia, Jr. PE
ISA Fellow, SIS-TECH Fellow,
FS Eng. (TUV Rheinland)
SIS-TECH Solutions, LP

"No trees were killed to send this message, but a large number of electrons were terribly inconvenienced." Neil deGrasse Tyson

Any information is provided on a Caveat Emptor basis.
The data sheet probably does not have as much detail as a manual or users guide has. Look for a users guide or manual.

The main methods used to configure a Modbus slave ID on various devices are
- DIP switches
- rotary switches
- jumpers
- software access to the firmware
- pushbutton menu access from local display and keyboard

There's some means to change the slave address, you need to find out what it is.



As a variant, you may try to use Termite Modbus Terminal from S2-Team ( Menu Utils->Modbus RTU scanner..., in text box "Request for scanning" enter req for dev with slave id = 1 (01 03 00 00 00 01 for example, CRC will set automatically) and push Start. Program will change Slave id in req from 1 to 247.