Troubleshooting Industrial Networks

A layered method, symptom tables for serial, Modbus and Ethernet faults, diagnostics and a commissioning checklist.

A method that works

Communication faults feel mysterious because nothing visibly moves: there is no smoke, no noise, only a device that does not answer. The cure is a method, because a network is a stack of layers and the fault is always at one of them. Work from the bottom up, prove each layer before the next, change one thing at a time, and write down what you did.

1Check power, cables and link lightsDoes the device have power? Is the link LED on? Is it the right port?2Confirm that both ends use the same settingsBaud, parity, stop bits, address, protocol. IP address, mask and port.3Test the cable and adaptersLoopback test, continuity, swap the cable, try another adapter.4Talk to the device with a known-good toolA Modbus master, a terminal program, or ping, instead of the PLC program.5Capture the trafficA sniffer shows whether requests go out and whether answers come back.6Read the captureNo request? No answer? Bad CRC? An exception code? Garbled bytes?7Change one thing and retestFix, repeat the capture, and write the working settings in the project.
A seven-step bottom-up path for bringing up or repairing a communication link.
  • 1. Define the symptom precisely. Which device, which link, since when, what changed? Does it fail completely, intermittently, or only under load?
  • 2. Look before you touch. Link lights, device fault LEDs, controller status and the diagnostic buffer, the alarm list. Record them before you clear anything.
  • 3. Check the physical layer. Power, cable, connectors, polarity, termination, shield, port speed and duplex.
  • 4. Check the addressing. Address, mask and gateway (Ethernet); station address and baud settings (serial); device name (PROFINET).
  • 5. Prove the device on its own. Connect a PC with a master or protocol tool and talk to it directly. If it works, the device and the wiring are good and the fault is in the controller’s settings or program; if it does not, the fault is below.
  • 6. Look at the traffic. A sniffer, port counters or a scope shows what really happens: are requests sent, are replies returned, are there errors?
  • 7. Check the program and the configuration. Timeouts, retries, register map, scaling, connection status, mapping.
  • 8. Fix, test, and record. Verify the cure by repeating the original test; note the cause and the fix in the maintenance log.

Troubleshooting by layer

LayerTypical faultsTools1 PhysicalNo link light, wrong polarity, open wire, missingterminator, bad connectorMeter, cable tester, scope, linkLEDs2 Data linkCRC and parity errors, duplicate MAC, duplex mismatch,loops, wrong baud rateSwitch port counters, serialsniffer, scope3 NetworkWrong IP or mask, duplicate IP, no gateway, VLANmismatchping, arp -a, IP scanner, switchVLAN view4 TransportPort blocked, no listener, connection reset, timeoutsWireshark, port test, firewall log5-7 ApplicationWrong register or tag, word order, unit ID, EDS ordevice name mismatchProtocol tool, vendor software,Wireshark decodeProgramTimeouts too short, no fault handling, scan overrun,mapping errorsPLC diagnostics, watch tables,trendsWork from the top row down; do not look at the program until the cable and the network layer are proved.
Faults, and the tools that find them, at each layer.
LayerThe questionThe quick test
PhysicalIs there a signal, of the right size, with the right polarity?Link LED; meter (idle voltage, termination resistance); cable tester; scope
Data linkAre frames arriving intact, from the right address?Switch port error counters; serial sniffer showing CRC and parity errors; duplicate MAC check
NetworkCan the two devices reach each other?ping, arp -a, subnet and gateway check
TransportIs the port open and the connection established?Port test, firewall log, Wireshark handshake
ApplicationIs the request valid, and is the reply what the program expects?Protocol tool, decoded packets, register map
ProgramDoes the controller use the data correctly?Watch table, connection status bits, timeouts, scan time

Serial and Modbus RTU faults

SymptomLikely causesFirst check
No bytes at allCable open, wrong port, master not polling, A/B not connected, the device not poweredA meter on the line during a poll; the PC loopback test; the master’s status
Request seen, no responseWrong slave address, baud rate or parity; A/B swapped; slave off; the slave ignoring a frame with a bad CRCCompare settings; swap A and B; try another address; connect the slave alone to a PC
Garbage charactersBaud rate, data bits or parity mismatch; wrong voltage level (TTL on an RS-232 port)Set the PC to match and scan the baud rates; check the adapter type
Works for a while, then stopsGround loop, noise from a drive, loose terminal, a connector that heats and expandsTrend errors; check shield bonding and routing; wiggle the cable and watch
Works with a short cable, not a long oneMissing termination or bias; too high a baud rate; a stub or a starTerminate both ends, bias once, lower the baud rate, remove stubs
One device fails, others workWrong address, long stub, bad connector, faulty transceiver, a termination switch left on at a middle deviceTest it alone with a PC; check its terminator and address switches
Everything stops when one device is connectedThat device’s driver stuck on, the same address as another, two mastersDisconnect devices one at a time until it recovers
Random CRC errorsNoise, reflections, bad groundingScope for ringing and spikes; separate from drive cables; use shielded pair; add isolation
Values wrong but communication fineAddress off by one, scaling, word order, signed against unsignedCompare to the device display; try the neighboring register
PLC shows a fault, PC worksPLC port settings or program, a timeout too short, wrong protocol selectedCompare the PLC port settings with those that worked on the PC
Works at 9 600 baud, fails at 38 400Cable too long or the wrong type; a slow adapter or a slow slave turnaroundRun at the lower speed, or improve the cable and terminators

Worked example: how far off can the baud rate be?

  • A serial receiver finds the start bit, then samples each following bit in the middle of its time. Over a character of 10 bits the sample point drifts by the baud-rate error times the number of bits; if it drifts by half a bit by the stop bit, the sample is wrong. Half a bit over 9.5 bits is about 5.3 percent, so the total mismatch between the two ends must stay under about 5 percent (in practice keep it under 2 to 3 percent).
  • A receiver set to 19 200 baud reading a sender at 9 600 baud sees each bit as half as long: the sender’s single bits look like two bits. Typical symptom: characters arrive shifted, doubled or as framing errors. The ratio is 2 to 1: a clue that it is a baud-rate and not a parity fault.
  • A parity mismatch shows the same bytes but with parity errors; an 8-bit against 7-bit mismatch shows the high bit stuck or missing.

Modbus problems that are not the wiring

SymptomCauseFix
Exception 02 on a readRegister does not exist: off by one, wrong table, wrong start addressCheck the manual’s address base; try 40001 as 0 and as 1
Exception 01Function not supported by that device or registerUse 03 for holding registers, 04 for input registers
Exception 03The quantity is too large or the value is out of rangeRead fewer registers per request; check the allowed range
A float shows 0 or 1E+38Word or byte order wrongSwap the registers; check with a known value
A number goes to 65 535 instead of −1Signed against unsignedRead as INT16
A value is 10 times too big or smallScale factor not appliedDivide by the device scale
Occasional timeout on a slow deviceTimeout shorter than the device’s worst reply timeRaise the timeout; reduce the poll rate
A write does nothingRegister is read-only, the device is in local control, or write protect is onCheck the mode and the register access in the manual
A write works but revertsThe program writes the old value every scanWrite only on change
Through a gateway nothing answersUnit ID not equal to the slave address; serial settings in the gateway differCheck the gateway’s mapping

Ethernet and IP faults

SymptomLikely causeTest and fix
No link lightCable, port off, speed or duplex mismatch, no powerAnother cable; another port; set both ends to auto
Link, but ping failsWrong subnet, duplicate IP, wrong VLAN, firewallipconfig and mask; arp -a; VLAN on the port; try from the same switch
Ping works, software cannot connectWrong protocol port, firewall, wrong driver or node number, PUT/GET offPort test; check the protocol settings
Ping works for a while, then dropsDuplicate IP, a loose connector, an overloaded switch, a spanning-tree changeContinuous ping while moving the cable; switch log; arp for two MACs
Device found by one PC but not anotherDifferent subnet or VLAN, a laptop with several adapters, a firewall on the PCCompare IP settings; disable other adapters
Errors only at 100 Mbit/s or 1 Gbit/sA damaged pair; a cable too long or the wrong categoryCertify the cable; replace
Network slow; many devices dropA broadcast storm from a loop, a faulty device flooding the network, multicast floodingSwitch counters; unplug segments; enable spanning tree, storm control, IGMP snooping
Intermittent faults after a power cutDHCP or BOOTP addresses changed, switches boot slower than the controllerUse static addresses; adjust start-up delays
Works on the bench, not on the machineNoise, grounding, cable routing, a different switchReroute cable; check shield bonding; test with a short cable

EtherNet/IP, PROFINET, OPC UA and MQTT faults

NetworkSymptomCause and fix
EtherNet/IPModule shows a yellow triangle or “connection failure”Wrong IP, wrong EDS or electronic keying mismatch, wrong assembly sizes, RPI too fast; read the module fault code
EtherNet/IPI/O drops now and thenRPI too short for the network or CPU, multicast flooding, a poor cable; check connection counters
PROFINETDevice not found; BF or SF LED onName mismatch; DCP blocked; wrong topology (a neighbor check); reassign the name
PROFINETDevice fault after replacing a unitThe new device has no name; assign it, or use a controller with automatic name assignment by topology
OPC UABadSecurityChecksFailed, BadCertificateUntrustedTrust the client’s certificate in the server; check dates
OPC UABad quality valuesThe source is offline or the user lacks rights; read the status code
MQTTClient keeps reconnectingTwo clients with the same client ID; wrong credentials; keep-alive shorter than the network latency
MQTTSubscriber gets nothingTopic spelling or case; wildcard; ACL

Reading diagnostic counters

Switches, drives and PLCs keep counters of what has happened on each port. A single glance at a managed switch often shows where the trouble is. Read the counters, clear them, wait, and read them again: it is the change that matters, not the old total.

CounterMeaningWhat a rising count suggests
CRC / FCS errorsFrames received with a failed checkA bad cable, connector or noise on that link; a duplex mismatch
Alignment errors, runts, fragmentsDamaged or truncated framesCollisions (duplex mismatch), bad cable or a faulty port
Giants, oversizeFrames larger than allowedA VLAN tag or jumbo frame mismatch
Late collisionsCollisions after the first 64 bytesDuplex mismatch, a cable too long, a hub
Input drops, discards, overrunsThe port had no buffer spaceOverload: too much traffic or a broadcast storm
Output dropsThe switch dropped frames to sendAn uplink too slow for the traffic
Broadcast and multicast countsFrames to everyone or to a groupA very high number means a storm or unfiltered multicast
Link flapsThe link went down and upA loose connector, a failing cable, a powered-down device
Spanning-tree topology changesThe loop-protection protocol reactedA port flapping, a device added or removed
Serial frame, parity, overrun errors (in a PLC or drive)Characters failed the checksBaud or parity mismatch; noise; a master that sends too fast
Modbus slave: bus message count, CRC error count, exception count (function 8)The slave’s own tallyThe error count rising while the master is fine means noise at the slave

Worked example: is that error rate serious?

  • A switch port has received 1 000 000 packets and counted 120 CRC errors: 0.012 percent, or 1 in 8 333.
  • On a healthy cable the CRC error count stays at zero for months; anything that rises steadily is a fault. At this rate, a device that sends 1 000 frames a second loses about 0.1 per second, which TCP hides by retransmission but real-time protocols (EtherNet/IP I/O, PROFINET RT) show as dropped updates.
  • A ping run of 100 packets with 97 replies is 3 percent loss: a healthy link loses none. Run it for a longer time and move the cable to find the cause.
  • The rule: zero errors is the target; a few after a cable has been plugged in are normal, but they must stop rising.

What noise looks like

Cleansharp edges, flat topsReflections (no terminator, long stub)overshoot and ringing after each edgeNoise (drive nearby, poor shield)spikes on the flat partsClean: terminate both ends, one daisy chain. Ringing: fix termination and stubs. Noise: check shield bonding, keep away fromdrive cables, use twisted pair, add isolation. A scope on the differential pair shows in a minute what hours of guessing cannot.
A clean RS-485 signal, a signal with reflections, and a signal with noise spikes.
What the scope showsCauseCure
Overshoot and ringing after each edgeA missing terminator, a long stub, a starTerminate both ends; remove or shorten stubs
Slow, rounded edgesToo much capacitance: a long cable or many nodes at too high a speedLower the baud rate; use a better cable; add a repeater
Spikes between and on the bitsNoise from a drive or a contactorReroute; improve the shield bonding; add isolation and ferrites
Signal sits at a mid level when idleNo biasAdd bias at one point
Low amplitudeToo many terminators, a driver weak or loaded, a long cableRemove extra terminators; check the driver; repeater
Signal with an offset that movesA ground potential differenceBond the panels or isolate
Overlapping signals, doubled amplitudeTwo devices transmitting at once: two masters or a driver stuck onRemove the second master; find the stuck driver

Worked case studies

Case 1: ten meters, one dead, and the whole line slows down

  • Symptom: a Modbus RTU line of ten meters at 9 600 baud (8E1) normally refreshes about every half second; since Tuesday the data is nearly twice as old and a stale-data alarm fires.
  • Normal cycle: one transaction takes 50.8 ms (request 8 + response 25 characters, two gaps, 5 ms for the slave), so ten take 508 ms.
  • One slave has died. The master sends its request, waits the timeout of 100 ms, and retries 3 times: 4 × (9.2 ms request + 100 ms) = 437 ms for that one device.
  • New cycle: 9 × 50.8 + 437 = 894 ms: the line is 1.8 times slower because of one dead device.
  • Fix: repair or replace the dead meter, and change the program to skip a failed slave for several cycles (retry it every 10 to 30 seconds) and to raise an alarm for that device, so that one failure does not slow the others.

Case 2: the HMI that drops out

  • Symptom: an HMI at 192.168.10.20 loses its PLC every few minutes. Ping to the PLC works between the dropouts.
  • Check: arp -a on the laptop shows two different MAC addresses seen for 192.168.10.20 over a few minutes: another device has the same address.
  • Cause: a laptop of a service engineer was set to 192.168.10.20 and sometimes connected to the machine switch.
  • Fix: change the laptop address, keep an address list, and keep the DHCP range and the static range apart. Enable port security if it keeps happening.

Case 3: the replaced drive that will not join

  • Symptom: after replacing a drive on a PROFINET network, the controller shows the device as missing and the drive’s BF LED flashes.
  • Check: the new drive has no device name (or the factory default). The controller finds devices by name.
  • Fix: assign the project’s device name with the engineering tool or PRONETA, power-cycle the drive, and the controller assigns the IP address at start-up. In future, enable name assignment by topology (neighbor detection) so that a replacement gets its name automatically.

Case 4: errors that follow the production schedule

  • Symptom: RS-485 CRC errors appear only when a conveyor drive runs at high speed.
  • Check: a scope on the pair shows spikes in step with the drive’s switching. The communication cable runs beside the motor cable for 8 m in the same tray.
  • Fix: move the communication cable to a separate tray at least 200 mm away, bond the motor-cable shield at both ends, add isolation at the master. The errors stop.
  • Lesson: intermittent communication faults correlate with something else in the plant; look for what changes when the fault appears.

Commissioning and acceptance checklist

StepCheckRecord
1. CablesEvery cable tested (continuity, certification where required); terminators and shields checkedTest report
2. AddressesEvery IP, station address and device name set and uniqueAddress list
3. LinksLink lights on; speed and duplex correct; no errors on ports after an hourCounter screenshots
4. Each deviceReached from the controller; the data correct against the device displayI/O or register check list
5. Failure behaviorUnplug each device: the alarm appears and the machine goes to the planned state; plug in: it recovers without helpTest log
6. RedundancyBreak a ring link: recovery time within the limit; restoreRecovery time
7. LoadThe busiest moment of the machine: cycle times and counters acceptableCycle time, load figures
8. SecurityUnused ports closed; passwords changed; firewall rules checkedSecurity checklist
9. BackupsController, HMI, drives, switches and firewalls savedBackup list
10. HandoverAs-built diagrams, address list, parameters and procedures delivered; staff briefedSigned handover

Documentation and baselines

A fault is much easier to find when you know what normal looked like. When the system is working, record a baseline: the cycle time of each network, the load on each uplink, the error counters, a screenshot of the device list, a packet capture of a normal minute, and the voltage and resistance readings on the serial buses. Store them with the drawings.

DocumentContents
Network diagramSwitches, links, speeds, VLANs, rings, firewalls
Address listIP, mask, gateway, MAC, name, unit ID, protocol and port, owner
Serial settings tableBaud rate, data bits, parity, stop bits, station address, register-map reference
Register maps and tag listsWhat each register or tag is, its type, scale and unit
Device filesEDS, GSD, ESI and IODD files and firmware versions
Switch and firewall configurationsExported files with the date
Baseline measurementsCounters, loads, capture files, scope screenshots
Fault logDate, symptom, cause, fix, who

Related

FAQ

Where do I start when a device does not answer?

Check the link lights and power, then prove the device with a PC and a protocol tool. If the PC works, the fault is in the controller’s settings or program; if not, work down through addressing, cabling and the device itself.

How do I tell a wiring fault from a settings fault?

Wiring faults give no activity or random errors; settings mismatches give consistent garbage (baud) or a consistent silence (address). A loopback test and a meter reading separate them in a few minutes.

Why does the problem come and go?

Intermittent faults are usually physical (a loose connector, noise from a drive, a ground difference) or a duplicate address. Look for what else changes at the same time and log the counters.

Is it safe to plug a laptop into a running network?

Only with permission and care. A laptop with a wrong IP can cause a duplicate address, and a sniffer must never transmit. Use an isolated adapter, read only, and follow the plant’s rules.

What tools should a technician carry?

A multimeter, a cable tester, a USB-RS485 and a USB-RS232 adapter, a laptop with a terminal, a Modbus tool and Wireshark, loopback plugs, spare patch cords and terminators, and the address list.

References

  • IEC 61918, Industrial communication networks: Installation of communication networks in industrial premises; IEC 61784-5 (installation profiles).
  • PROFIBUS & PROFINET International, PROFINET Commissioning Guideline and PROFIBUS Commissioning Guideline.
  • ODVA, EtherNet/IP Network Troubleshooting notes; Rockwell Automation, Troubleshooting EtherNet/IP Networks.
  • Modbus Organization, MODBUS over Serial Line Specification and Implementation Guide V1.02 (diagnostic functions and counters).
  • Wireshark Foundation, Wireshark User’s Guide.

Last reviewed: October 2026. Speeds, lengths, node counts and menu names are typical: confirm against the specification and the manufacturer’s documentation for the devices you use.