Why Does the World of Industrial Automation Ignore IoT?
In this article, take a look at why the world of industrial automation might ignore IoT.
Join the DZone community and get the full member experience.Join For Free
For 25 years, I have been involved in "traditional" computer science...traditional languages, classic databases, and SO among the usual ones.
Due to fate, I came into contact with the world of industrial plant engineering, specifically the hotel sector of various types and sizes. So, machine rooms for air conditioning, domestic hot water, heating, solar panels, swimming pools, etc...
My personal impression was that I was dealing with a large-scale home automation system rather than a rigorous control procedure. An assembly line, an automatic machine, or a chemical process requires a high level of precision and timeliness, otherwise disastrous and dangerous effects in the operation.
Another thing is, for example, the monitoring and control of a hot water production system. The equipment used for this purpose, such as boilers or heat pumps, already have, at the factory, the minimum and indispensable controls in terms of operation and safety required by the regulations. It is, therefore, a question of integrating the components together to better benefit from the advantages offered.
This means that an error of a few degrees on the reading of a temperature or a delay of several seconds in the operation of an actuator, a pump, etc... they do not compromise its general operation or safety.
Despite this, all control systems of this type, even from different suppliers, are now made with large electrical panels full of PLCs, expensive shielded electrical wiring for sensors and actuators and heavy SCADA Modbus applications that result in rather important costs.
The SCADA ModBus suppliers, for their part, try to "open" to the IoT world, providing MQTT gateways and other components to open up but not give up their consolidated dominance.
Mine is not meant to be a negative criticism of the conventional PLC world.
I would simply like to emphasize that today, I believe it is absolutely feasible to use softer development methodologies in some areas, closer to information technology than to industrial electronics.
It is, therefore, something rooted in human nature: when something works it doesn't change!
For these reasons, I have tried my hand at creating a "Killer Application", initially very specific for my sector, which by bringing simplicity in the implementation and a drastic containment of costs, can entice you to experiment with new alternatives offered by today's technologies.
I present to you the prototype of the application:
As can be deduced from the previous figure, the entire system is based on MQTT communication, which in fact constitutes the backbone.
First of all, all the measurement points such as temperature or pressure sensors, traditionally physically wired to PLC inputs, are replaced with "intelligent" stations via a small ESP8266 or ESP32, which takes care of the physical connection of the sensors and of the conversation via WiFi with the MQTT Broker
With the same technique, the same apparatuses, appropriately programmed, are responsible for providing a ModBus Gateway for the dialogue with the "machines" (boilers, heat pumps, etc.)
All the control logic resides in a microPC or rather a Raspberry PI: for each individual component of the architecture, the main application launches a thread in the background that communicates on events with the MQTT broker.
This guarantees wide scalability and excellent performance.
At the moment, there is an Arduino-based PLC, connected to the PC via serial via the protocol. Firmata is responsible for managing the analog and digital output levels of the system. The same goal can be achieved in a more compact way by using a PLC based on Rasberry, combining the tasks of the PC and the microcontroller in a single component.
The “killer application” should reside in the web application, built dynamically according to parameters present in a small SQLite DB. By appropriately configuring the various components, dynamic management of the web part is obtained, without any recourse to programming and this aspect should greatly simplify the system articulation.
All this in one language!
- Python for the controls engine
- Python-Flask + bootstrap for the web application spa
- Micropython for peripheral microcontrollers
Thanks to the MQTT client, which works on events, the web application becomes responsive in a natural way, without the need to bother React, Angular, or Vue.js.
Advance just a few screenshots, waiting to clean up the code and release it on GitHub
Opinions expressed by DZone contributors are their own.