Will the real edge controller please stand up?
Understand and evaluate industrial edge controllers’ makeup to meet rugged, deterministic control demands
Today, more players are joining the IIoT field with their own versions of an edge controller intended for industrial automation service. Demand is great among end users, systems integrators and machine original equipment manufacturers for connected products with powerful computing and networking capabilities — if they maintain the unassailable reliability of traditional control devices. Edge controllers promise to do it all, while being easy to use and secure.
This article considers several features relevant to any device that may be considered an edge controller. Users need to understand these capabilities — and the details of how they are achieved — to make an informed decision about which edge controller is right for their application.
How we got here
The evolution of industrial automation devices dates back to the 1960s when digital controllers — or programmable logic controllers (PLCs) — began replacing electro-mechanical relay switches. These PLCs were more versatile, weren’t hardwired, improved efficiency and took up a fraction of the cabinet space.
To this day, PLCs are excellent for simple, repeatable processes that need to be performed and can be controlled by managing inputs and outputs (I/O) via written logic.
By the early 2000s, PLCs with more advanced features were being produced. They were coined programmable automation controllers (PACs) to distinguish them from the simpler variety. General criteria that define a controller as a PAC include greater flexibility in programming such as C/C++, better interoperability using standard protocols, modular open-architecture design and having more features and functionality to operate in multiple domains such as process, discrete and motion control.
In today’s connected world, whether a PLC or PAC is being used, edge technology is required to gain access to isolated or stranded data, gather data from other business/internet constructs, and consolidate the information to generate new insights and opportunities. In particular, edge controllers are an evolution of PLCs/PACs, integrating the deterministic control functionality with non-deterministic edge functions into a single platform.
So, what characteristics define a modern edge controller? Is a device an edge controller because it communicates over Ethernet, or maybe it has a web server or other general-purpose apps added? Could a laptop computer, or a mobile phone for that matter, be an edge controller if the right software were added? How does one prioritize the deterministic PLC-type control in comparison with the general-purpose computing aspects?
The essence of edge
Since the edge controller category is relatively new to the industry, there are multiple implementation variations. These range from offering a simple webserver on the PLC to having OPC UA capability on the PAC. Remember the leaps when the industry moved from relays to PLCs and from PLCs to PACs? A true edge controller is an even greater evolution of the PAC and should be designed in a way to provide the benefits of edge technology without taking away the basic conditions necessary for an industrial controller.
First and foremost, an edge controller is an industrial automation controller that needs to provide real-time determinism to control the machine or process. A true edge controller should comprise:
- A single platform that can run deterministic control and non-deterministic applications in a safe and cooperative manner, such that neither can inadvertently impact the performance of the other. Ideally, it can be accomplished with two independent operating systems (OSs)—a real-time OS (RTOS) for deterministic control and a general-purpose OS (GPOS) such as Linux for edge applications.
- Powerful open-source programming capabilities, such as Python and C/C++, enabling creation of better edge and analytic applications.
- An open extensible platform enabling users to build upon established industrial edge apps or create and deploy their own from the ground up (or both) to generate the insights they need.
The above defined edge controller qualities allow users to implement IIoT capability at their own pace. They can start small today, if they are ready, or begin and scale up later. Regardless of where they are on their digital transformation journey, they can use edge controllers to control their machine or process with the reliability, determinism and security of the traditional industrial controller.
Edge controller implementations
Let’s take a deeper look at the key considerations needed for implementing an edge controller (See Figure 1).
Hardware: Edge controllers, just like their PLC/PAC predecessors, must be made to withstand the factory and field environment. Temperature is perhaps the number one challenge, but vibration, humidity and contaminants should also be considered. Adding CPU cores to deliver greater computing performance generates more heat, and the hardware needs to be designed in a way to ensure consistent performance across the entire temperature spectrum, without any points of failure like rotating fans.
Deterministic control: Managing any critical automated process requires a real-time deterministic OS. A general-purpose OS simply can’t offer determinism and robustness needed for any direct industrial control application. Implementing an edge controller with an RTOS is instrumental in making sure the responsiveness and determinism of the controller is maintained at all times. This is why edge controllers need to run a RTOS like VxWorks for their deterministic control and then run GPOS such as Linux for their edge computing.
Virtualization: One edge control approach is to use a traditional PLC processer, in combination with a co-processor, as individual cards installed together in the same chassis. A second approach is to use a single standalone edge controller with a real-time hypervisor to orchestrate a multi-core processor into segregated virtual machines (VMs) and, thereby, achieve deterministic and general-purpose computing independence on a single hardware platform.
The real-time hypervisor segments the hardware resources—processor cores, memory and network interfaces—and dedicates them to each individual VM running a separate OS. This segmentation allows for a RTOS to work in a safe and cooperative manner with the GPOS with no performance impact—meaning you can potentially reboot the GPOS with no impact to the RTOS running critical process.
This capability is very important as users will want the RTOS critical control to remain always on, performing at a consistent level, even as they update their GPOS edge analytics at a much faster pace for better insights. Also, from a cybersecurity point of view, segregated VMs provide better security by making it easier to restrict outside access to the RTOS.
App-based edge architecture: For many users, a key edge controller feature is how many and what kind of general-purpose edge apps — over and above the core deterministic control function — are available for optimizing the process or machine control (See Figure 2). General-purpose apps may include any combination of:
- Human-machine interface (HMI) machine visualization.
- MQTT for cloud connectivity.
- Node-RED for visually connecting data flows.
- Grafana for analytics and interactive data dashboarding.
- And many more!
These applications can be run normally under the GPOS. However, a more effective approach is to containerize these apps—bundling the app’s code with related files and dependencies — for best independence and control of inter-app communications. Just like hardware virtualization ensures each OS can be independently managed and even restarted, a containerization platform such as Docker provides these capabilities for apps, enabling users to test, deploy and scale up configurations.
The evolving edge controller
At the end of the day, industrial users need true edge controller solutions, more rugged to get the job done. Depending on their application, they require products that run reliably at the edge, delivering real-time deterministic control of equipment (See Figure 3). This capability should be supplemented with edge computing, making it possible to access trapped machine data, perform calculations, deliver other application experiences such as visualization and communicate to other enterprise resources. An edge controller enables better outcomes.
Any edge controller can promise to meet these needs, but thoughtful implementation will enable users to be at the forefront of technology without incurring downtime or risk. For the best performance, users should insist on edge controller implementations that are first and foremost industrial controllers but carefully crafted to add edge computing capabilities running in a safe and cooperative manner.