An Open Source HMI For The Substation

Stay tuned! In the next days I’ll be releasing as Open Source a full HMI system touted for substation operation and small control centers.

This system has been in continuous development since 2008, and it’s used to control locally and/or remotely more than 50 substations.

This is no toy software, it really works and does have many features, and it will not have any arbitrary limitations or restrictions.

Please note that it is not a full SCADA software, it will not act as a concentrator/gateway. It’s just an HMI and it depends on a substation concentrator (RTU, SDC, etc.).

Take a look at the list of features:

  • Full source code available.
  • Uses mostly open source web technologies and tools: SVG, HTML5, Javascript, PHP, Lua, QT, SQLite, Nginx.
  • Redundant mode of operation, dual server/ “n” clients (a x86 server machine can be also a client).
  • Unlimited clients, monitors and viewers.
  • No arbitrary limit for the number of points (limited only by memory and performance).
  • Fast and easy configuration with plain text files.
  • IEC 60870­-5-­104 (QTester104) and ICCP protocol drivers.
  • Server software runs on x86 Windows and Linux (experimental) machines.
  • The client web interface can be accessed by modern IOS, Android and Mac OS devices or by any other platform with an HTML5 browser.
  • Screen Viewer: full­ graphics, vector based, lossless zoom (SVG).
  • Events Viewer: millisecond resolution; can operate with field time tags or local time tags; 2 stage acknowledgement/elimination; historical mode.
  • Tabular Viewer: point list shown filtered by substation and bay.
  • Alarms Viewer: displays alarms, with filters by substation and priority.
  • Trend Viewer: follow measurements plot in real time.
  • Curves Viewer: historical measurement plot.
  • Recording of historical data to a SQLite database.
  • Lua Scripting language for the server environment. Javascript language for screen (client side) scripts.
  • Distinct treatment for digital states, alarms and protection events.
  • Range check for analog values.
  • Calculation of points.
  • Dedicated Shell that can replace the standard Windows Shell and can restrict access only to the HMI func­tions.
  • Uses the excellent Inkscape+SAGE Graphics editor to create SVG graphics with SCADA animations.

The system does have a strong focus on usability, high performance HMI and easiness of configuration.

This kind of software is really expensive and out of reach to many underdeveloped nations. The cost reduction this project will provide can make viable the use of HMI’s where before it was unthinkable.

I expect to be formed a community to make this HMI software better, develop new functionality and drivers, translate, create documentation, share graphics, ideas and experience. Only the active participation of a community will justify this open source initiative.

This new open source internationalised version will be available in the english and portuguese languages initially, but it’ll be easy to translated to other languages, just a matter of editing simple text files. This latest version it’s been tested now and will be released just when put into production.

Here is the link for the HMI software: https://sourceforge.net/projects/oshmiopensubstationhmi/. The source code is available via a Mercurial repository. Simply download, install and follow the instructions present in c:\oshmi\release_notes.txt. Have fun!

Ricardo Olsen in-2c-14px, MEng. :: https://dscsys.com