QModMaster is a free Qt-based implementation of a ModBus master application. A graphical user interface allows easy communication with ModBus RTU and TCP slaves. QModMaster also includes a bus monitor for examining all traffic on the bus.
QModMaster is based on libmodbus <http://www.libmodbus.org/> for modbus communication and on QsLog <https://bitbucket.org/razvanpetru/qt-components/wiki/QsLog> for logging. Supports both Windows and Linux.
For Windows a pre-compiled binary is availiable. It does not require instalation, just unzip and run.
Source code is availiable for Windows and Linux for compilation using Qt 5.5.0 <http://www.qt.io/download>.
Check out my modbus slave project <http://sourceforge.net/projects/pymodslave/>.
- ModBus RTU/TCP Master
- Monitor Bus activity [Raw Data and PDU details]
- Supports both Windows and Linux
Sadly, the Windows GUI is unusable on a high-dpi display. Enabling and disabling scaling have no effect -- the controls are scaled properly, but are presumably positioned with hardcoded pixel counts -- they are too close together and can't be read. No obvious way to alert the developer.
Source code isn't available. qt.nokia.com/products is offline. Can you upload source code please?
Register on the site just to say thank you to the author! I got the device modbus-tcp to buggy implementation of tcp-ip, the device does not ping from windows xp, 7,8,8.1, but answered icmp sent from Linux and it gave hope to connect. tcpdump has shown that the device is properly considered in ip packet checksum. I spent 3 days in search of opportunities to set up the device, tried a lot of programs (modbuspoll etc.) until I found this program. And this program is able to read and write registers from the device!
This was the only Modbus Master that the TCP/IP protocol didn't hit my firewall. Even the OEM software couldn't get through! I think over time the features will improve but it's a great free program.
Very good so far. But there is a serious error in the "receive code" (at least for TCP): If 1 poll "times-out", but the response is still send by the slave later, the master will always be 1 packet "behind" and tell "illegal data". It will never process the additional (correct) 2nd packet while polling (it must be there, because transaction IDs are still in sync with wireshark). This makes the master unusable for slave-debugging.