Menu

Home

Mark Gullings

MQModBus is a port of QModBus to mobile platforms, specifically targeting Android, Maemo, and Symbian. It uses the modbus protocol, and libmodbus as a backend. For Android it requires Ministro libraries to run, which are available on sf.net or the Android Market.

Installing

Android - You will need Ministro libraries to run MQModBus. Ministro is on the Android Market. After installing Ministro you can try installing with an APK installer from the Android Market. If you can't use an APK installer, you can download the Android SDK and enable USB debugging on your phone, then use the ADB tool that came with the Android SDK.

Maemo/Symbian - There is no pre-packaged file yet, so please build from source. There will be an update soon with some improved functionality so I am not packaging binaries. Feel free to submit one if you compile it.

Other - You can install on a desktop platform using qmake tools in the source.

Building

Android - You will need Necessitas SDK (AKA android-lighthouse) to develop Qt apps for Android. Necessitas needs apache-ant-1.8.x, a good Java SDK > 1.6.0, javac/javacc, and the proper paths set in ~/.bashrc. Running Necessitas on Windows is possible, but Linux is recommended.

Maemo/Symbian - The standard Nokia Qt IDE should suffice to write apps for Maemo/Symbian.

Using

There are 4 tabs in the main window of MQModBus - coils, inputs, registers, and write - as well as a settings menu:

Coils - displays the digital output status using QLedMatrix, and reads multiples of 8. You can configure it to read up to 128 coils (16 8-bit words). By default it starts reading at address 0, but this can be changed in the settings.

Inputs - displays the digital input status using QLedMatrix, and reads multiples of 8. You can configure it to read up to 128 inputs (16 8-bit words). By default it starts reading at address 0, but this can be changed in the settings.

Registers - displays numerical register values using 2 QTableWidgets - 1 for holding register values and another for analog input values. You can configure the start address and the number of addresses to be read using the settings page. It will hide all zero values, but displays any numerical values present in the given address range.

Write - sends coil and register values to the PLC. It can only send 1 value at a time. I am looking for a way to improve this, as this is a slow method of setting values.

Settings - Configure the IP address, port number, and slave ID of the ModBus slave to connect to. Below, configure the start address and number of addresses to read for each type of value.

Development

Due to life happenings (work, school, family, moving, ....) I have temporarily halted development but will resume as soon as my schedule permits. If you would like to contribute to the development of MQModBus please visit the forum on the MQModBus website.

http://modbus.makrit.net
http://www.libmodbus.org
http://qmodbus.sf.net

Project Admins: