Free Modbus Tester for Windows and Mac
A Modbus tester is a tool that connects to an inverter, meter or PLC as a master and reads and writes its registers. During commissioning it answers “is the device talking, and is the value right?” without writing code. This guide walks through a first Modbus read on Windows or macOS with the free Ranaliz iOT Tester. The steps work the same way in other Modbus test tools.
What a Modbus test tool should have
| Feature | Why it matters |
|---|---|
| TCP and RTU support | Sites are mixed: inverters on Ethernet, meters on RS485 |
| FC01–FC16 | Test writes (FC05/06/15/16), not only reads |
| Data type and endianness options | 32-bit floats arrive in different orders depending on the device |
| Poll interval and timeout | Avoid false “no response” results on slow devices |
| Transaction history | See which response belongs to which request |
| Export | Add data to a commissioning report |
| macOS support | Most classic tools are Windows-only |
Step 1: Download and install
Get the installer from the iOT Tester product page:
- Windows 10/11 (x64): a single-file
.exe. It is unsigned, so SmartScreen may warn; choose “Run anyway”. - macOS (Apple Silicon): a signed and notarized
.app. Intel Macs need to build from source.
No license key, registration or trial period. The source is on GitHub under the MIT license.
Step 2: Connect
Modbus TCP: the device IP address, port (usually 502) and unit ID (usually 1).
Modbus RTU: the serial port (COM3 on Windows, /dev/tty.usbserial-… on macOS), baud rate, parity, stop bits and slave ID, all from the device menu or manual. For RS485 wiring problems see how to test Modbus RS485 communication.
Step 3: Pick the right function code
| Code | Action | Typical use |
|---|---|---|
| FC01 | Read coils | Relay / output state |
| FC02 | Read discrete inputs | Digital inputs |
| FC03 | Read holding registers | Settings and most measurements |
| FC04 | Read input registers | Measurements (on some devices) |
| FC05 / FC06 | Write single coil / register | On/off, single setting |
| FC15 / FC16 | Write multiple coils / registers | Bulk settings, 32-bit writes |
If the manual lists measurements as “3xxxx”, use FC04. If it lists “4xxxx”, use FC03.
Step 4: Mind the address offset
The most common Modbus mistake is off by one. A register documented as “40001” is protocol address 0. “30100” is protocol address 99. Some vendors document 0-based addresses directly.
A practical trick: pick a register whose value you know, such as voltage. Read one address below and one above as well. Whichever gives a sensible value tells you the offset.
Step 5: Decode the value
A raw register is 16 bits. Change the display until the value makes sense:
- int16 / uint16: single-register values; apply the scale factor (e.g. 2304 × 0.1 = 230.4 V).
- float32 / int32 / uint32: two registers. If the value looks absurd, try word swap or byte swap.
- ASCII / UTF-8: text fields such as serial number and model name.
- Hex / binary: status and alarm bits.
Step 6: Write, verify, export
To change a setting, write it with FC06 (single register) or FC16 (multiple), then read the same register back to confirm. Be careful with writes on live systems: registers such as power limits change production.
When you’re done, export the transaction history and table to Excel/CSV for the commissioning report.
Common results
| Result | Meaning |
|---|---|
| Timeout | Connection, serial settings or slave ID problem |
| Exception 01 | Function code not supported |
| Exception 02 | Address doesn’t exist (often an offset error) |
| Exception 03 | Invalid quantity or value |
| Nonsense value | Wrong data type, endianness or scale |
Every exception code is explained in Modbus exception codes 01–0B.
Modbus tester vs datalogger vs monitoring platform
- Modbus tester (iOT Tester): commissioning and troubleshooting. One person, one laptop, a short session.
- Datalogger: continuous on-site reading and forwarding to the cloud.
- Energy monitoring platform: live KPIs, alarms, work orders and reporting.
iOT Tester closes the first question: does the device actually talk? The same register map then moves to the datalogger and the platform.
FAQ
Is there a free Modbus tester for Mac?
Yes. Ranaliz iOT Tester ships a ready build for Apple Silicon Macs; Intel Macs need to build from source. Command-line tools such as mbpoll also run on macOS.
Is there a free version of Modbus Poll?
Modbus Poll is commercial with a time-limited trial. Free alternatives include Ranaliz iOT Tester, QModMaster, CAS Modbus Scanner and mbpoll. See free Modbus Poll alternatives for a full comparison.
Can a Modbus tester write values too?
Yes. Any tool with FC05, FC06, FC15 and FC16 can write coils and registers. iOT Tester supports FC01–FC16.
Sources
- Modbus Organization — MODBUS Application Protocol Specification V1.1b3
- Ranaliz iOT Tester GitHub repository