When a master sends a request and nothing comes back, all you see is «timeout». The cause can sit anywhere from the wiring to the device configuration, so the fastest route is to narrow it down from the traffic log first. This checklist combines the troubleshooting notes in the PortDock Modbus Master help with cases found in device manuals while building this site's register maps.
0. First: does anything come back?
| Traffic log | Meaning | Go to |
|---|---|---|
| Only TX, no RX at all | The device did not understand the request or thinks it is not addressed to it | 1 – 5 |
| RX arrives but fails the CRC | Bytes flow but get corrupted | 2 (baud, parity), RS-485 wiring |
| My own bytes come straight back | Echo from a two-wire RS-485 adapter | Adapter setting (PortDock Modbus Master skips the echo itself) |
| Exception reply (function + 0x80) | Communication works; the request does not fit the device | 6 |
| Occasional timeouts only | Timing or noise | 7 |
1. Slave ID
If the first byte of the request does not match the device's slave ID, the device ignores it silently — no error comes back. Check the ID in the device menu; if you do not know it, ask each ID in turn (PortDock Modbus Master «Scan… → Slave ID scan», 200 ms wait per ID by default; an exception reply also counts as «device present»). ID 0 is broadcast: devices act on it but never reply.
2. Baud rate, data bits, parity, stop bits
If any of these differ, the device cannot read the bytes and stays silent, or its reply fails the CRC. Factory defaults vary: among the ten devices on this site most use 9600 bps, but the LS ELECTRIC GIMAC1000 ships at 38400 bps, the Rootech Accura 3300E and 2300 use even parity, and the Autonics TK, TX and MT4W use two stop bits.
The Modbus serial specification makes even parity the default and asks for two stop bits when no parity is used, yet many devices ship as 8N1. Follow the device manual, not the specification. Each device page lists its defaults at the top, with manual page numbers.
3. Wiring and adapter (RTU)
- Swap A and B. Reversed polarity does not damage anything. For termination, biasing and ground see the RS-485 wiring guide.
- Check the direction control of a two-wire adapter (automatic or RTS). If the start of replies is cut off, look here.
- If another program (another master, a terminal) has the COM port open, the port cannot be opened.
- Another master (PLC, HMI) on the same line mixes requests and causes CRC errors or malformed replies. Disconnect it while testing.
4. Modbus settings on the device
Some devices have a communication port that ships set to a protocol other than Modbus. The Hanyoung Nux VX, for example, defaults to PC Link; to use Modbus RTU set the protocol (PRS) to 3 (manual p.103–104). The LS ELECTRIC LSLV-S100 keeps slave ID, protocol, baud and data format in CM.01–CM.04, shipping as ID 1, Modbus-RTU, 9600 bps, 8N1 (manual p.281). Each device page notes where these settings live, with page numbers.
5. For Modbus TCP
- IP, port (usually 502) and subnet: the PC and the device must be on the same subnet. PortDock Net Scan sweeps a subnet, shows devices with port 502 open and copies «IP:502» for you.
- Connected but no reply: check the unit ID. Behind a gateway, use the slave ID of the RTU device. Which unit ID a native Modbus TCP device accepts differs by device — PortDock Net Scan's device ID read tries 1 first, then 255.
- Connection limits: a device already connected to another master such as an HMI or SCADA may refuse new connections or look as if the port were closed.
- Gateway exceptions 0A (path unavailable) or 0B (target failed to respond) mean the TCP side works and the problem is on the serial side behind the gateway — go back to 1–3.
- If the PC is the server (simulating a slave), Windows may ask for firewall permission on first use. Without it other devices cannot connect.
6. If you get an exception
| Code | Meaning | Common causes |
|---|---|---|
| 01 | Illegal function | Function code the device lacks, e.g. the Rootech Accura 3300E supports only 03, 06 and 16 |
| 02 | Illegal data address | 0-based vs 1-based vs 40001 confusion, quantity past the end, gaps in the map |
| 03 | Illegal data value | Quantity over the limit (125 registers per read in the spec, some devices allow fewer), value out of range |
| 04 | Slave device failure | Check the device status and the manual's error list |
| 06 | Slave device busy | Increase the delay between requests |
If reads work but writes fail with an exception, look for a write lock. The Hanyoung Nux LC ships with communication write protection (CWP) ON and answers write requests with an exception until it is switched OFF on the front panel (manual p.31, p.34). Per-request limits also differ: 124 registers on the LS ELECTRIC GIMAC1000, 31 with FC03 on the Hanyoung Nux VX.
7. If timeouts happen only now and then
- Allow enough response time: at 9600 bps a 125-register reply takes about 270 ms on the wire alone. Gateways and radio links add more.
- Delay between requests: if the device misses back-to-back requests, leave a gap after each reply. 20–50 ms works well with several devices on RS-485.
- USB-serial adapters hand data over in chunks of a few milliseconds, so replies can arrive late — see the adapter latency guide.
- Retry once or twice. Exception replies are not retried; they would only repeat.
Check the master without the device
If you suspect the master software, test it against PortDock Modbus Slave instead of the real device. On the same PC, start Slave as a Modbus TCP server (port 502 or 1502) and connect the master to 127.0.0.1. Slave's fault injection (delay, no reply, exception, bad CRC) shows how the master handles timeouts and retries before you go on site.
Published 2026-10-19