Web based SCADA: A Technology Landscape
The industrial automation industry and the IT Industry have been evolving in parallel with their own specific focus and developments. The IT industry has seen a lot of advancements in the areas of communication, data processing, application development frameworks, tools, etc. But the automation industry has been pretty slow in making use of these advancements.
SCADA stands for Supervisory Control and Data Acquisition. In very simple terms, SCADA software helps operators to monitor and control a chemical plant or factory. Traditional SCADA applications were mostly based on client-server technologies. The server will have a tag database where all the process variables are stored. The clients will usually be thick client applications that use these data and provide HMI (Human Machine Interface) functionalities like parameter displays, trends, alarm displays, mimic displays, etc.
The clients typically communicate with a server over intranet (Ethernet) using TCP protocol. The client program needs to be installed in each computer.
If SCADA applications could be deployed on web with browser based access, there are two significant advantages:
=> It enables access from anywhere outside the factory network.
=> Separate installation is not required on client machines since access is done through browsers.
Even with such clear advantages, the industry has not been able to use web widely because of a few major limitations. These limitations are fast disappearing now, thus bringing up the possibility of web based solutions for SCADA.
1.Performance and reliability :
Traditional web applications have been slow. There were multiple reasons like bandwidth, processing power, etc. With the recent developments, such reasons are ceasing to exist. Today, it is possible to develop far higher performing and reliable solutions on web than it was possible a few years ago.
2.Limitations because of HTTP request-response pattern :
HTTP follows a request-response paradigm. This means that the client will need to initiate transactions. If the client needs to get some information from the server, it has to send a request first. The advent of Web Sockets has changed the scenario now.
3.Limitations of browser to provide rich user interfaces :
It helps to take a look at the technologies that can be quite handful for a SCADA developer who aims at developing a full-fledged web based SCADA solution.
Technologies enabling WebSCADA
1.HTML5 and CSS3
2.Ajax and XML
Ajax has been around for some time now. It was rather the first of the new technologies that helped web applications look more like desktop applications. This had triggered the use of the term ‘Web 2.0’ (a term that mysteriously disappeared over the last few years).
With Ajax, the client can query the server for a small piece of data and refresh only a section of your web page, without the need to update the whole page. In your SCADA page, you can have sections of trend displays or alarms that need to be updated separately, or a valve whose status gets changed without refreshing the whole page. This can be easily achieved by Ajax.
This is a revolutionary technology that enables a server to initiate a transaction with the client. This removes a major limitation imposed by HTTP. With the old technology, the client would have to make frequent requests to the server to periodically update the parameter values or to find out whether a new alarm has been raised. This resulted in wastage of bandwidth and poor performance.
Web Sockets allow a server to push data to its clients. With this, alarm notifications can be implemented in such a way that the server pushes new alarms to all the browser clients who need it. This works the same way as push notifications in mobile phones.
5.NoSQL, Analytics and Reporting
Analytics is one area of recent advances that SCADA can make use of. In addition to the structured data of parameter values or so, there could be a lot of unstructured data available, like device logs, etc. The system can be architected to use new NoSQL databases like MongoDB to store such data. And the large datasets from various points in a plant or factory give an opportunity to apply various statistical analysis techniques to find correlations between different variables and conditions and also make reasonable predictions. Languages like Python, R, etc can be used for such analysis. In addition, there are numerous advanced reporting tools like Tableau, Pentaho, etc, that can provide meaningful visualizations for such analysis results.
The world is moving fast towards complete web based solutions, progressively making desktop applications extinct. The SCADA industry will also get on the bandwagon soon, even though at first it could be a combination. At first HMI features like monitoring, data displays, mimic screens, alarm displays, etc, will move to web. Features like mimic designer and project creations may continue to be mainly supported as desktop applications and not on a web browser for some more time. But it is not far away when the complete SCADA functions may be provided on the web as HTML page, rather than as desktop applications or as web-launched modules.