Morning.
Six panel power meters on an RS485 chain back to a MicroLogix 1400 doing Modbus RTU master. 19200 8N1, about 400 ft of shielded twisted pair from the panel to the compressor room.
Meters 1 to 3 near the panel read fine. Meters 4, 5 and 6 at the far end time out most of the time, though now and then a good read gets through. Meter 6 is the only one with the termination jumper on, whoever installed it did that.
I metered the cable end to end, no shorts, and tried 9600, which was slightly better but nowhere near fixed. Somebody here wants to buy a repeater for the middle of the run. Before I spend the money, is 400 ft too long for RS485? And is meter 6 being the only one with the jumper on part of this, or does that not matter at 400 ft?
400 ft is nothing for RS485, a kilometre works at 19200. Before you buy a repeater: with the master idle, what DC voltage do you read A to B at meter 6? And which terminal have you got on A at meter 1 versus meter 4? Some makers print A and B the other way round.
A to B idle at meter 6, 0.02 V. Nothing there. At the panel end it's 0.2 V. Meters 4 and 5 are a newer batch, terminals say + and minus instead of A and B, and I put + to A.
Two problems, both classic. Idle voltage near zero at the far end means there's no bias anywhere, so the line floats and the far receivers read noise as start bits. Bias once, at the master end, the 1400 has a jumper for it if I remember right. Terminate at both ends and only there: 120 ohm at the 1400 and the one meter 6 already has.
Then the + and minus batch. Wire by voltage, not by label. With the master idle and bias on, whichever terminal sits high at the panel goes to whichever terminal sits high at each meter. I've been caught by the backwards labels more than once. There's a writeup on the serial side here: https://plctr.com/understanding-the-communication-protocols-for-plc-and-scada-systems/
120 ohm across the 1400 terminals, bias jumper on. Swapped + and minus on 4 and 5 after checking which side sat high with the meter. 4 and 5 read now. 6 still times out. Back to 19200.