Building reliable Web SCADA interfaces

Web-based SCADA interfaces require more different approach, than regular web sites.

Why web SCADA?


– a properly designed UI can be used on any operator’s device: a smartphone, a tablet, or a desktop computer. It can be opened on any embedded kiosk device with almost any OS inside (of course, unless this OS has a web-browser).
– using a proper front-end web server/web proxy and a proper ACL setup, the UI can be absolutely securely opened from any location.
– classic SCADA software requires skilled professionals, while the web UI can be updated / modified by any IT-engineer, who knows HTML and JavaScript.

Cons: web interfaces are unstable. Sometimes seriously unstable.

In this article we will give some tips about it, no matter which web interface is built for EVA ICS or any other IoT/IIoT platform.

Data synchronization

It is always important to have more than one way for data synchronization between front- and back-end. E.g. EVA JS Framework uses web sockets to synchronize data between back-end and Web browser JavaScript engine in real-time, however in case the web socket connection is lost or unavailable, the data is still synchronized with AJAX requests, until the web socket is restored back.

Connection monitoring

SCADA operators should be always sure, that displayed data is actual. If the connection to back-end is lost, the operator should immediately receive a proper error message and Web SCADA UI should automatically try reconnecting back. EVA JS Framework monitors server connection in different ways, including web socket ping frames and periodical AJAX requests. If any error occurs, the proper JavaScript event is immediately generated.

Client reliability

SCADA web interfaces are very different from regular web sites: the same web page can be opened for days or even weeks and its JS code should be always active. Unfortunately, according to our experience, web browser JS engines can not reach this goal, so it is highly recommended to forcibly reload the UI page (e.g. with old classic meta-refresh) at least once a day. To make the reload process smooth, authentication data should be kept in a local session cookie or another local data storage.

Embedded client reliability

Despite using reloads, there is always a big problem with embedded clients (mobile-OS based tablets, “smart” touch screens with embedded mobile-OS inside etc.). Unfortunately mobile web browsers don’t have long-run reliability, they contain lots of memory leaks and it is highly recommended to perform a full client reboot, at least once per two weeks.

This can be done automatically for external-powered kiosks, using a relay between the kiosk computer and a PSU and putting a nightly job into SCADA back-end or into a PLC. Dealing with tablet-based kiosks is more complicated: it is recommended to remove kiosk battery (if possible) and power it directly from the PSU.


Despite of the above, we strongly believe web SCADA solutions are future of the Industrial Internet of Things and Industry 4.0. Try EVA ICS, which has lots of tools to solve such problems out-of-the-box or ask our core team to build a turnkey Industry-4.0 setup for your business.