Development of SCADA system based on web technologies
Автор: Dmytro O. Kovaliuk, Kateryna M. Huza, Oleh O. Kovaliuk
Журнал: International Journal of Information Engineering and Electronic Business @ijieeb
Статья в выпуске: 2 vol.10, 2018 года.
Бесплатный доступ
The article covers methodology for construction of technological processes management systems using web technologies. The structure of modern management systems was analyzed, the emphasis was made on the higher management layer – SCADA-systems. The main advantages of distributed Web SCADA were presented in comparison to the desktop systems. Review of modern Web SCADA systems was made, their architecture, key components and interactions were investigated. Limitations in regard to application of existing Web SCADA systems to objects that demand constant optimization of management settings were displayed. Implementation of Web SCADA system using Arduino controller, based on the example of the absorption technological process was proposed. Algorithms for collection, storage, processing and visualization of process data were provided, as well as a mathematical model of absorber to calculate control actions. The interaction of SCADA with low-level controller was presented. Software components for SCADA were developed, based on open-source web-technologies such as: user interface (html + js), backend (php), database (mysql). Advantages of both the developed software and SCADA-systems in general were described. Recommendations and possible ways of implementation for Web-SCADA were provided.
Control systems, programming, Web SCADA, Arduino controller
Короткий адрес: https://sciup.org/15016126
IDR: 15016126 | DOI: 10.5815/ijieeb.2018.02.04
Текст научной статьи Development of SCADA system based on web technologies
Published Online March 2018 in MECS
-
I. Introduction and Related Works
Automation of technological processes is a key element in an overall system of any functional chemical manufacture.
Modern automation includes hardware (computers, controllers, industrial networks and field devices) as well as software. There are different approaches to design Computers Control Systems [1-4] Today the Process Automation and Control Systems (PAACS) are multilevel human-machine systems [5]:
-
1. Lower level is a level of sensors for collecting information about manufacturing process in the apparatus
-
2. Middle level is a level of the node for monitoring and management. Usually it is implemented based on controllers that examine and control lower-level devices.
-
3. Upper level is a software and information provision level of a management system. SCADA-systems (from eng. Supervisory Control And Data Acquisition ) occupy a special position in this range. Features that are entrusted to any SCADA system, regardless of whether it is widely adopted by a well-known company, or is a product created by PAACS department specialists of a company for their specific needs, are the following: collection, processing, transmission, storage and displaying of information.
and also the level of executive mechanisms that implement control actions.
There is a type of SCADA systems, based on webtechnologies: so-called Web SCADA systems. Their advantages include[6]:
-
• Client / server architecture.
-
• Ability to collect data from an unlimited number of industrial controllers.
-
• Various data transfer protocols.
-
• Archiving of collected data to databases or on local monitor nodes if the connection is missing
-
• Visual control and management via browsers.
-
• Graphical representation of process data received from controllers.
-
• Possibility to create reports, including calculation of process performance or presentation of its activity history.
-
• Relatively insignificant expanses of heir development.
The objective of this work is to analyze existing Web SCADA systems, their structure and operating principles, as well as to investigate the possibility of using Web SCADA application to absorption processes management.
-
II. Analysis of the Existing WEB SCADA
Now most manufacturers supply its SCADA-systems with web-interface, so the existing SCADA should be analized. The following leading Web SCADA systems can be distinguished on the market:
-
1) Ecava IGX Web SCADA
-
• https://www.integraxor.com/
-
• 100% pure web based SCADA.
-
• Runs on any browser w/o single download/plugin.
-
• Internet Gateway connects SCADA on cloud.
-
• No static IP required
-
• Responsive HMI.
-
• HTTPS secure web connection.
-
• SSL encryption.
-
• Data protection.
Most Popular standard price 1599$, which include: 1024 I/O (worth $1399), Client (worth $119), Report (worth $269), Service module (worth $99).
-
2) WinCC/Web Navigator
-
• https://www.openautomationsoftware.com/products /hmi-scada-for-web/web-hmi/
-
• Compatible with all browsers on Mac, PC, Linux, and mobile devices capable of displaying HTML5 and executing JavaScript, including: Chrome, Firefox, Safari, Internet Explorer, Mobile Safari and Chrome on iOS.
-
• Uses open standards of HTML5, JavaScript, and CSS.
-
• Unique markup option quickly adds live data to existing HTML pages.
-
• Programmatic JS interface allows for advanced
application UI development.
-
• Can run on any web application platform that
-
• Supports authentication and secure communications over SSL.
-
• Requires no plugins, Java applets, or ActiveX controls to execute, just point your browser to your web application to start.
-
• Requires no compilation or packaging for deployment; supports file copy deployment or integration with your own deployment methods.
-
• Real time data delivered directly to the browser, reducing load on your web application server.
Unlimited user system starts at: 1566$.
-
3) Simple-Scada
-
• http://simple-scada.com
-
• Customers who will be simultaneously connected to the server (work on a local network or over the Internet) can be selcted. For example, if you purchased any version of Simple-Scada 2 Standard, you can simultaneously use up to two clients.
-
• There is an opportunity to choose the number of OPC-servers that can simultaneously receive data. OPC-servers can be both a local and a remote PC.
-
• User can change the number of projects on a server that can be run on the server. That is the ability to develop several projects (e.g. different stations), which will have its own database, trends, messages etc. They will both run on the server and through clients you can connect to any of these projects.
-
• There is a function of sending E-mail / SMS. It is available in special scripts.
-
• There is possibility to backup servers. For reservation in PAACS it can be added one more (backup) server also designed for interaction with commercial industrial equipment. If the primary server fails, clients switch to the backup server.
The Standard package includes all versions of minimum package plus additional client, unrestricted scripts that work with multiple OPC-servers and projects, the history of operator actions. Functions of sending Email / SMS are absent and reservation of servers are missing.
This package costs 11 000 rubles.
Analyzing the capabilities of considered Web SCADA systems, we can conclude that all of them sufficiently provide the following features:
-
- Process visualization based on responsive design and modern web technologies.
-
- Storing data in different repositories, including "clouds."
-
- Authorization and access control.
-
- Work on different operating systems.
-
- Variety of data transfer protocols (including protected).
The main disadvantage of mentioned Web SCADA systems is their versatility that fails to facilitate uniqueness of a specific object.
The price of given Web SCADA systems should also be considered as one of the major factors upon selection of a system. Of course, if the system you need to manage is large, the expenses are worth it, but if the automation of a small process or an apparatus is planned, one should look for more optimal solutions.
Moreover, provided systems lack certain functionality for technological process parameters optimization. It means, that given Web SCADA systems do not have the business logic layer for integration of existing object-oriented mathematical models.
On this basis, it is proposed to develop architecture of a Web SCADA system that would be able to calculate optimal parameters of the process passing, and their implementation.
-
ІII. A RCHITECTURE D EVELOPMENT
The main difficulty of designing a custom Web SCADA system is the interaction with middle level controllers, which in most cases is made via OPC-Server.
Industrial SCADA systems already have a built-in OPC-server that can connect to different controllers.
There is a reverse version: developers of controllers design OPC-Server to promote working with their devices. For a small «self-written» Web SCADA, that is serving a particular industrial object or a "smart house”, the second option fits better.
Let's consider the system architecture.
User (web browser)
Internet
Web SCADA (PHP Application)
Internet

Fig.1. General architecture of the Web SCADA
According to the scheme, the monitoring node (controller) reads the information from sensors and transmits it directly to the Web SCADA system via the Internet using a REST-request. There can be several options to connect to the Internet (WiFi / Ethernet). Also, the node can receive commands from the Web SCADA system and perform device management.
At this stage, there is a problem of choosing a controller that would perform basic functions and at the same time could be easily integrated with Web SCADA. In this work it proposed to use Arduino controller.
Among the advantages of employment of single-board microcomputers as management and monitoring nodes are the following:
-
• Possibility to program complex logic.
-
• Immediate reaction to emergency situations even without connection to the main server.
-
• Saving data in local memory.
-
• Arduino software runs on operating systems such as Windows, Mac OS, Linux, while most of existing systems are designed to work only in Windows.
-
• Easy and convenient node programming environment before installation in the workplace.
-
• Expandable software with open source.
-
• Expandable open hardware.
-
• The possibility of expansion using additional
modules (WiFi / 3G / control modules / monitoring modules).
Therefore, Arduino controller is fully suitable for resolution of the proposed problem [7].
-
IV. Selection of Software
Today almost all information systems operate based on the following principle: requesting data by user -receiving and processing data by server - displaying the query results.
According to such scheme, the most suitable is a client-server architecture that divides software into server- and client-side. If we look at desktop applications, these are actually two separate programs that communicate with each other. Although, it is more versatile to use web-based technologies as means of information processing.
Web technology allows development of simple-to-learn, readily available, rather cheap, informative interactive system. In this case, user's browser act like a client, which simply displays received data. In accordance with described above, the main goal is to develop:
-
1. Client software that works on the user side. It should include the functions of data processing (verification, validation), possible visualization and displaying of the results.
-
2. Server software that implements business logic of the system. For a programming language several options might be considered, but preference was given to PHP. Considering different aspects of PHP, the following primary advantages may be distinguished: simplicity, efficiency, security and flexibility. Let’s examine some of them [7]:
Implementation of the logic on the client side allows to avoid unnecessary requests to the server, partially redistributes the load, making the system more responsive.
It is advisable to use a standard set of web technologies: HTML + CSS + JavaScript. It should be noted, that JavaScript means the language itself, as well as different libraries (jquery, google charts, etc).
Simplicity. PHP contains a large number of standard functions, so there is no need o write code to perform basic tasks. PHP contains several libraries ready to work with databases.
Security. PHP can run in safe mode, which limits the possible application of PHP by users. It includes robust encryption mechanisms. Also it is compatible with many applications from other developers. PHP source code cannot be viewed in a browser since it is executed on the server.
Flexibility. PHP is not only used in conjunction with HTML, but also with JavaScript, XML and other programming languages.
For given Web SCADA system the business logic is the process, optimization of its parameters and calculation of control actions.
A large number of PHP-scripts are created for processing of various types of web requests. Programming patterns are used for their structuring and categorization.
For example the MVC ( Model-View-Controller ) pattern is used for users’ requests, and for Arduino monitoring nodes separate REST-API-oriented scripts are programmed [9].
-
• Part of PHP-scripts that process requests from users constitute an MVC-like web application. Model is responsible for communication with a database. Controller manages processing of requests by organizing Model and View scripts. Once View gets data from Controller , it generates html-response, which Apache will send to user’s browser.
-
• Part of PHP-scripts that handles requests from Arduino uses REST-architecture. Unlike the human-user, who requires visual interpretation of the information (charts, tables), Arduino needs structured information in text form, therefore REST-architecture fits to this purpose the best. REST is a method of interaction between components of distributed applications in the Internet, where a call of remote procedure is an ordinary HTTP-request and required data is transmitted as query parameters. Given that in REST the HTTP protocol is used, only four methods are required for interaction of components: GET, PUT, POST and DELETE.
-
3. The level of data integrity.
Modern control systems use industrial DBMS for data storage - MySQL, Postgress, Oracle. In this article, it is suggested to choose MySQL. Among the advantages of MySQL are the following [9]:
Performance. Due to the internal mechanism of multithreading MySQL performance is rather high.
Security. Quite a high level of security and permissions segregation. Passwords that are stored in the database are encrypted.
Open-sourced code. New functions can be easily added to the package, expanding its functionality as is needed.
In addition, MySQL is cross-platform.
Let’s investigate the architecture of a web-SCADA system being designed. The general diagram of the components is presented in Fig. 2.
represented by a programmed mathematical model of

Fig.2. General scheme of the components of Web SCADA
Web-based part of SCADA-system can be deployed to a virtual or dedicated server, usually located in a data center.
To ensure stable operation of the server it is recommended to install a Linux-based operating system with a standard set of software packages. Additionally installed are:
-
□ Apache - Web server, which constantly listens to web requests from Web clients on the Internet. Upon reception of the request, Apache runs required PHP-scripts that process the query and generate response. Apache sends the response to the client. Alternatively, for high-loaded systems Nginx + Apache or Nginx + Phpfpm bundle can be used.
-
□ PHP is a programming language that is used for processing Web requests and generation of responses. When using the Apache web server, one needs to install an additional module to run PHP.
-
□ PHP extensions for graphics processing, performing mathematical operations, caching, establishing database connections, exporting results.
-
□ Php-frameworks. Symfony framework written in PHP, which uses Model-View-Controller pattern was chosen for the project. Symfony offers rapid development and management of web applications, provides easy solutions to web programmer’s routine tasks. It only works with PHP version 5 and higher. It has support for multiple databases (MySQL, PostgreSQL, SQLite or any other PDO-compatible DBMS). The main advantages of Symfony are:
-
■ Faster and less greedy. Symfony was conceived from the start to be fast, with a strong emphasis on performance. By way of comparison, Symfony is about 3 times faster than Symfony version 1.4 and Zend Framework 1.10, while also taking up 2 times less memory.
-
■ Easy of Use. Completely flexible to satisfy the needs of professionals and advanced users alike, Symfony is also very accessible. Plentiful documentation, community and professional support.
-
■ Provides well-organized, reusable and maintainable code.
-
■ Provides scalability for web apps.
-
■ Manages the low-level security of a site.
-
■ Follows the MVC (Model-View-Controller) pattern that ensures the separation of presentation and logic.
-
■ Promote modern web development practices such as object-oriented programming tools.
-
□ MySQL - the DBMS that stores performance statistics collected from the monitoring units. It is used to store such data and display it via MVC in visualized form to be further analyzed by the user.
The following components were used in this research
-
Table 1. Software configuration
Soft
Version
Description
Ubuntu
16
Operating system.
Apache
2.4.18
HTTP-server of dynamic content.
PHP
7.0.8
PHP runs as Apache extension.
Mysql
5.6
A database management system.
-
V. Obtaining A Mathematical Model of the Absorber
The main advantage for development of self-written Web SCADA is the possibility to implement business logic layer that will allow the control system to calculate the optimum values, using a mathematical model of the object.
In this article, the manufacturing process of absorption is investigated. The primary device that determines the quality of the product is scrubber, the scheme of which is presented in Fig. 3.
F g , y 1
A gas mixture of C 2 H 2 and CO
A solution of NaOH
F r , x 0

F g , y 1
A solution of
NaOH and CO 2
A gas mixture of C 2 H 2 and CO 2
Fig.3. Parametric scheme of absorption process
F r , x 0
Scrubber is a container with nozzles and irrigation system, which consists of layers inside a shell, where jets are situated. The 0.5% alkaline solution (NaOH) with Fr flow and concentration of carbon dioxide (CO2) x0 is served to the top side of the column.
Chilled gas mixture (C 2 H 2 and CO 2 ) with F g flow and initial concentration of CO 2 in acetylene y 0 enters the bottom of the scrubber and, being uniformly distributed on the intersection of the apparatus, descends to the space filled with nozzle that is irrigated.
Drops of solution, descending, collide with polluted acetylene, retrieving CO 2 from acetylene (the process of absorption) and leave the scrubber with the concentration of CO 2 in it equal to x 1 . F gin. = F gout. and F rin. = F rout. – consumption of gas and liquid as a result of the redistribution of CO 2 between them does not change.
To prevent being washed away with the gas flow, drops should be large enough, so that the rate of fall exceeds the rising rate of gas flow [10-11].
When gas is being washed by absorbent, impurities bind to it and escape acetylene. Wasted absorbent solution and captured impurities are collected in the bottom of the scrubber.
Purified gas is drained through pipes, which are placed on the top of the machine.
Purifying acetylene implies two stages. The first step is the absorption of CO 2 by aqueous alkali, and the second – the CO 2 fixation by alkali:
CO 2 + 2NaOH → Na 2 CO 3 + H 2 O.
Since the chemical reaction rate is substantially greater than the rate of absorption, the CO2 absorption process is limiting.
The primary controlled variable is the concentration of a particular component in the product, which is defined by gas detectors. In our case – it is the concentration of carbon dioxide (CO 2 ) in the gas mixture (C 2 H 2 and CO 2 ).
Let’s consider the scrubber a technological object for controlling the concentration of CO 2 in acetylene. Let the concentration of CO 2 in acetylene at the exit of the machine be the output (controlled) process variable – y1 , and the controlled action – represented by the consumption of alkali (NaOH) at the inlet of the scrubber - F - r .
( У о - У г ( у 1 )) + (У 1 - У г (у о )) d /У о + УЛ
. ^ - ^ - SK = ------2------= ^ V^i ’
F x _px +SK (хД-У^-Хо) + ( хг ( У о ) - ^ 1 ) = Vp d ( У о + z i )
The main disturbance in the system – the concentration of CO 2 in the acetylene inlet scrubber – y 0 , the concentration of CO 2 in NaOH solution at the output of the scrubber is an intermediate x 1 variable.
Achievement of the qualitative final product at the output of the scrubber is the main purpose of the system, that is, significant purifying of acetylene (C 2 H 2 ) from carbon dioxide (CO 2 ) at a given F r alkali consumption at the inlet of the scrubber.
In most cases, controlling technological object’s dynamics is described by differential equations with help of which the particular transfer functions via control and disturbance channel can be derived.
Mathematical models of component technological processes that constitute it are required to effectively automate any technological manufacture.
Models, replacing the real object, allow investigation of its dynamic properties in order to optimize technological modes and control systems.
Based on the conducted analysis, fundamental equations of statics (or balance system for CO2 in gas and liquid phases) are provided:
(Уо - УгО^) + (У1 - УгОСо))
^Уо - ^У1 - SKg-------------^ = 0,
„ п с (УгО^-Уо) + (Уг(Уо)-
_ РгХо - ^гУ1 + SKr--------------= where yr(x), xr(y) – equilibrium concentration CO2 in C2H2 and CO2 у NaOH; Kg, Kr – mass transfer coefficients, provided through the mole fraction of the component in gas and liquid phases; S – surface for the mass transfer in the scrubber. For equilibrium concentrations, the following: yr(x) = mx, xr(y) = y/m.
Let’s express x1 from the second system equation and substitute it into the first one. Let’s transfer the controlled variable y1 in the left part of the equation so that we get uniform static equation:
2SmK g K r - S 2 mK g K r ,
= (2F g + SK g )(2F r + SK r ) - S 2 K g K r У о + (2Fg - SKg)(2Fr + SK r ) + S 2 K g K r + (2F g + SK g )(2F r + SK r ) - S 2 K g K r У о
For the scrubber that is studied, control channel will be represented by "alkali consumption → CO 2 concentration in C 2 H 2 » sequence, and disturbance channel - by "flow of the gas mixture (CO 2 and C 2 H 2 ) → CO 2 concentration in C 2 H 2 » one.
Primary storage tanks, for which the balance equation is provided, are the alkaline solution and gas mixture.
Let’s accept the assumption of one-dimensional (in the direction of gas flow) linear distribution concentration of CO 2 in the liquid and gas phases.
The system of material balances for CO 2 in gas and liquid phases will look like:
Equation linearization in the point of main static mode was conducted, partial derivatives of first and second equations for variables were taken, and execution by the Laplace transformation was executed. After that, the following system of linear equations for the controlled variable y1(p) and the second output variable x1(p) was obtained:
Г -(f y1 P + 1) У 1 (Р) = (Т№Р + К У „ У1 )У о (Р) - K z1y1 У 1 (P), [-(Т^Р + 1) С 1 (Р) = KFrX1F r ( p) - КУ1Х1У 1 ( р) - К№У о (р).
The transfer function for the control channel Fr ^ У 1 :
^ F r (P)
K ^ 1 V 1 K^
K .v K v. (V V PI1)(V '. P 11)
The transfer function for the disturbance channel
У о ^ У 1 :
w _ ^УоР-^оуЖр+^-Кч уЛу о^
Уо Р К .У К У. (7 У р1 1)(7 '. P I1)
„ l/pe „ 2Fg-SKg , VgPg
< V 1 ~ , yl 2Fa + SKa ^^ 2Fa + SKa у° 2F_ + SKa
= SK g m _ Ц-Р г _ 2(y 1 - у . ) ■
■ У 2F g + SK g ’ '1 2F r + SK r ’ ;/" 2F g + SK g ’
_ SK r _ SK r
K y1X1 = m(2F g + SK g ) ’ K y ° X1 = m(2F g + SK g ).

Fig.4. Software interface of the Web SCADA system
-
VІ. S OFTWARE D EVELOPMENT
According to the proposed architecture and selected software Web SCADA, which performs the following functions, such procedures where developed .
-
1. Data collection for the technological process. The controller reads information from the sensors and sends it directly to the Web SCADA system via the Internet. Implementation is provided by Arduino driver controller, which sends POST-requests to a url-address. The request contains the name and current variables of the process. A corresponding method on the server processes the request and writes the data to a database.
-
2. Calculation of optimal process parameters. A special server-side method analyzes the current state of the process. If necessary – a method or calculating new control parameters is invoked. New settings are stored in the database.
-
3. Implementation of control . Arduino pings the appropriate url-address using a GET-method and receives the appropriate control parameters. These parameters are programmed on hardware layer.
-
4. Process monitoring. Operator can monitor the current values of the process and raise history for archival periods via a web interface. It is possible to re-tune the data of the technological process. Software interface is presented in Fig.
-
VII. Conclusions
The article analyzes and reviews the main advantages of Web SCADA systems. Self-developed Arduino-based Web SCADA system was implemented to control the absorption process. Its architecture and used software components were substantiated. Mathematical model for absorber was obtained, which was programmatically implemented in order to optimize process management. Corresponding software for the Web SCADA system was designed.
Список литературы Development of SCADA system based on web technologies
- Niu Ruiyan, Ren Junjie “Design of Fuzzy Temperature Control System Based on LabVIEW”, MECS Press, IJEME Vol.1, No.6, Dec. 2011 http://www.mecs-press.org/ijem/ijem-v7-n2/v7n2-3.html
- Pallavi Singla, Prashant Jain, Roop Pahuja “Implementation of Gas Scathe Admonisher and Control System Prototype”, MECS Press, IJEM Vol.7, No.2, Mar. 2017
- Yuriy Kondratenko, Oleksiy Kozlov, Oleksandr Gerasin Automation of control processes in specialized pyrolysis complexes based on web SCADA systems, IEEE, 2017
- Manjunatha K.C., Mohana H.S, P.A Vijaya “Implementation of Computer Vision Based Industrial Fire Safety Automation by Using Neuro-Fuzzy Algorithms”, MECS Press, IJITCS Vol.7, No.4, Mar. 2015
- W. T. Show, “Cybersecurity for SCADA Systems,” William Show, USA: PennWell, 2006, pp.473–537. ISBN-13 978-1-59370-068-3.
- Hwaiyu Geng “SCADA fundamentals and applications in the IoT”, Wiley Telecom, 2017, 816p
- Hwaiyu Geng “SCADA fundamentals and applications in the IoT”, Wiley Telecom, 2017, 816p
- M. Doyle, “Beggining PHP 5.3,” Matt Doyle, USA: Wiley Publishing, 2010, pp. 774–801. ISBN: 978-0-470-41396-8.
- M. Doyle, “Beggining PHP 5.3,” Matt Doyle, USA: Wiley Publishing, 2010, pp. 774–801. ISBN: 978-0-470-41396-8.
- A. G. Bondar, “Mathematical modeling in chemical technology,” A. G. Bondar, Kiev: High school, 1973, pp. 270–280.
- V. A. Golubyatnikov, “Automation of production processes in the chemical industry,” V. A. Golubyatnikov, V. V. Shuvalov, Moscow: Chemistry, 1985. – pp.330–352.