Multiple modbus slaves on one master

I have a Solis PV inverter that has a wifi data logger connected to it which uses rs485/modbus for sending data to the cloud.
It has a proprietary 4 pin round connector, with +/A/B/GND pins.
I have purchased one of these rs485 adapters and connected the A/B/GND wires directly to the same pins on the wifi data logger and I can pull data form the usb adapter and also it continues to send to the cloud.

However sometimes I think they are tripping over each other as the wifi logger would obtain and log some bogus data to the cloud like so:
1622797757485.png
I assume the inverter is the master and the 2 devices are the slaves correct?
Have I wired them correctly? Any suggestions on how to resolve the issue?
USB RS485 --> Wifi Logger
A --> A
B --> B
GND --> GND
 
I wouldn’t make any assumptions as above - I would anticipate the Logger to be in charge of data collection with subsequent re-transmission. If so I’m guessing you have ‘piggy backed‘ the data logger and it’s data streaming.

How do you know it’s not you sending spurious (bogus) data to the data logger ?

I would check the data logger manual for configuration detail.
For further assistance can you provide logger details and how it is configured.
 
So it turns out that the rs485 adapter and the inverter wifi logger are in fact both masters and the inverter is the slave (not the other way around) so the problem here is two masters and one slave which is not how modbus is supposed to work of course.
That must be why they are tripping over each other.
Unfortunately I don't see a way to change that so any alternative suggestions are welcome
 
The USB to RS-485 adapter itself cannot be a master or slave. It's the program on your computer you're using that would be the master or slave. What program are you using to read data from the inverter?

What is your end goal for this application, to get data from the inverter into your computer, or do you need to hook this up to some other system (PLC, etc.)?

If you do need to have two masters, here are two solutions.

1. Use a serial port sharer device that is designed for this purpose of allowing two masters to communicate to one slave, such as this device:
https://www.icpdas-usa.com/tsh_735.html

2. Use a gateway that supports a Modbus RTU Sniffer (Monitor) protocol that can "sniff" the requests made by the wifi logger and responses from the inverter and provide that data to its other port, connected to a separate network (such as Modbus, BACnet, etc.). Here is one gateway that can do this:
http://www.iccdesigns.com/protocol-gateways/66-mirius.html
 
The rs485 adapter would be connected to a raspberry pi4 that sends modbus commands to the inverter to read its registers. Doesn't this need to be master so that it can ask the inverter (slave) for data?
The wifi logger is a device made by the inverter manufacturer and I have no control over it, does its own thing and is a closed system.
My goal was to have both device running together, my rs485 to get data locally, the inverter collects it and sends to cloud.
If they are connected individually they both work without problems, only when they are both on together is when things go wrong.
 
The rs485 adapter would be connected to a raspberry pi4 that sends modbus commands to the inverter to read its registers. Doesn't this need to be master so that it can ask the inverter (slave) for data?
Yes, this would need to be a master. If you need to have both masters connected, you can use one of the two solutions I proposed in my last post.
 
Top