I recently posted an article about the increasing development and availability of Linux-powered automation devices. This is a clear industry trend that’s unavoidable for anyone following the automation technology industry.
Shortly after posting the article, I heard from a reader who wrote: “I read your article and I am surprised that you would promote the idea that anyone would use Linux for anything critical. It isn’t even a real-time control system. It can be used for non-critical applications, but the article implies that industry is adopting it for everything.”
This reader brings up a valid point. Linux is not a real-time operating system (OS) in and of itself. As Vibhoosh Gupta of GE Automation & Controls noted in the original article, GE uses “Type 1 hypervisor technology to run a real-time OS, such as VxWorks, running traditional control loops alongside our PAC Edge technology operating on Linux.”
Following up with Gupta after receiving the reader’s email, he further explained that, because Linux is not a real-time OS, it should be used with caution for critical applications requiring determinism.
“That is the primary reason GE Automation & Controls uses the Type 1 hypervisor to run both VxWorks and Linux simultaneously, safely and cooperatively on the controller,” he said. “The idea is to run critical applications like the control loop on VxWorks and then run non-deterministic analytics on Linux. The analytics algorithms then advise the control loop running on VxWorks in real-time to optimize the process for better outcomes.”
Adding to Gupta’s point, Charlie Norz noted that Wago’s Linux-based controllers “use Linux with a real-time preempt that is commonly used in time-sensitive applications.”
Opto 22 also uses Linux real-time extensions in its Linux devices, said Benson Hougland. These real-time extensions for Linux are why it is being used in “more and more mission critical systems all over the world,” he said.
The Linux Foundation launched the Real-Time Linux (RTL) Collaborative Project in October 2015. According to the Foundation, the project was “founded by industry experts to advance technologies for the robotics, telecom, manufacturing and medical industries. The aim of the RTL collaborative project is mainlining the PREEMPT_RT patch.”
While there are plenty of mission critical applications running Linux OS with real-time extensions—as highlighted by GE, Opto 22 and Wago—the Linux Foundation notes on its site that there remains “much work to be done.”
This need for more work on developing automation technologies is an ongoing one that has created no shortage of controversy since industry began developing new products with modern computing technologies more than two decades ago. One of the first areas of concern was the introduction of plant floor Ethernet in the late 1990s.
“Remember,” said Hougland, “the entire industry once declared Ethernet would never make it to the plant floor!”
But now, Ethernet is close to becoming to the standard plant floor networking technology of preference—even though work remains to be done to optimize its use there with the development of time-sensitive networking.
This kind of continuing development work on automation technologies has only become more widespread with the rise of the smart manufacturing and Internet of Things trends currently transforming industry—all of which serves to make the Linux real-time issue just another example of how an array of technologies are being adapted to industrial applications to address specific needs.
With that said, anyone interested in using Linux for control applications should heed the reader’s caution about it not being a real-time OS. Recognize its current potential, but also remain aware of its limitations.
A quote by Linux inventor Linus Torvalds on the Real-Time Linux site may express it best: "Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with your using PREEMPT_RT."