As open source software no longer necessitates the specialized knowledge that once limited it's use to developers and the IT-savvy, an increasing number of automation suppliers are making use of open source tools.
The rise of open source software has created a wealth of opportunities for companies like netDNA services, a system integration form located in Southern Texas. CEO Dan Arbeau uses open-source software for the automation of mobile pumping units used to manage water in fracking operations. This technology allows the flow rates and water levels to be monitored automatically, without the need for technicians to constantly monitor the pumps by hand. Adjustments to water levels can now be made directly from mobile devices, freeing up the precious time of skilled technicians for other tasks.
These advancements are enabled by groov EPIC, an edge programmable industrial controller developed by Opto 22. netDNA uses groov EPIC controllers on their mobile pumping units, which adds security, visualization, and communications capabilities to the Modbus/TCP genset controller that is used to control the water pumps. Each of controller receives data from wireless sensors, which use a SignalFire self-contained gateway with Modbus/TCP.
Groov EPIC controllers use two open technologies to publish their data to a central server, including the Sparkplug MQTT (message queuing telemetry transport) publish-subscribe communications protocol by Cirrus Link, as well as the Node-RED programming tool from the OpenJS Foundation. A radio internet protocol device mounted on each trailer at the site connected the controllers to a cellular wide area network, allowing technicians to connect via their mobile devices in order to remotely operate the water pumps.
In addition to easing remote access, open source software has also become key to meeting user needs for greater interoperability, portability, and interchangeability. Industry interest in open standards led ExxonMobil to collaborate with technology consortium the Open Group to launch the Open Process Automation Forum, a space for system integrators, end users and automation vendors to collaborate on the development of open standards.
In this forum, ExxonMobil has been exploring the use of the open source PLC known as PLCNext, made by PhoenixContact. Last year, PLCNext was introduced at ExxonMobil’s Clinton, NJ plant. Field trials for the device are slated to begin in 2021.
While the need for interoperability is important, economics is often a primary reason for the incorporation of open source software. In the past 2 decades, the computing landscape has drastically changed, with developer communities making software and pieces of code available for free that represent the culmination of millions of hours of labor. Michael Risse, CMO and VP of Seeq, notes that “Users can assemble software from these libraries and foundation blocks, rather than writing it from scratch,” continuing by saying g that “What was out of reach is now inexpensive, and what was a long project can now be developed quickly” thanks to these changes.
According to Kevin McClusky, co-director of sales engineering at Inductive Automation, open source software falls into three different categories: the first being operating systems, primarily including Linux and Android. “Almost everyone who runs edge devices runs Linux,” McCluskey says. “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,” says Marcia Gadbois, president of Adisra, an automation software vendor.
Applications is the second category of open-source software, which include things like databases and browsers. McCluskey notes that applications have enjoyed less popularity than the software in the other two categories in the realm of industrial automation. A few exceptions to the rule includes open source databases such as PostgreSQL and MySQL.
The final category, code libraries, has been a significantly more popular type of open-source software than applications. Code from these libraries can be used in other software projects. “90% of the code in today’s software projects is boiler plate,” says McClusky, going on to say that “Only 10% is the value that a software developer brings to its software.” Developers and users often combine code from open source and commercial libraries to construct their software.
Other Drivers for Use of Open Source Code
The growing use of the internet in the industrial sector is another reason behind the increased use of open-source software. The growing popularity of the Industrial Internet of Things (IIoT) is driving the use of HTML5, and open-source versions of TCP/IP. IIoT has also increased the use of MQTT, an open messaging protocol, which Arlen Nipper, co-inventor of MQTT, says is used in 64% of all IIoT projects.
Microsoft has also been an important factor in promoting the use of open-source software - in the past, the company shied away from open source software. Today, Microsoft is promoting it, putting Linux on Microsoft Azure and joining the Open Invention Network, which helps protect Linux from patent lawsuits. In addition, Microsoft has contributed more than 2,000 projects to open-source web sites, such as .NET core, TypeScript, VS code, and PowerShell, as well as acquiring the open source collaboration site GitHub.
Vetting Open Source Code
End users and Integrators and end users who borrow code from these sites for use in their own projects must be sure to evaluate the performance of safety of any open source code they use. The vetting process should begin with an evaluation of the license, which should, according to McClusky, be a “commercial-friendly” open-source license. He also suggests determining whether you are allowed to modify the source code, as “Open source doesn’t necessarily mean that you can change the source” - sometimes, you are only permitted to see and use the code.
Security is also a major consideration when working with open source code. Vendors advise using only open-source libraries and applications with active user communities. The more users, the more people looking for bugs and proposing fixes, which improves software and keeps it ahead of malicious actors. It may also be prudent to get a reference from someone you know in a specific open source community before joining, and to make sure that you know who developed the code you plan to incorporate into your projects.
Performance testing is also a key aspect of the vetting process - make sure to thoroughly test anything that you plan to use or modify.
Considering the cost and benefits of using open source software in the product it will be used in is another important factor in vetting code. Takahiro Kanbe, manager of the software architecture planning department at Yokogawa Electric, says that 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.”
Yokogawa has created internal vetting standards for open-source code, which the company users when considering which code to incorporate 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,” said Kanbe.