Web Based HMI in MBServer

M

Thread Starter

M Griffin

We had a previous discussion here about an open source Free Software project that I am working on. Previously I announced a development version of a web based HMI. http://www.control.com/thread/1225089036

I have now integrated that work into my main MBServer communications platform and it is available for downloading from SourceForge at http://sourceforge.net/projects/mblogic/

This is open source Free Software under a GPL license.

The addition of this new feature allows you to create a web based HMI which can communicate to PLCs and other equipment using Modbus/TCP (server and/or client). The web pages are created using standard web technologies including XHTML, SVG, and Javascript. There is no special development software needed.

Release 05 of MBServer has a Linux version as a "tar.gz" file and an MS Windows version as a "zip" file. The package includes new step by step detailed installation and start up instructions in the "Installation.txt" file. The "tar.gz" file is listed as the "headline" file as "mbserver_2009-01-10.tar.gz". For the "zip" file, look in the list under "Additional files:".

The example HMI web page is based on the previous version, but has a number of changes and improvements. There are some screen shots on the SourceForge site (see above) which show you what it looks like.

The web client demonstrates push buttons, pilot lights, numeric displays, text displays, dial and column indicators. It also has a pair of tanks with liquid flowing back and forth between them. These are graphical elements which are updated live within the web page using an "AJAX" style protocol.

There are also event and alarm screens. The tank demo creates events, and the push array creates alarms.

Last time James Ingraham had asked for some fancier push buttons, so I've changed the XUL buttons to SVG with colour gradients and drop shadows. This also has the advantage that they now work with his favourite Opera web browser.

I am looking for comments and feed back. You are of course welcome to use the software in any applications you may have.

The web page documentation on the SourceForge site have not been updated yet to reflect the new version. These will be changed over the next few days.

I am working with some other parties on documenting the protocol used to create the "back channel" AJAX communications between the web browser and the server. We hope that this protocol will be useful to other people in their projects. It is intended to be a generalised web service protocol for automation applications. If anyone is interested, let me know and I will fill you in on the details.

The next item on the road map for this project is to integrate the MBLogicEngine soft logic libraries into MBServer to give a complete soft logic + communications platform + HMI solution.
 
In reply to Adriel Michaud: I've looked at OpenOPC before, but because of the way it works it looks like it would be very difficult (or impossible) to integrate it as is into what I am doing. OpenOPC has to jump through a lot of hoops to use MS COM/DCOM (which should be no surprise) which means that an application using it has to be designed around it, rather than it adapting itself to another application.

There is another project called PyOPC which uses OPC XML-DA which might be more feasible to use, but I'm not sure how complete it is. I am also under the impression that the XML-DA version of the spec isn't very widely supported.

OPC is something that I might think about doing some time in the future. It's very difficult however to work without specs (the OPC specs are limited to members only), so doing anything with OPC is a major reverse engineering job.

Thanks for the suggestion and interest though.
 
Top