Using OSHMI – Part 1: Common Use Cases

oshmi

The Open Substation HMI (OSHMI) is a modern open source HTML5 based HMI conceived from the ground up for substation operation, even though it can for sure be used in any other automation field such as industrial, building, IoT, etc.

In this series of articles, I will cover many aspects of the usage of the software: the installation, the configuration of point databases and protocols, the creation of graphics, scripting, etc. Let’s begin with some common use cases for the system.

The guiding philosophy of the project is to keep things as simple as possible by the means of integrating ready made established open source tools such as Nginx, PHP, Lua, SQLite, Chromium, Inkscape, etc. The use of web standards and technologies is also a priority: SVG, Javascript, JSON, HTTP, OData, D3JS, Vega, etc. This gives the project a clear path of improvement by the continuous development of the underlying technologies, also it maintains the development at a higher level on top of all these tools. Additionally, the use of open standards allows for an easy integration with other systems and tools.

OSHMI is modular and flexible enough that it can be used in many different ways. The system is composed of three modules that can be separated or joined as desired:

  • The protocol driver
  • The real-time web server
  • The client user interface
untitled_page
OSHMI Modular Architecture

For example, for local substation control, it is possible to use a single PC with all three modules integrated. For a Control Center application, you can use 2 redundant servers with the protocol driver and real-time web server modules, and as many client PCs as needed with just the user interface part. It is also possible to have the protocol driver next to the controlled process, the real-time web server on the cloud and the client interface on a mobile device (phone, tablet, etc.). Learning to configure and combine these modules you can cover many use cases, taking into consideration cost and performance of server and client devices, security requirements, bandwidth and communication channel characteristics, locations for operation, etc.

 

local_command
A single machine with all OSHMI modules
control_center
OSHMI Control Center Architecture

For an IoT scenario, it is possible to use a protocol converter, if necessary to cover all the needed protocols, and hosting all the system in the cloud to be accessed securely from anywhere.

The use of the Nginx HTTP server makes it simple to secure client/server communications by the possibility of using HTTPS, user authentication, and client certificates. Other web servers as Apache can be customized and the real-time web server module can run also on a Linux OS if desired.

The embedded database backend is SQLite based, but it is possible with some scripting to forward historical data to a MySQL, MS SQL Server, PostgreSQL, InfluxDB, or other SGBD for a more robust backend if necessary to store big quantities of data (more than 20GB) or when there will be many clients accessing historical data simultaneously (more than 10).

In short, the OSHMI system allows for a great deal of flexibility and customization. The open source characteristic, the use of web standards and the generally available subsystems permit almost any type of customization necessary to cover many use cases effectively and at the same time minimizes costs.

OSHMI is available at: https://sourceforge.net/projects/oshmiopensubstationhmi/.

 

Copyright © 2017 Ricardo L. Olsen. All rights reserved.

Company: DSC Systems – https://dscsys.com

XPlain SCADA@cloud service.

For free assistance on OSHMI, professional support, managed cloud hosted SCADA service, partnerships, or customization of applications for device manufacturers, please contact me on LinkedIn https://www.linkedin.com/in/ricardo-olsen/.

#SCADA #PROTOCOLS #IEC61850 #IEC60870 #DNP3 #OPEN #SOURCE #HMI #ICCP