News & Articles Articles
1,835 views 0 comments LoadingSave
Articles

Open Source in industrial Automation

Open Source is of central importance for Industry 4.0 and IoT. Powerful and open control platforms use an open source Linux as a basis. The openness enables the use of free software for individual control tasks or applications. This minimizes not only the development costs and risks, but also increases flexibility for changing production conditions and makes complexity manageable by using existing solutions. The advantages outweigh when important basic conditions are taken into account.

For machine tools, in production lines, no matter where in Automation scenarios: Control systems keep everything on run and ensure the correct execution of the production steps. But these PLCs are tailored for dedicated tasks, they contain proprietary and closed software, adjustments are only possible to a very limited extent via parameters. For set and always the same tasks, this was enough, but with increasingly more flexible productions and smaller batch sizes, control systems must also be flexible.

And this is precisely why modern control platforms bet on openness and use the open source operating system Linux as a basis. A basic idea of open source and Linux is the free availability and adaptability of the code. Developers no longer have to struggle with closed systems, realize expensive and complex necessary adjustments. Because an open source code can be easily modified and prevents expensive dependence on one manufacturer. The openness based on open source also makes it easier to develop new ways of thinking and marketing approaches for data, products, and services. If, for example, the controller is to provide an OPC UA server tomorrow, ready-made open source code can simply be used. This also applies to implementations such as machine learning algorithms or visualization tasks.

Automators rely on Open Source

For this flexibility and sustainability, both machine manufacturers as well as responsible persons of production companies increasingly rely on open control platforms. This is also underlined by a survey conducted by A&D with 363 participants from the automation industry: Approximately two-thirds consider high performance for future applications, the controller as an open communication center with cloud connectivity and support for any programming/development tool to be crucial. Extremely relevant to the participants is the topic “No Vendor Lock-in”: Almost 80 percent demand open interfaces in a control platform to reduce the integration effort in their own environment.

When talking about open source, one notices the divided attitude of the participants, because there is still a lot of ignorance. While two-thirds of the respondents consider the exchange of information via community platforms and open and freely available source code to be very helpful and long overdue, about one-third still favor proven PLC solutions with proprietary technology – for control tasks, open community solutions are often not trusted.

However, a rethinking is increasingly taking place here. Because open source code for example gives machine tool manufacturers unrestricted control about their machines. Hence, they know exactly when the controller executes what and how. For proprietary control systems there is no such insight and control. In addition, there is unlimited long-term availability of the code, which can be constantly adapted to your own needs and security requirements. In this way, manufacturers also avoid dependencies on product discontinuations of control systems in use.

Community and Repositories

Unbenannt 1

Meanwhile, Linux is considered the most common operating system of modern control systems and IoT devices. Due to the open operating system, users have the possibility to implement control tasks using classic IEC 61131 libraries as well as integrating open source packages or direct programming with C/C++. Thanks to the open source concept, ready-made programs and source code for individualization are now available for almost any task or function. By the Linux Community, the programs, libraries and source codes are constantly developed further and provided in new variants in freely accessible repositories as for example on the platform GitHub. The community helps with problems, but also expects its own participation in solutions. And this is one of the main reasons why automation engineers are increasingly rethinking. Because through the freely accessible source code, open source programs usually reach a much higher number of developers compared to proprietary and closed software from manufacturers. The quality and runtime stability of open source programs is therefore usually higher than that of commercial software. And it is precisely these factors that are of decisive importance in industrial use.

For both developers and companies, it is therefore worthwhile to actively participate in the community. If help, bug reports and extensions are fed back into the repositories of open source projects that are in use, everyone benefits. The components become more secure, receive regular updates and offer higher quality.

Security and rights system at Open Source

Another advantage of Open Source Linux compared to other operating systems is the topic of rights management and security. Linux offers a very granular and individually adaptable rights management, in order to grant customized access rights. The strict assignment of rights as well as user and group administration allow for example the protection of configuration files and control settings against unauthorized access or unintentional changes. This way a machine operator cannot make any changes to the process parameters by assigning appropriate rights – he sees and is allowed to do exactly what he has been assigned.

Strict rights management protects the operating system also from cyber attacks. The issue of security in particular is immensely important in increasingly networked control systems. Many commercially available controllers based on industrial PCs use Windows as operating system – with the effect that security updates have to be installed regularly. Especially in production environments this means interruptions and can cause undesired side effects. On Linux based there are however specially hardened kernels with “Security by Design”. The operating system obtains additional security through reduction: there is only code that is necessary for the desired tasks. Unnecessary software that could provide additional attack vectors is not installed on the system in the first place. A further advantage is the emergence of new security vulnerabilities in open source libraries and free programs. Due to the openness, corresponding patches can be quickly imported from the community – one is not dependent on the fix from the manufacturer, which may be a long time in coming.

Developers can also access databases such as the well-known National Vulnerability Database, and investigate, whether there are weaknesses for components they have currently in use.

“What is free software? Think about freedom of speech, not free beer!”

Richard Stallman, President Free Software Foundation and initiator of the Open Source License GPL

Licenses – Open Source is not Open Source

If one speaks of open source or free software, then one thinks of freely available and no license fees – but no duties either? The latter is not true, because when using open source, license conditions must still be observed and clarified if necessary. So do you have to keep your own programs, based on open source code, freely available? And may closed source be made for own use and these programs be distributed commercially?

In principle, the differences between the various open source licenses such as GPL (GNU General Public License) or BSD (Berkeley Software Distribution) are only minor when used internally within the company. However, users should keep an eye on the license conditions if the open source software is further developed and then distributed. Here Open Source programs distinguish between the license types “Copyleft” and “Non-Copyleft”. If a manufacturer uses open source code based on a copyleft license as with the well-known GPL, the revised and modified code must also be released to the community again under the original license. This is to prevent users or manufacturers from distributing the revised source code with modified terms of use. Providers of automation solutions that use open source software with a copyleft license in their solution must therefore check carefully whether the edited source code must be made available in addition to the license text. For example, certain copyleft licenses require the unrestricted release of every edited version of the open source software. But there are also moderate copyleft variants that require the publication of the source code only under certain conditions.

It is different with the license type Non-Copyleft which includes software with a BSD license: There are no requirements for the publication of a revised code. So users can further develop software with BSD license for their needs and then also license it proprietarily. Thus commercial products can then be developed, the source code does not need to be disclosed, it is only an option.

“The new or further development of software can be strongly simplified and accelerated by existing Open Source software “.

Dr. Frank Termer, Division Manager Software, Bitkom e.V.

For example, developers of apps for Linux-based control platforms have the opportunity to protect their intellectual property and develop business models based on this. Open Source does not have to remain Open Source with the license type Non-Copyleft. As an example, for the open ecosystem PLCnext Technology, Phoenix Contact also relies on a Linux derivative with a non-copyleft license and thus gives the user more freedom to realize their own thinking and marketing approaches much more easily. In principle, commercial products can also be developed under Copyleft licenses, but with stricter license conditions. It is simple if companies use open source programs only internally for certain tasks – and do not pass them on or distribute them with their own products. Then almost all licenses of open source programs allow the use without further obligations or conditions.

Attention with multiple licenses

If programmers combine open source code and complete in-house developments that are not based on open source in one software, a license conflict can quickly arise. If there are separate license conditions for in-house development, these may not, for example, override a GPL license. The own license may not be extended to the complete software if it contains open source code. In these cases, a differentiation must be made in the license terms.

Also with the combination of several Open Source components is to be paid attention to license compatibility. If source code fragments based on different license types are used for a new program, the combined use of all licenses must be permitted. In order to be legally on the safe side when using and, above all, distributing products that use open source programs, it is therefore imperative that users familiarize themselves with the license conditions and comply with them. This costs time and, if legal advice is called in, also money, but the advantages of the available software base clearly outweigh this.

Concerns of companies that the use of a Linux operating system with copyleft license forces them to disclose their own developments also under this license are unfounded. Applications developed by the company itself are usually not seen as an extension or modification of the Linux kernel due to the application interface according to the POSIX standard. Therefore the developed software does not have to be disclosed under the GPL of the used Linux operating system. The intellectual property of a developer or company remains protected.

Pay attention to the vitality of open source projects

Recommended when choosing open source software or source code is the consideration of the vitality of a project: How many active developers are working on it, how high is the number of downloads and comments, how many releases are there, will the project continuously be maintained? The more activity there is around an open source project, the more valuable and useful is the software or source code. But there are also enough examples where only one developer is working on an open source project and makes this available. Here, too, the number of users, comments and questions from the community are an indication of the value of the project.

The use of Open Source in control platforms and in automation projects is not the solution of all problems. However, when used in a targeted manner, companies can save high costs and save a lot of development time. A decisive advantage of an open and powerful control platform on Linux is the gained flexibility and sustainability. For example, implementations for artificial intelligence, cloud connectivity or augmented reality can be realized at any time via open source projects.

Remark/ addition:

There is now the first Open Source project with PLCnext Technology on GitHub: the PLCnext Command Line Interface. The PLCnext CLI is our tool for programming in high level languages for the PLCnext Technology ecosystem. You can now build an up-to-date version of the PLCnext CLI that includes the very latest bug fixes, or even build your own customised version. Test the newest features or contribute your ideas. Make the PLCnext CLI better for yourself, and for the community. The PLCnext Technology Open Source Community on GitHub includes lots of example code snippets, project ideas, and tutorial code.

Picture: iStock, mindscanner

Marcus Lau
1,835 views 0 comments LoadingSave

Discussion

Please login/register to comment

Login/Register

Leave a Reply

Newsletter
Never miss a new article
Sign up for the newsletter
Never miss news about PLCnext Technology
Get interesting content via newsletter four times a year
Receive exclusive information before all other users