D2000 (aims for) IoT! What possibilities does it bring?
According to the Moore’s law, the complexity of integrated circuits doubles every 18 months with their price remaining constant. What is in this law for SCADA and MES systems?
Anyway, it brings enough performance for large applications. For comparison, our project from the year 2003, i.e. 15 years ago, contains this specification of an application server: “Compaq ProLiant ML530, M 2x PIII 800-Xeon, 256 kB Cache, 512 MB RAM, RAID Model 3x18.1 GB - a powerful 2-processor server with a high level of operation and data reliability using disk array with HotPlug drives (replaceable online) ". Another server from the same project with a planned lower performance, had only 256 MB RAM and a two Intel Pentium III 600 MHz processors.
As far as performance parameters are concerned, today's average mobile phones easily outmatch these specifications.
Currently, for large-scale applications (ranging from dozens to hundreds of thousands of tags), we use servers with several GB or tens of GB of RAM, four or more cores and hundreds of GB disk space for archiving.
However - beside large applications also small ones exist - ranging from hundreds to thousands of tags. Applications that do not need memory, processor performance or the disk capacity of today's computers. Is there any (and possibly financially interesting) alternative?
In the editorial of this year's March issue of ATP journal, the editor-in-chief, Ing. Anton Gérer, writes about five technological trends that will have the biggest impact on manufacturing processes this year. As one of them, he introduces "Distributed analytics - thanks to their expansion in IIoT, it will be possible to process data and use computing power near the source of data through intelligent, bi-directionally communicating devices such as sensors, controllers or gateways."
Parallel to the world of 32 and 64-bit Intel processors, the world of ARM architecture exists and grows rapidly for a number of years. These are devices like mobile phones or tablets that are optimized for low consumption and cost. Another group is single-board ARM computers - Raspberry PI is the most widely used but there are others. This group is also interesting for automation manufacturers - so interesting, that there are several industrial computers that are built on Raspberry PI (based on the Raspberry PI Compute Module, adding RTC circuits, network interfaces and industrial inputs and outputs). As an example, we can present Techbase NPE X500, Sfera Labs Strato Pi a IonoPi, Kunbus Revolution PI or Compulab Industrial Raspberry Pi IoT Computer.
Current Raspberry PI version 3 has a standard 1 GB of memory, the quad-core processor Cortex-A53 clocked at 1.2 GHz (version 3+ at 1.4 GHz).
Why do we mention this architecture? Because of D2000 version 12, which is being released this autumn, and its server processes, in addition to the standard x86/Windows and x64/Windows architecture, were also ported to x64/Linux (for enterprise-level solutions) and ARM/Linux. So, version 12 is capable of using Raspberry PI and industrial computers based on it, as an application server or a communication computer.
In addition, D2000 ensures compatibility among all supported architectures, so heterogeneous solutions can also be created – for example an x64/Windows application server, an ARM/Linux communication computer and a x86/Windows dispatcher workstation.
What are the advantages of using ARM/Linux architecture?
- Price - Raspberry PI 3 with SD card together with the power source costs up to 100 Euro. Industrial versions fitted with I/O modules are 2-3 times more expensive, but it is still a much more interesting price level than standard industrial servers.
- Power consumption - common consumption of Raspberry PI 3 with attached external 2.5" USB disk was up to 4 Watts. Industrial Techbase NPE X500 declares a power input up to 12 Watts. In the event of a power outage, a similar device using a standard backup power supply will last by an order of magnitude longer than an ordinary server!
- Security: In the light of the Spectre and Meltdown vulnerabilities affecting current x64 processors, it is an interesting fact that the ARM1176, Cortex-A7 and Cortex-A53 ARMs used in various generations of Raspberry PI do not use speculative instruction execution to increase performance, which makes them immune to such vulnerabilities. Vulnerabilities of various management technologies of x64 processor (such as recent INTEL-SA-00075 or INTEL-SA-00086) do not concern Raspberry PI as it doesn’t contain a management processor. As for the operating system level vulnerabilities - unlike Windows and x64/Linux architecture, there is very little malicious code targetting Raspberry PI - we managed to find only MulDrop.14 malware for cryptocurrency mining, trying to exploit the default name and password of the admin account pi/raspberry.
- Small disk requirements - a small 4GB SD card was enough for installation of Raspbian operating system, PostgreSQL database and D2000 real-time system, with 1.3 GB free space remaining available.
What are the possibilities of using ARM/Linux architecture for D2000 applications?
- An application server containing all necessary D2000 server processes (kernel, archive, calculator, etc). Thick clients (D2000 HI) from Windows or web clients from any platform can connect to the application server.
- Remote communication server with KOM archive functionality, which enables it to work offline after loss of connection to the server (for example, due to network problems), and to store the values obtained from the communication in a file on a disk and to send them after the connection is restored. All communication protocols that do not require the Windows platform (such as OPC Classic or DDE) are available. Additionally, the newly-developed GPIO protocol supports work with GPIO pins of Raspberry PI and with analogue and digital inputs and outputs of industrial NPE X500 as well as with its user LEDs and a buzzer. The tested model NPE X500-M3-MAX-3G also included a 3G modem so it would be able to work on a remote site using the 3G network.
- Dispatcher workstation with a thin client. The following figure shows a scheme displayed on a Chromium browser running in “Raspberry Pi Desktop” graphic environment on an older Raspberry PI 2. The browser was connected to a web server running on another Raspberry PI 3, which served also as an application server.
- Embedded SCADA system located inside a technological installation, with a possible web interface and a wide range of data transfer capabilities to other systems (e.g. Modbus TCP server or Modbus RTU server, IEC101 server, IEC104 server – an OPC UA server is also available). Communication to a superior system via OPC Classic may also be possible with the remote D2000 OPC server installed on the Windows platform.The research of D2000 port to ARM architecture was triggered by a request of one of our OEM partners, who needed an embedded solution to monitor multiple devices in industrial rack - via TCP and serial communication, analogue and digital inputs, and possibly switching off devices via digital and relay outputs.
As for the disk space, the NPE X500 can be expanded by a flash module that can serve as a storage for the archive database. In case of Raspberry PI, a larger SD card (32-256 GB) can be used.
What about the reliability?
It must be said that today's x64 servers and industrial computers contain redundant hot-plug components (power supplies, fans, drives, etc.) as well as systems for internal hardware diagnostics, allowing them to survive the failure of one of the redundant components. Raspberry PI does not have similar features, so the systems built on it must necessarily be less reliable, don't they?
Raspberry PI is cooled passively, so it doesn’t need the fans. Its hardware is much simpler than hardware of a server - it has fewer components that can break. But it can still break. What can we do about that?
If high reliability is required, it can be achieved by using redundancy – if not at a component level, then at a level of whole computers. For more than 15 years, the real-time software technology D2000 has been supporting the application redundancy - one of the servers is active and one or more are passive - they maintain the copies of all process values and wait for activation due to an active server breakdown or an operator command. Usually, a two-server redundancy is used, and several applications use up to three servers (the third one often on a remote site as a "disaster recovery"). And this technology is also available for x64/Linux and ARM/Linux architectures, so there is nothing preventing from building a redundant application on two or three Raspberry PIs.
Conclusion ..
Today, the growth of computing power enables to use small, low-cost and energy-efficient ARM devices to operate small and medium SCADA systems with hundreds or thousands of tags. Therefore, D2000 is beginning to support this platform in version 12. For D2000 users and our OEM partners, it may be an interesting fact that they have the same technology available as previously on Windows platform - robust and stable, being developed for 25 years, with a wide range of capabilities and implemented communication protocols. In addition, in case of additional expansion and growth of their application, and after several years reaching the limits of performance provided by the ARM platform, there is the possibility of simple and trouble-free migration to a high performance x64/Linux architecture - without any need of application modifications – which preserves time and effort invested into application development. So - D2000 aims for IoT!
September the 6th, 2018, Ing. Peter Humaj, www.ipesoft.com
This article was published in ATP Journal 11/2018.