Open-Source Software Meets Industrial Automation

As more automation technology suppliers incorporate open-source tools, the ability to use open-source software in automation projects no longer depends on access to arcane software knowledge commonly known only to developers and IT-savvy engineers.

Aw2002 F1 1

Hydraulic fracturing (or fracking) and horizontal drilling are not the only technologies producing profits these days in the oil patches of southern Texas. Another is the open-source software that has been steadily seeping into industrial automation and providing opportunities for innovators like Dan Arbeau, CEO of system integration firm netDNA Services.

Arbeau relies on open-source software to automate the trailer-mounted, mobile pumping units Calgary-based New Wave Energy Services builds for managing the water used in fracking. With this technology in place, technicians no longer need to manually monitor flow rates and the level of the water stored in tanks and pits. And they no longer need to transmit instructions by text message or other manual means to technicians in the field adjusting the pumps. They can now control the pumps directly from their mobile devices.

The enabling open-source technology Arbeau uses is built into groov EPIC, the edge programmable industrial controller developed by Opto 22. Arbeau put one of these controllers on the mobile pumping units to add communications, visualization, and security to the Modbus/TCP genset controller used to supervise the pumps. The groov EPIC controller and I/O modules not only monitor discharge levels, suction, and flow rates, but also send signals to the genset controller for opening and closing the pumps. It also pulls data like the pumps’ rotational velocity and associated telemetry from the genset controller. Each of these controllers receives the data from wireless sensors through a SignalFire self-contained gateway using Modbus/TCP.

The groov EPIC controllers publish their data to a central server using two built-in open technologies: the Node-RED programming tool from the OpenJS Foundation and the Sparkplug MQTT (message queuing telemetry transport) publish-subscribe communications protocol from Cirrus Link. Because the controllers are connected to a cellular wide area network by a radio Internet protocol device on each trailer, technicians in the field can connect to the network from their tablets and operate the pumps remotely.

Dan Arbeau from netDNA constructed this smart pump controller for New Wave Energy’s mobile pumping units using the open source groov EPIC processor and I/O modules from Opto 22. Courtesy Opto 22Dan Arbeau from netDNA constructed this smart pump controller for New Wave Energy’s mobile pumping units using the open source groov EPIC processor and I/O modules from Opto 22.
Courtesy Opto 22

The quest for interoperability

Besides streamlining remote access, open-source software is also playing a key role in satisfying demand among users in the process industries for greater interoperability, interchangeability, and portability. In fact, interest in open standards for interoperable, plug-and-play control was why ExxonMobil approached The Open Group, a vendor-neutral technology consortium based in San Francisco. As a result of their discussions, the Open Group launched the Open Process Automation Forum in early 2017 to provide an environment for end users, system integrators, and automation vendors to collaborate on these standards. Read more Automation World coverage of the Open Process Automation Forum at http://awgo.to/opaf.

Through this forum, ExxonMobil has been investigating how it might benefit from PLCnext, a programmable logic controller (PLC) from Phoenix Contact. Inspired by the Raspberry PI and other open-architecture communities, Phoenix Contact developed this PLC as an open-source device. ExxonMobil introduced it last year into its pilot plant in Clinton, N.J., to deliver basic computing and configurable I/O at the edge.

Besides being a conventional PLC, PLCnext is also a Linux-capable device, meaning that it allows for use of traditional IEC 61131-3 languages as well as programming languages like C++, C#, and Python. “Our open-source PLC can run on Eclipse, Visual Studio, Matlab—pretty much any IDE [integrated development environment] compiler,” says Yuri Chamarelli, lead product marketing specialist for control systems at Phoenix Contact.

Chamarelli explains that this means ExxonMobil will no longer be restricted to just one vendor. The pilot plant has been proving the concept using PLCnext, but the Linux-based software created by the engineering staff at ExxonMobil can run on any open, Linux-capable controller.

ExxonMobil plans to begin field trials with PLCnext this year by introducing the implementation into selected production sites.

Open-source technology permits New Wave Energy’s trailer-mounted pumping units in remote locations to communicate with technicians via their tablets.Courtesy Opto 22Open-source technology permits New Wave Energy’s trailer-mounted pumping units in remote locations to communicate with technicians via their tablets.Courtesy Opto 22

Three kinds of open code

As popular as the demand for greater interoperability is, this is not the only reason why automation providers are incorporating more open-source software into their products. Another big reason is economics.

“Over the past 20 years, the computing environment has changed dramatically,” explains Michael Risse, CMO and vice president at Seeq. This dramatic change has occurred against a backdrop of software developer communities making available software and bits of code that they have spent millions of man-hours developing and proving.

“Users can assemble software from these libraries and foundation blocks, rather than writing it from scratch,” Risse continues. “What was out of reach is now inexpensive, and what was a long project can now be developed quickly.”

This open-source software falls into three general categories, according to Kevin McClusky, co-director of sales engineering at Inductive Automation. The first is operating systems. “Linux and Android would fall in this category,” he says. “Almost everyone who runs edge devices runs Linux.”

“It’s running on 96.3% of the 1 million top servers in the world and on 90% of all cloud infrastructure,” adds Marcia Gadbois, president of Adisra, an automation software vendor. “This means that, as more plants begin to connect and augment their infrastructure with servers and clouds, Linux will only continue to evolve in the industrial automation market.”

The second category of open-source software consists of applications, such as databases and browsers. McClusky says that applications in this category have tended not to enjoy as much popularity in the industrial space as software in the other categories. Important exceptions include open-source databases like PostgreSQL from the PostgreSQL Global Development Group and MySQL from Oracle.

A much more popular category of open-source software has been the third one, the libraries of code that can be embedded in other software projects. “At our 2018 conference, Mike Milinkovich [executive director of the Eclipse Foundation] mentioned that 90% of the code in today’s software projects is boiler plate,” says McClusky. “Only 10% is the value that a software developer brings to its software.” Consequently, software developers and users that have the requisite talent typically construct much of their code from some combination of open-source and commercially available libraries.

Carefully vetted open-source software plays a role for industrial visualization and data handling applications on edge devices, site-located hardware, cloud-located systems, and on mobile devices accessing all these systems. Courtesy AdisraCarefully vetted open-source software plays a role for industrial visualization and data handling applications on edge devices, site-located hardware, cloud-located systems, and on mobile devices accessing all these systems. Courtesy Adisra

Other drivers

Another reason for the proliferation of open-source software is the growing use of the Internet in industry. The popularity of the Industrial Internet of Things (IIoT) has promoted the use of both HTML5, the latest version of the hypertext markup language, and open-source versions of TCP/IP. It has also promoted the use of the MQTT open messaging protocol. “According to Arlen Nipper, co-inventor of MQTT, it is used in 64% of all IIoT projects,” notes Gadbois. She says that an open-source version of this protocol is available as Mosquitto from Eclipse.

Gadbois also believes Microsoft has become an important factor in the proliferation of open-source software. “Microsoft, in the past, was not a fan of open-source, but now has been promoting it,” she says. She notes that Microsoft has put Linux on Microsoft Azure and joined the Open Invention Network, a group that helps to protect Linux from patent lawsuits. Microsoft, moreover, has not only contributed more than 2,000 projects to open-source web sites, such as .NET core, TypeScript, VS code, and PowerShell, but also acquired GitHub, a popular digital hive for sharing and collaborating on open-source code.

Software vendors have long made extensive use of open-source software as they develop their products, like this advanced analytics application from Seeq. Courtesy SeeqSoftware vendors have long made extensive use of open-source software as they develop their products, like this advanced analytics application from Seeq.
Courtesy Seeq

Vet your code

Integrators and end users who are borrowing code from these sites for their projects will, of course, need to vet it to ensure that it performs well and is safe to use. Vetting should begin with an evaluation of the license. 

“First determine whether it is a commercial-friendly open-source license,” says McClusky. “Make sure that it’s going to be legal to use.”

Then, he suggests determining whether modifying the source code is permitted. “Open source doesn’t necessarily mean that you can change the source,” he explains. “It just means that you can see and use it.”

Besides checking the license, also consider security. For this task, vendors advise beginning by using open-source applications and libraries that are supported and maintained by active user communities. “The more users, the better,” says Chamarelli. His reasoning is that more eyes looking for bugs and proposing fixes not only continuously improves the software, but also helps to keep the community ahead of malicious actors.

Because every community has its own character, Chamarelli also suggests investigating any that you might want to join and getting a reference from someone whom you know in the community. “Also, always find out who posted the code,” he says. “People willing to put their names behind their work are less likely to be doing anything malicious.”

Any good vetting process must also include performance testing. “When you take something from an open-source community, it’s your job to ensure that the code works for you,” notes Chamarelli. “So, always test anything that you deploy or modify.”

Yet another important aspect of vetting open-source software is to consider its cost and benefits over the lifetime of the product in which it will reside. “The ability to operate and maintain open-source software across the product life cycle becomes both more important and more challenging compared to software developed in-house,” says Takahiro Kanbe, manager of the software architecture planning department at Yokogawa Electric.

For this reason, Yokogawa has developed its own internal standards and guidelines for vetting any open-source code it is considering for incorporation into its products. “In the software evaluation phase, we check the software from many angles, such as its record in the field, product quality, comparisons with similar software, ability to provide long-term maintenance, and the structure of the license,” Kanbe explains.

More in Home