“Software is eating the world; all the functions that were once implemented by specific hardware will now be realized through software.” In the era of the industrial internet, the functions achieved by traditional closed industrial control systems through specific hardware will be replaced by software. Hardware will be redefined, and functions will be defined by software. The future is here, but it has not yet become popular.
1. The Birth of ALCConcept
On October 12, 2016, the author Maarten Ectors published an article on LinkedIn introducing a new type of logic control system, App Logic Controller (ALC), which differs from traditional PLC architectures. This is a bold hypothesis and concept that integrates modern CPUs with traditional control system microcontrollers to abstract control logic and transform it into functional interfaces that can be defined and implemented through applications.
Compared to typical PLCs, ALC looks completely the same. From a hardware perspective, in addition to the usual components, ALC will have two types of processors: one is the mobile processor used in our current smartphones, such as ARM; the other is microcontrollers from the Arduino family. The microcontroller will manage time-sensitive real logic, while the mobile processor will handle other remaining tasks, such as updating the logic running on the microcontroller, integrating with the external world, analysis, monitoring, performance management, and any other functions we may need.
From a software perspective, ALC abstracts the logic of PLCs and utilizes the concept of software-defined networking to achieve program development and management for ALC’s actions through an application store, allowing applications to define its functions. This means separating the logic control, program storage, and IO modules of PLCs, using applications to implement the logic control part. Each industrial solution is a developed application.
2. Development History
On November 18, 2016, the author Maarten Ectors published a follow-up article on LinkedIn, releasing the first prototype based on this idea. This prototype is not a true ALC, but based on the open-source operating system Ubuntu Core, placed on Raspberry Pi devices. This specialized version of the operating system for the Internet of Things allows us to develop our own industrial applications. Ubuntu’s IoT operating system, Ubuntu Core, aims to define a physical network and applications based on software. Through these physical network operating systems, applications running on them can interact with IoT devices, thus achieving control processes.
This runs on the Ubuntu Core system with Node-RED, which operates in a control environment, i.e., PLC logic control and storage systems. We can say this is a virtual PLC system, which needs to use an IO module to connect with it, collectively establishing a control loop.
3. Advantages of the ALC Concept
1. ALC essentially runs an application store on PLC-type devices, so any industrial protocol, edge analysis, cloud, or other industrial integrations are applications. Developers can create industrial solutions in days (or even hours) using open-source tools, and customers can get them running in minutes. Moreover, anyone can sell their industrial solution as an application.
2. ALC is cheaper compared to PLCs, with the highest-end costing nearly a few hundred dollars, while the low-end is just a few dozen dollars. This is because all designs are open-source, hardware is open-source built, and software is open-source built, resulting in relatively low costs.
3. Due to the application store concept, ALC will be easier to program, allowing more programmers to participate, leading to more applications available. Essentially, ALC is more innovative than PLCs.
4. Startups Based on ALC Innovation
1. UniPi.Technology
Website: https://www.unipi.technology
The innovative company UniPi.Technology has released a product line called Neuron, which is a modular programmable logic controller (PLC) designed as a central control unit. It is used for control, regulation, and monitoring in smart building systems, HVAC systems, and industrial automation. With its modular architecture and compact design, Neuron represents a highly flexible and cost-effective solution that can be quickly scaled in the field of smart technology.
Neuron device diagram
The Neuron controller unit is designed for general use. Various systems or devices can be controlled according to preset programs on the integrated interface or directly by the user through the user interface. The entire product line is based on the small Raspberry Pi 3, serving as the main control unit for independent logic separation modules. These modules have their own processors and memory, capable of running independently on RPi 3, but they do not possess such computational power, network interfaces, and remote control capabilities compared to RPi 3, providing only limited functionality.
Basic Neuron S103 model diagram
Each Neuron model is divided into one to three input-output (I/O) groups based on the model, with each group containing a set of inputs, outputs, and/or communication modules. Each I/O circuit board is controlled by its own STM32 processor, which manages the inputs and outputs and communicates with the central processing unit (CPU). The processor uses UniPi.Technology’s own firmware, which contains not only basic I/O functionality but also additional features. The CPU for all Neuron units uses Raspberry Pi single-board computers. Each I/O group processor connects to the CPU and to the central communication channel for all group processors. There is no communication between I/O groups. Each processor can also run independently on the CPU, allowing users to maintain basic control over I/O modules in case of CPU failure or software issues.
Internal topology of the Neuron product line
The Neuron can contain 1 (S series), 2 (M series), or 3 (L series) I/O groups. Each group is equipped with its own processor, with one or more I/O module interfaces connected to that processor. The processor handles all events on the I/O modules of the group and monitors communication with the CPU. All groups are labeled from the main group (1) from right to left.
Due to the modular design, the I/O boards are fully interchangeable, and customers can choose from the default I/O module combinations or create customized architectures based on specific needs. Therefore, Neuron can be customized to meet all customer requirements without the need to first develop suitable hardware. As a standard, all Neuron units are equipped with RS485-Modbus and 1-Wire communication interfaces. The 1-Wire low-speed interface is used to collect passive data from various attached sensors (such as thermometers, hygrometers, and other measuring devices).
1-Wire low-speed data bus allows up to 15 devices with unique HW addresses to connect to each channel. Modbus is a communication protocol using RS485 serial bus, serving as an interface for connecting and programming various devices sharing a given protocol. As a standard, all Neuron units are equipped with an RS485 bus and can also be equipped with Ethernet module interfaces for using Modbus/TCP.
The main advantage of their solutions lies in the software that controls these neurons, with the basic software being the Linux operating system and the Modbus communication interface using TCP protocol, offering a basic free version and an open-source version. Users can program the control of devices based on this open-source or free software for their required industrial solutions. The provided programming software supports graphical programming, allowing users to quickly create control code for various basic functions such as light switching, motion sensor control, etc., using simple drag-and-drop solutions.
This product differs from traditional PLCs in that:
1) The Neuron model from UniPi.Technology supports programming via software, meaning it is programmable, unlike traditional PLC devices that require dedicated programming software to pre-write programs and then upload them to the PLC for storage and execution. Traditional PLC devices are not programmable.
2) The programming software from UniPi.Technology has an open-source version and supports graphical programming, enabling the realization of an industrial automation program without the need to learn specialized automation programming knowledge.
3) Based on the API and interfaces provided by UniPi.Technology, we open corresponding applications, which indirectly realize the concept and architecture of ALC.
2. CONTROLLINO
Website: http://controllino.biz/
CONTROLLINO’s Arduino PLC is now a product that embodies the ALC concept in terms of architecture and implementation. CONTROLLINO is a freely programmable industrial PLC. It is based on Arduino open-source software technology, and its source code is publicly available on GitHub. Its product fully practices the architectural design of ALC, using software-defined PLC architecture to implement logic control through upper-level applications.
CONTROLLINO and the aforementioned UniPi.Technology are similar companies that have restructured PLC system programming and implementation methods based on hardware decoupling and software definition.
3. Kunbus
Website: https://revolution.kunbus.com
Kunbus also creates ALCs like Revolution Pi using Raspberry Pi computing modules, applied in many home automation fields. More details can be found on their official website.
4. Rexroth
Website: https://www.boschrexroth.com.cn/zh/cn/
Rexroth has innovated in this area by using software-defined architecture PLCs, namely ALC, integrated with cloud computing to form industrial cloud platforms or industrial IoT platforms, achieving control over industrial and IoT devices through orchestrating and developing cloud computing applications.
5. Customization and DIY
Unfortunately, these startups’ products are currently not available for purchase in China and can only be bought through foreign websites. If we want to practice ourselves, we can DIY one using the Raspberry Pi computing module 3.
The Raspberry Pi Foundation has released a Raspberry Pi Computing Module 3, which offers 4GB of storage capacity, 1GB of memory, and the same processor as Raspberry Pi 3. It also supports Ubuntu Core. We can use it to build our ALC industrial product solutions or run our industrial application testing environment. In other words, RevolutionPi is a set of industrial PLC-type devices using computing modules. Now, with the powerful Compute Module 3 and Ubuntu Core, we can freely use apps/snaps to control and manage industrial machines. We can use it to realize our DIY ideas, such as industrial robots, drones, PLC/ALC, etc.