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 3.1.0-1 <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.2.1 <http://qt.nokia.com/products/>.
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
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.
I tried the QModMaster and see a very good alternative to comercial products. But I also see a lot of possibilities for improvement. Here my list of wishes: 1. Changeabgle scan rate from 10ms up to minutes 2. If function codes for register access are selected the number of register and not the number of coils should be selectable in toolbar 3. Support of functioncode 0x17 (read/write multiple registers, supported by libmodbus) 4. Scan rate, Slave ID and TCP Port should be changeable during scan mode (The current option to open more instances of the program is ok, but not effective for scanning a network) 5. RTU misses some baud rates: 300,600,14400, 128000, 250000 6. A delay time (0ms - minutes) between pools would be fine 7. Timeout setting directly in the toolbar 8. details on received slave exceptions
Great program. Wonderfully coded. Thanks a bunch.
Thanks for updates ;)