-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Nikhil Bangar edited this page Jul 30, 2026
·
1 revision
- Grab the latest zip from the Releases page.
- Unzip it anywhere.
- Run
ModbusViewer.exe. That's it — Qt and every other dependency are bundled alongside the executable, nothing else to install.
- Qt 6.5 or newer (developed against 6.11.1)
- CMake 3.21+
- A C++20 compiler (developed with Qt's bundled MinGW 13.1.0 on Windows)
- Qt modules:
Core Gui Qml Quick QuickControls2 QuickDialogs2 Network SerialPort Test
$env:Path = "C:\Qt\Tools\mingw1310_64\bin;C:\Qt\Tools\Ninja;C:\Qt\6.11.1\mingw_64\bin;" + $env:Path
cmake -S . -B build -G Ninja -DCMAKE_PREFIX_PATH="C:/Qt/6.11.1/mingw_64" -DCMAKE_BUILD_TYPE=Debug
cmake --build buildThe executable lands at build/ModbusViewer.exe (or build/ModbusViewer on
macOS/Linux).
The repo includes a dev-time Modbus simulator so you can try the app with no physical device or PLC:
pip install -r tools/requirements.txt
python tools/pymodbus_simulator.py --mode tcp --port 502Then in ModbusViewer, connect via TCP to 127.0.0.1:502.
- Open the app — you land on the Connection screen.
- Pick TCP or RTU:
- TCP: enter the host and port (
502is the standard Modbus TCP port). - RTU: pick the serial port, baud rate, data bits, parity, and stop bits.
- TCP: enter the host and port (
- Click Connect.
- Once connected, you're on the main data screen:
- Normal mode: pick a register Type (Coil / Discrete Input / Holding Register / Input Register), a start address, and a quantity, then Read once or Start Polling for live updates.
- Favorites mode: build a curated, possibly-scattered list of registers (via "Add Ad-hoc" or by importing a tag database), and poll just those — as a dense list or, toggled via the View control, as a card grid with a live sparkline per register.
See the Modbus Register Types page for what those four register types actually mean if you're new to Modbus.