Water Heater Project
This is a water tank with 2 pumps, a heat coil, and a drain pump. All devices can be run manually or through an automated process which will fill the tank, heat the water, then drain and repeat. I also wrote an HMI screen to control it. The physical buttons will override the HMI.
HMI Test App using libmodbus and Qt [modification of QModBus]
It's self-explanatory, just a HMI screen tied to PLC values to show communications between a Qt C++ application and a Horner XLe102 PLC. I used the code from QModBus and moved the functions to read values into the timer, which I set at 200msec so it had a decent scan rate without overloading the CPU. Next I made buttons to call functions to send values to the PLC.
I soldered 100 LED's into a 5x5x4 cube (ok, it's a rectangular prism), and connected it to a Parallax BS2 controller. It only has 16 I/O so I used a ton of and gates to turn on the positive using (x,y1+y2) where it took 1 x and 2 y outputs to trigger the and gate. Similarly, there were 4 negatives which would control the z coordinate. The lights were extremely dim, so I added D-flip-flops to increase the duty cycle. This is a homemade version of the HypnoCube. If you look up HypnoCube it will be more impressive, but remember that they're running an 8MHz microprocessor while I was only running a 65KHz!
MQModBus is a new modbus app targeted for the Android OS, but has been successfully run on Maemo and Symbian emulators. Theoretically it could be run on some versoins of Windows Mobile, but I have not compiled or tested for these. It is entirely based on QModBus, and is available here with a project page coming to sf.net with the next release.
I modified QModBus to access TCP connections. It is still under review and has a few more features I am hoping to add, such as a 32-bit realtime digital I/O monitor. Check out QModBus for updates. QModBus is based on libmodbus, check out their website as well!
Due to the migration of Nexuiz to Xonotic my maps are all going under a huge overhaul, please check back.