Modbus troubleshooting
First, tell what kind of result you have:
| Result | Meaning | Page |
|---|---|---|
{"ok":true,...,"status":"exception"} |
A Modbus exception response: the server rejected the request. | Exception responses |
{"ok":false,"error":"..."}, a C++ or .NET exception, ... failed: in the GUI |
A service error: the command itself failed. | Service errors and timeouts |
"status":"no_response" |
Intentional silence after a broadcast or in listen-only mode | Serial communication problems |
"status":"success" with odd values |
An address, table or value interpretation problem | Wrong address |
By symptom
Section titled “By symptom”| Symptom | Go to |
|---|---|
Timeout |
Timeouts; on a serial line, No response at all |
Closed |
Transactions |
Io(ConnectionRefused, ...), Io(AddrInUse, ...), Invalid TCP address |
Connection |
Invalid endpoint configuration |
Configuration |
CRC or LRC errors, rising communication_errors |
CRC and LRC errors |
Security(...), Config(...), certificate verify failed |
Security connection problems |
| Exceptions 01, 02, 03 | Exception responses |
| Exceptions 0A, 0B | Gateway exceptions |
Narrow it down
Section titled “Narrow it down”- SDK: does
{"action":"capabilities"}answer, with the transports and Security you need set totrue? - Configuration: does
configuresucceed? - Connection: does
connectreportconnectedastrue? - Transaction: check functions 06 and 03 on
127.0.0.1on the same computer first, then widen to the real device. - Meaning: do the values match the manual, and is the result’s
sourcewire? Alocalresult isn’t communication.
What to collect before contacting support
Section titled “What to collect before contacting support”- The results of
capabilities,state,diagnostics,traceandproject_export - The failing request’s PDU and
unit, its result or error message, and the process exit code - A diagnostic log recorded with
PDCOMM_LOG=debug - The OS, the SDK version (
manifest.json) and, for serial devices, the device model, adapter and wiring
Diagnose failures and report them explains how, and includes a request template. Never send private keys or raw customer data.