In this article, I’ll be introducing AggreGate IoT Platform-based products. In 2010, two years after AggreGate Network Manager release, we started AggreGate SCADA/HMI project — fourth-generation SCADA system.
So what is fourth-generation SCADA?
Wikipedia suggests the following definitions:
- First-generation SCADA are monolithic systems that had been developed before the Internet expansion became widespread. Such systems do not operate anymore.
- Second-generation SCADA solutions are operating in enterprise local systems. They are supposed to employ IP network for connection between controllers, data collection servers, controlling servers, and APM operators.
- Third-generation SCADA architecture enables coordination of geographically-distributed automatic process control systems. These systems include multiple manufacturing sites and remote monitoring objects. Until recently, third-generation SCADA was a cutting-edge SCADA product with the possibility of HMI launch in mobile device browsers, remote project editing right on the production server, and testing without server shutdown and project file copying.
- Finally, fourth-generation SCADA should fit the Internet of Things. It implies decentralization and unification at a greater extent, i.e. possibility of algorithm execution point shift between SCADA servers and controllers. Another indispensable feature is operation via cellular and satellite network avoiding VPN (controllers with no static IP address can connect to SCADA servers operating in a cloud).
Naturally, every SCADA vendor develops their products evolving from generation to generation, while the previous versions become stagnant for not being compatible with the latest trends.
IoT Platform-based AggreGate SCADA/HMI has inherited all functions of fourth-generation SCADA:
Built on Java platform, the system operates on Linux perfectly, which allows SCADA core running on embedded systems. Our OEM partners supply systems built on Raspberry Pi, BeagleBone Black and similar low-priced microcomputers. In addition, there is an option for SCADA core to access IP communications, serial ports, as well as discrete and analog inputs, etc.
The same solution operating on regular servers provides centralized data collection and HMI handling. Servers based on unified architecture establish peering relations for data interchange with PLCs.
The system is fully compatible with all Tibbo programmable controllers and modules.
HMIs can be launched on Linux or Windows PCs, touch boards, or opened in web-browsers.
There are no such concepts as “development environment” or “runtime environment” in our solution. Development is implemented via remote connection right on a production server considering role-based permissions. In addition, there are a lot of ways of cloning the whole project or its parts. Platform capabilities for designing reference projects and derived products will be described in a separate article.
AggreGate Platform is tailored to work with M2M devices. The server with controllers connecting to it by themselves operates perfectly. In our terminology, such controllers connecting to the server themselves are called agents.
There is still a question left: why have we developed another SCADA? The international and Russian markets are saturated with such solutions.
The point is that AggreGate SCADA/HMI as an AggreGate IoT Platform add-on is technically a set of drivers for data collection and typical HMI vector images. All features necessary for SCADA are AggreGate Platform components: GUI (widget) builder, report editor, alert and event control tools, tag modeling system, failover clustering technology, SDK with DDK, etc.
Our investment to SCADA system development was not so great comparing to the development of such a system from scratch. To implement industrial and building automation projects, we developed the drivers for standard process control protocols (Modbus, OPC, OPC UA, BACnet, DNP3, etc.) and designed several thousands of vector images.
Along with standard SCADA system functions, AggreGate Platform fills it with a variety of features, for instance:
Statistics storage in Round-Robin Database (RRD) and NoSQL database (BigData)
Unlimited horizontal and vertical system scaling based on AggreGate distributed architecture
Data collection and control via both IT monitoring protocols (SNMP, FTP, JMX, SSH, WMI) and generic ones (SQL, SOAP, CORBA, LDAP…).
These features allow you to apply the system in multiple projects, not typical for SCADA solutions. AggreGate SCADA/HMI, in particular, is used for manufacturer fleet telemetry, MES replacement, cell tower and data center engineering infrastructure monitoring (included into AggreGate Data Center Supervisor solution).
In terms of AggreGate architecture and project building concept, AggreGate SCADA/HMI resembles most of other products. A typical project development cycle includes:
Deploying a server or several servers in a failover configuration
Connecting to a storage that can be either a standard relational DBMS or integrated Apache Cassandra DMBS saving dozens of thousands of tags per second
Connecting controllers and other data sources (e.g. external databases), configuring tag polling period
Configuring automated tag processing algorithms on a server side. These can be models determining additional calculated tags, alerts delivering e-mail and SMS notifications, schedules for performing certain jobs, etc.
Developing HMIs, dashboards, and navigation between them
Setting user roles, access, and external authentication via LDAP/AD configuration.
Running on Linux, AggreGate server collects data from OPC servers running on Windows. This procedure is implemented via IP network and DCOM protocol. As a result, there is no need for installing SCADA server and OPC server on a single computer anymore.
There are no such notions as “project”, “development environment”, and “runtime environment” in AggreGate SCADA/HMI. According to its concept, a single primary server is installed on a worksite. During the initial deployment phase, system engineers can connect to the server locally or remotely for developing HMIs, create PLC user accounts, set up data storage, and so on. After this phase, the same server will be utilized during commissioning and further on a regular basis, although the system migration to another server is possible and simple.
A unified environment enables to introduce modifications into the production server without any interruptions. In this case one should:
Make temporary copies of one or two system components (for example, HMIs or alerts)
Introduce changes in the copy and test them
Replace the original component with the successfully modified copy.
One of the vital SCADA system parts is GUI Builder. Inherited from AggreGate Platform, GUI Builder assists in drawing and animating any HMIs containing both simple components (buttons, captions, text fields, lists, etc.) and complex ones (tables, multi-layer panes, tabbed panes, charts, geographical maps, dynamic SVG images, video windows, etc.)
Even though AggreGate GUI Builder is similar to other system editors of this kind, it has an outstanding feature. Alongside with standard visual component absolute layout, any pane can utilize a grid layout similar to an HTML table. Plus, in case of a complex form with multiple tabbed panes (simple, multi-layer, tabbed, split panes), every pane can employ both absolute and grid layouts.
Grid layout allows designing HMIs, data input forms, and dashboards that seamlessly adjust to any screen resolution. In case of absolute layout, component proportional scaling is used. In this case, component height also increases, which leads to unacceptable results for almost all forms and dialogs.
HMIs are animated through bindings that allow data copying between server object properties and visual component properties in response to server and HMI events. AggreGate expression language brings aid in applying any operations to replicated data on the fly (processing numbers, strings, dates and time, tables, etc.).
Any data processed by AggreGate can be utilized for reporting. Expression builder and integrated SQL-like query language help retrieve necessary indicators, and the system creates the optimal template for their visual representation. After this, you can customize the template using the report builder.
As for the KPIs, you can configure alerts raised in response to critical object state events or event chain retrieving. The system sends alert notifications in almost any way (popup windows, sound notifications, E-mail messages, SMS). Automatically launched corrective actions can run both autonomously and under operator control. The alert module supports other typical industrial control features: flapping detection, hysteresis, prioritization, acknowledgement, escalation, etc.
AggreGate SCADA/HMI automates industrial processes, displays all necessary data in the operator center, provides visualization, saves information into a database, and creates reports ‒ in fact, everything that is expected from SCADA. The system promptly analyzes technological process efficiency and takes important decisions on its optimization, i.e. it partially performs MES software functions.
Usually, there are several SCADA installations operating simultaneously at large enterprises. Every installation has its own function in a certain workshop. The systems are logically bound by the production chain. Thus, their integration and automated KPIs transmission to MES/ERP levels are required. In the AggreGate ecosystem, this is carried out by exchanging unified data model parts between servers with the help of distributed architecture.
It often happens that on a single object/within a single project, it’s necessary to implement not only SCADA, but also an IT infrastructure management system, building automation, access control and physical access control, automatic system for commercial accounting of power consumption, and other solutions in various combinations. AggreGate has all these features implemented within one installation and possibility of binding modules on a single server. Where can you run across it? For example, in data centers where active networking equipment, climate sensors, UPS, DGU, conditioners, water-cooling system, personnel access, time and attendance should be monitored. Some more examples: cell towers, where radio-relay equipment of transport network, sector antenna parameters, intrusion detection sensors, and other systems must be controlled. In large warehouses, it is vital to monitor personnel access, loader behavior, ventilation and lighting systems. Almost all large-scale objects can gain an advantage from merging various monitoring and management systems.
In our upcoming articles, we will describe distinguishing features of our SCADA solution, various industrial automation problems and their described solutions, as well as newsworthy projects we’ve taken part in.