Modbus RTU Troubleshooting: CRC, No Response & Fault Table

Share:
Communication
Modbus RTU Troubleshooting: Fix No Response, Timeouts, CRC Errors and Exception Codes on RS485 Networks, With a Symptom Table and Timing Calculator

Most Modbus RTU faults in a plant come down to a handful of causes: settings that do not match, swapped wires, missing termination or wrong register addresses. This guide shows how to find each one quickly with a meter, a laptop and a clear step by step method.

No Response CRC Errors Exception Codes Baud and Parity A/B Swap Termination

Modbus RTU troubleshooting is faster when you check settings, wiring and addressing in a fixed order. This guide covers no response, CRC errors, exception codes, RS485 termination, timing, tools and a symptom table.

Hello everyone, today we are going to learn Modbus RTU troubleshooting step by step, from a slave that never answers to CRC errors and exception codes on an RS485 network.
Modbus RTU troubleshooting

What Is Modbus RTU Troubleshooting?

Modbus RTU troubleshooting is the step by step process of finding why a master, such as a PLC, DCS or SCADA, cannot read or write data from a slave device on an RS485 serial line. In practice, almost every fault falls into four groups: serial settings, wiring, addressing and timing, as covered in our Modbus protocol basics.

Quick Answer
  • No response: check slave ID, baud rate, parity, stop bits and the A/B wire pair first.
  • CRC errors: suspect noise, missing termination, wrong baud rate or a poor USB converter.
  • Exception reply: the link works, but the register address, function or value is wrong.
  • A healthy two end bus reads about 60 Ω between the data lines with power off.
Modbus RTU wiring in a control cabinet with termination, biasing and address settings
Image credit: ICS Schneider Messtechnik. Image courtesy of ICS Schneider Messtechnik, shown here for educational reference.

The timeouts, CRC errors and silent participants usually come from the physical bus setup rather than the protocol. It also warns that 247 addresses do not mean 247 electrical participants on one segment.

Advertisement

Modbus RTU No Response or Timeout: Step by Step

A timeout means the master sent a request and heard nothing back in time. Good Modbus RTU troubleshooting works from the simplest cause outward, so you do not rewire a panel when only the slave ID was wrong.

1
Confirm Power and Mode
Check the slave is powered, booted and set to Modbus RTU, not ASCII or another protocol.
2
Match Slave ID
The master must poll the exact address set in the device, from 1 to 247.
3
Match Serial Settings
Baud rate, data bits, parity and stop bits must be identical on every node.
4
Check A/B Polarity
Swap the two data wires at one device if it stays silent and the settings are right.
5
Measure Termination
With power off, read about 60 Ω across the data pair for a correctly terminated two end bus.
6
Test One Device Alone
Connect a laptop with Modbus Poll directly to the slave over a short cable.
7
Check Timeout and Delay
Give the slave enough response time, and allow the silent gap between frames.

In Modbus RTU troubleshooting, step six is the most useful: if the device answers on the bench but not on the field bus, the fault is in the cable, earthing or another node. Our guide on SCADA communication problems uses the same isolate and divide method.

Quick Tip

Write the address, baud rate, parity and stop bits on a label inside each panel door during commissioning. Months later, that label saves an hour of guessing when a replacement meter arrives with factory defaults.

Baud Rate, Parity and Stop Bit Mismatch

The Modbus over Serial Line specification fixes each RTU character at 11 bits: one start bit, eight data bits, one parity bit and one stop bit. If parity is not used, the spec asks for two stop bits so the character still has 11 bits, as our UART frame and baud rate article explains.

SettingSpec ruleCommon field mistake
Baud rate9600 and 19200 required, 19200 defaultMeter left at 9600, PLC set to 19200
Data bits8 for RTU7 bits, which suits ASCII mode only
ParityEven is the defaultDevice shipped with odd or none
Stop bits1 with parity, 2 withoutNone parity with only 1 stop bit
Address1 to 247, 0 is broadcastTwo devices left at address 1
Frame size256 bytes maximumReading too many registers in one request
Do You Know?

The Modbus spec says the default parity must be even, yet many meters leave the factory set to no parity. That one difference is behind a large share of first day commissioning calls.

Modbus CRC Error Causes and Fixes

Every RTU frame ends with a 16 bit CRC calculated over the address, function and data bytes and sent low byte first. Chipkin gives a worked example: reading one holding register from slave 1 is sent as 01 03 00 00 00 01 84 0A, where 84 0A is the CRC.

Chipkin also notes that a slave silently discards a frame with a bad CRC and sends no exception, so the master simply times out. That is why CRC trouble and no response trouble often look the same on the HMI.

Chipkin reports that CRC errors appearing only at 19200 baud or above, and vanishing at 9600, usually point to missing termination or a weak USB to serial converter. Route the cable at least 300 mm from VFD power cables and read our note on VFD and PLC power quality for drive related noise.

Modbus Exception Codes Table

An exception response is good news during Modbus RTU troubleshooting, because it proves the wiring, address and settings work. The slave returns the function code plus 0x80, so a failed read of holding registers comes back as 0x83 followed by an exception code.

CodeNameUsual causeFix
01Illegal FunctionFunction not supported, such as 06 on a read only meterUse a function listed in the device manual
02Illegal Data AddressRegister does not exist or off by one offsetCheck 40001 versus 0 based addressing
03Illegal Data ValueValue or register count out of rangeReduce count, check limits and data type
04Slave Device FailureInternal error while acting on the requestCheck device diagnostics and power cycle
06Slave Device BusyDevice still processing a long commandRetry later or slow the poll rate
0BGateway Target Failed to RespondGateway reached no answer from the serial slaveTroubleshoot the serial side behind the gateway

Code 02 is the most common in the field, because manuals list registers either as 40001 style numbers or as 0 based offsets. When values look wrong but no exception appears, check byte order, word swap and scaling, which our PLC data types article covers.

RS485 Wiring Checks: A/B Swap, Termination and Biasing

The Modbus spec names the two data lines D0 and D1, with D1 matching B and D0 matching A in the EIA 485 standard. Makers still print A, B, plus and minus in different ways, so in Modbus RTU troubleshooting a silent device is often just a swapped pair, as explained in RS232 vs RS485.

Terminate only the two physical ends of the trunk, never every node, and set biasing once per segment. The spec gives 150 Ω for the line terminator and 450 to 650 Ω for each polarisation resistor, and our guide to RS485 termination and biasing resistors shows the calculations.

1 to 247Valid slave addresses
32Devices without repeater
1000 mAt 9600 baud, AWG26 or wider
60 ΩHealthy reading with two 120 Ω ends

Solis gives the same 60 Ω and 120 Ω readings in its RS485 wiring guide and asks for twisted pair cable with the shield bonded at one end only. Bonding both ends creates a ground loop, and a shielded twisted pair cable keeps noise common to both wires.

Frame Timing Formula With Solved Example

RTU frames are separated by a silent gap of at least 3.5 character times, and a gap of more than 1.5 character times inside a frame breaks it. Above 19200 baud the spec recommends fixed values of 750 µs for t1.5 and 1.750 ms for t3.5.

Character time = Bits per character ÷ Baud rate

9600 baud, 11 bits: 11 ÷ 9600 = 1.146 ms
t1.5 = 1.5 × 1.146 = 1.719 ms
t3.5 = 3.5 × 1.146 = 4.010 ms
Read 10 registers: request 8 bytes, reply 25 bytes
Data time = 33 × 1.146 = 37.81 ms
Gaps = 2 × 4.010 = 8.02 ms
Slave turnaround = 20 ms
Poll time = 37.81 + 8.02 + 20 = 65.8 ms
10 slaves: 10 × 65.8 = 658 ms per scan
Modbus RTU Frame Timing and Poll Cycle Calculator
Result
Character time 1.146 ms, t1.5 1.719 ms, t3.5 4.010 ms; one poll takes about 65.8 ms, so 10 slaves need about 658 ms per scan

During Modbus RTU troubleshooting, set the master timeout well above the single poll time, and remember that one dead slave adds a full timeout to every scan. If the scan is too slow, raise the baud rate, read blocks of registers in one request or split the bus, as discussed in Modbus RTU vs Modbus TCP.

Advertisement

Modbus RTU Troubleshooting Symptom Table

Use this table as a first look when a Modbus RTU troubleshooting call comes in. Match the symptom on the HMI or the master diagnostics, then work through the checks in order.

SymptomLikely causeQuick checkFix
Timeout on every slaveMaster port, settings or trunk breakLoopback or direct test at masterCorrect port settings, repair cable
Timeout on one slaveWrong ID, settings or A/B swapModbus Poll direct to the deviceMatch ID and settings, swap pair
Random CRC errorsNoise, termination, ground loop60 Ω reading, cable routeTerminate ends, reroute, bond shield once
Errors only at high baudReflections, long stubs, weak converterDrop to 9600 and compareShorten stubs, fit terminators
Exception 02Register offset or wrong mapRead one known registerCorrect 0 based or 40001 offset
Values wrong but no errorByte order, scaling, data typeCompare with device displaySet word swap and scaling
Quick Tip

When two devices share the same address, both answer at once and the master sees CRC errors only for that ID. Disconnect devices one at a time; if the errors stop, readdress the one you removed.

Tools for Modbus RTU Troubleshooting

Good tools turn Modbus RTU troubleshooting from guesswork into a measured process. Rheonics recommends Modbus Poll from Witte Software as a master simulator, while a passive sniffer, an oscilloscope and an isolated protocol gateway help on live buses.

Do You Know?

A Modbus gateway rebuilds the CRC for every serial frame it sends. So during Modbus RTU troubleshooting, a CRC error seen on the serial side is a serial wiring or noise problem, not a fault on the Ethernet network.

Myth: More termination resistors make the bus stronger.
Fact: Only the two ends should be terminated; extra resistors overload the drivers and cause errors.
Myth: Address 0 can be used for one device.
Fact: Address 0 is broadcast, and slaves never reply to a broadcast request.
Myth: 247 addresses means 247 devices on one cable.
Fact: Standard transceivers allow 32 devices per segment unless repeaters or low load parts are used.
Advertisement

Strengths and Limits of Modbus RTU

Why Modbus RTU Is Easy to Support
  • Open, simple protocol supported by almost every meter and PLC.
  • Low cost two wire RS485 cabling over long distances.
  • Exception codes show clearly when a request is wrong.
  • Free tools make bench testing simple.
Why Faults Still Happen
  • No standard for A and B labels across makers.
  • Settings must match exactly on every device.
  • No built in diagnostics for noise or cable faults.
  • One slow or dead slave slows the whole scan.
  • Unique address set and recorded for every slave
  • Baud rate, parity, data bits and stop bits match on all nodes
  • A/B pair confirmed against each device manual
  • Terminators fitted only at the two trunk ends
  • About 60 Ω read across the pair with power off
  • Shield bonded at one end and cable kept away from VFD cables
  • Register map tested with Modbus Poll before handover
  • Master timeout and retries set for the real poll time

Modbus over Serial Line Specification PDF

PDF
Modbus over Serial Line Specification and Implementation Guide V1.02
Official Modbus Organization spec with RTU framing, timing, addressing, termination and polarisation rules

Video on Troubleshooting Modbus RTU and TCP

Modbus RTU Troubleshooting FAQ

Why is my Modbus RTU device not responding?

The most common causes are a wrong slave address, mismatched baud rate or parity, and swapped data wires. A missing or extra termination resistor can also stop replies on longer cables.

Test the device alone with a laptop and a master simulator over a short cable. If it answers there, the fault is in the field wiring or another device on the bus.

What causes CRC errors in Modbus RTU?

CRC errors happen when bits change between the sender and the receiver. Noise from drives, missing termination, ground loops and wrong serial settings are the usual reasons.

A poor USB converter can also split a frame with long gaps. Check the 60 Ω reading, reroute the cable and compare results at a lower baud rate.

How do I test Modbus RTU communication?

Connect an isolated USB to RS485 converter to the device and run a master simulator such as Modbus Poll. Enter the address, baud rate, parity and stop bits from the device manual.

Read one known register, such as a serial number or a live value shown on the display. A correct reply ends this stage of Modbus RTU troubleshooting before you connect the real master.

What is Modbus exception code 2?

Exception code 2 means illegal data address, so the slave does not have the register you asked for. The link is working, because the device understood and answered the request.

The usual cause is an off by one offset between 40001 style numbering and 0 based addresses. Try the address one lower or one higher and check the device register map again.

Do I need a termination resistor for Modbus RTU?

Yes, an RS485 trunk should be terminated at its two physical ends, not at every device. Short bench cables at low baud rates may work without it, but long field cables need it.

Typical values are 120 Ω, and the Modbus spec mentions 150 Ω as an option. With two terminators fitted and power off, you should read about 60 Ω across the pair.

What is the 3.5 character time in Modbus RTU?

It is the minimum silent gap that marks the end of one RTU frame and the start of the next. At 9600 baud with 11 bit characters, it works out to about 4 ms.

Above 19200 baud, the spec recommends a fixed 1.75 ms gap instead. Masters or converters that ignore this timing cause broken frames during Modbus RTU troubleshooting on busy networks.

Advertisement

Related Articles

External References

What We Learn Today

  • Modbus RTU troubleshooting follows a fixed order: slave address, serial settings, A/B polarity, termination, then timing and register addressing on the device.
  • A slave ignores frames with a bad CRC and sends nothing, so CRC faults often appear as timeouts on the master and the HMI.
  • An exception reply such as code 02 proves the wiring works and points to a wrong register, function or value in the request.
I hope you like above blog. There is no cost associated in sharing the article in your social media. Thanks for reading!! Happy Learning!!
Sunayana Gadepatil, author at Instrumentation Blog
Author · instrumentationblog.in
Ms. Sunayana Gadepatil is an instrumentation professional, technical writer, and the author behind Instrumentation Blog. With a strong interest in industrial instrumentation, process measurement, and automation, she specializes in simplifying complex technical concepts into clear, practical, and easy to understand insights. Through her articles, Ms. Sunayana shares valuable knowledge on flow, pressure, level, temperature, control systems, and industrial automation for engineers, students, technicians, and industry professionals.
Technically reviewed on

Leave a Reply

Your email address will not be published. Required fields are marked *