Today is...
Wednesday, September 20, 2017
Welcome to the Modbus Community, about
the world's leading automation protocol.
MODBUS Slave Master Assignments
I would like a few general guidelines as to my challenge to allow 2 slave to communicate and using my SCADA as master. Basically I cant get past the fact that a device can either be a slave or a master, not both.
By jan du preez on 20 August, 2017 - 2:59 am

Hi there,

I would like a few general guidelines as to my challenge. I will not be brand specific.

I have a microcontroller (MCU) which can operate in master or slave mode. Currently the MCU operates in slave mode and my SCADA/HMI is assigned as master. The MCU has a local control panel (pushbuttons) or from the Master HMI via modbus. All good here. So in summary: HMI/SCADA (Master) --->> <<--- MCU (Slave)

Now I added a Variable Speed Drive to the mix. I can establish comms and can read/write to all applicable registers from my SCADA on the RS485 network. So the VSD is assigned as Slave. BUT.. My MCU, running a batch process, is supposed to issue the FWD/REV commands to the VSD as well as allow speed adjustment from the SCADA. The latter is easy and setup up already.

My question is, how can my MCU (Slave) send commands to the VSD (Slave)? The Slave cannot act as both, and changing it to master will not be the solution as my registers can then not be read by the SCADA.

I use a 2 wire RS485 bus onto which the MCU and VSD is attached.

Looking forward to some meaningful discussions. Thanks.

Can the SCADA software Master read the slave MCU's FWD/REV status register and then write that FWD/REV status to the VSD?

An alternative is the Miille Applied Research Multi-Port serial port multiplier than can handle directing messages from multiple Modbus RTU masters to one or multiple RTU slaves, getting around the limitation of a single RTU master.

I would agree with David_2. I would normally poll my PLC for those registers from my SCADA or HMI (whatever is the Master) then forward to my VSD. It can be a little bit backwards and forwards with MODBUS but that is how it goes.