Skip to content
EnergyCalcHQ
TIA/EIA-485-A · Modbus RTU timing

RS485 Cable Length & Poll Rate

How far an RS485 segment reaches at a given baud rate, how many devices it takes — and the question that decides most designs, which is whether it can actually poll them all as often as you wanted.

The bus

Devices

Polling

Practical maximum length
840m
Your 400 m run fits. Theoretical limit at this baud is 1,200 m before derating for the environment.
One full poll of every device
3.29s
20 devices × 164.6 ms. That is 18.2 complete cycles a minute.
Theoretical max length1,200m
Total unit loads20.00
Devices this segment takes32
Repeaters needed0
Character time1.146ms
One transaction164.6ms
Time actually transmitting65%

For page numbers, keep Headers and footers ticked under More settings in the print dialog.

Length and speed trade against each other

RS485 has no single distance limit. The standard gives a curve, and above roughly 90 kbps it is well approximated by a constant product of bit rate and length:

baud × length ≈ 1.2 × 10⁸    (bits/s · metres)
capped at 1200 m below about 90 kbps

So 10 Mbps reaches about 12 m, 500 kbps about 240 m, and anything at or below 90 kbps gets the full 1200 m. At the 9600 baud most energy meters default to, the theoretical limit is the 1200 m ceiling.

Theoretical is the operative word. That figure assumes proper 120 Ω twisted pair, correct termination at both ends and only the ends, a genuine daisy chain with no stubs, and an electrically quiet route. The practical derating in the calculator is for everything real: shared trunking, VFD cables running parallel, a couple of spurs somebody added later.

Choose the lowest baud rate that meets your polling interval. There is no prize for 115200. Twenty meters read once a minute needs very little bandwidth, and 9600 baud is dramatically more robust over a long, noisy run.

Unit loads, not devices

The classic “32 devices” limit is really 32 unit loads. A unit load is how hard a transceiver pulls on the bus, and older parts present exactly one. Many modern transceivers present a half, a quarter or an eighth, so a segment can carry 64, 128 or 256 of them.

The figure is on the transceiver datasheet, not the meter datasheet, which is why it is worth asking the vendor rather than assuming either number. Exceed the limit and the drivers cannot pull the bus to a valid differential level — the symptom is a bus that works with most devices connected and fails when the last few go on.

The half nobody calculates

Establishing that the cable can span the building is the easy part. The question that actually decides the design is whether the bus can carry the traffic.

Modbus RTU is half duplex — one conversation at a time on the whole segment. Every device is polled in turn, and the cycle is the sum:

character   = 11 bits (start + 8 data + parity + stop)
request     = 8 bytes
read reply  = 5 bytes + 2 per register
silence     = 3.5 characters between frames

transaction = (request + reply) × char time + silence + device response
cycle       = transaction × number of devices

Budget this before you build, not after. Twenty meters at 9600 baud reading 40 registers each, with meters that answer in 50 ms, is a cycle of a few seconds — comfortable. The same twenty meters polled with five separate requests each, on devices that take 200 ms to answer, is twenty seconds, and your intended five-second interval was fiction.

Why raising the baud rate often does nothing

Watch the “time actually transmitting” figure. On a typical energy meter bus, most of each transaction is not data at all — it is waiting for the device to start replying. If only a quarter of the cycle is transmission, doubling the baud rate improves the cycle by about an eighth.

What does help, in order:

  1. Fewer, larger requests. One request for 40 contiguous registers beats eight requests for five. Work out the blocks with the address converter.
  2. Poll less often. Energy is an integral; sub-second polling adds nothing. Five to fifteen seconds is plenty.
  3. Split into two segments on separate ports. Two buses of ten devices poll twice as fast as one bus of twenty, and it costs one more serial port.
  4. Then raise the baud rate, if the bus is short and clean enough to take it.

Back off from dead devices

One unresponsive meter costs a full timeout on every pass. With a 1 second timeout and two retries, a single dead device adds three seconds to every cycle and delays every other reading behind it.

Drop failing devices to progressively longer intervals and keep trying them occasionally, so they rejoin by themselves when somebody fixes the wiring. This one behaviour separates a poller that degrades gracefully from one that falls over because a meter was switched off.

The physical layer rules that keep all of this working — daisy chain not star, 120 Ω at both ends only, one earth on the shield, and the third wire almost everybody omits — are in RS485 wiring for Modbus.

Idle bias, and the noise that looks like data

RS-485 is a differential bus with no defined state when nobody is driving it. Between messages every transceiver is in high impedance, the line floats, and the receiver reports whatever the differential noise on the pair happens to be. Receivers interpret anything under a few tens of millivolts as an arbitrary logic level.

What that produces is not silence. It is a stream of framing errors, spurious start bits and characters that no device sent, and it looks from the master like a slave replying with corrupt data. The fault moves around, gets worse when a contactor operates nearby, and clears mysteriously when someone disconnects a device — all the signatures of a cable problem, and none of the cause.

The fix is failsafe biasing: a pull-up on the A line and a pull-down on B, sized to hold the idle differential above about 200 mV against the loaded bus. Bias once, at one point on the bus — usually the master. Several devices each fitting their own internal bias resistors load the line in parallel and can pull the idle voltage back down below the threshold, so a bus that worked with four devices can start failing when the fifth is added.

The third wire, and why two is not enough

RS-485 is differential, which is often taken to mean the ground does not matter. It does. The receiver rejects the difference between A and B, but only while both stay inside its common-mode input range — typically minus 7 to plus 12 volts relative to its own ground.

Devices in different buildings, or on different distribution boards, do not share a ground reference. The potential difference between two earth points a few hundred metres apart is routinely volts and can be far higher during a fault or a lightning event. Exceed the common-mode range and the receiver stops working, and beyond the absolute maximum it fails permanently — which is why a run between buildings destroys transceivers at one end and not the other.

So run a signal ground alongside the pair, and use cable with a drain wire for it rather than borrowing the shield. Bond the shield to earth at one end only, so it drains interference without becoming a path for circulating current between two earth systems. Where the two ends are genuinely separate installations, isolated transceivers or a fibre link are the correct answer and the only reliable one.

Questions people ask

How far can an RS485 bus actually run?
The classic figure is 1,200 m, and it holds only at low baud rates and in clean conditions — length and speed trade against each other, because a longer line smears the edges of faster bits. Then derate for the environment: a typical industrial route with drives and long parallel runs takes that 1,200 m down to around 840 m of usable segment. Past the derated figure you need a repeater, not optimism.
Is the limit really 32 devices per segment?
It is 32 unit loads, which is not the same thing. A standard transceiver presents one unit load, but low-load parts present a half, a quarter or an eighth — so a bus of eighth-unit-load devices takes up to 256 of them. The figure to look up is the unit load on the transceiver datasheet, not the device count in a rule of thumb. Beyond the budget, a repeater starts a new segment with its own 32 unit loads.
Why does one poll of twenty meters take over three seconds?
Because a transaction is mostly waiting, not transmitting. Each one costs the character time for the request and reply at your baud rate plus the device's own response delay, and energy meters vary from 10 to 200 ms before they answer. At about 165 ms per device, twenty devices is 3.3 seconds a cycle — roughly eighteen complete passes a minute. The number of devices and their response time set the cycle, not the wire.
Will raising the baud rate speed up my polling?
Less than you would hope, and it is the last thing to try. Watch the proportion of the cycle actually spent transmitting: if it is a quarter, doubling the baud rate improves the cycle by about an eighth. What helps more, in order — fewer and larger requests, because one read of 40 contiguous registers beats eight reads of five; polling less often, since energy is an integral and five to fifteen seconds is plenty; and splitting into two segments on separate ports, where two buses of ten poll twice as fast as one bus of twenty for the price of a serial port.
I get corrupt replies that come and go, and the wiring checks out. What is it?
Probably idle bias. Between messages every transceiver is in high impedance, the pair floats, and receivers read whatever differential noise is on it as arbitrary logic levels — which arrives as framing errors and characters no device sent, gets worse when a contactor operates nearby, and clears mysteriously when somebody unplugs a device. Fit failsafe biasing, a pull-up on A and a pull-down on B, sized to hold the idle differential above about 200 mV, and bias at one point only. Several devices each enabling their own internal bias load the line in parallel, which is why a bus that worked with four can fail when the fifth is added.