B&R’s Operating System Supports High-Level Programming Languages in Industrial Control Systems

February 01, 2021 by Seth Price

B&R Automation, the machine and factory automation group from ABB, recently improved its enhanced crossover Operating System (exOS)’s flexibility.

B&R Automation’s exOS will now support any version of Linux, meaning machine and industrial controls can be monitored, manipulated, and operated using code meant for Linux machines.


IT/OT Convergence

One of the significant challenges in automation is getting all of the code from different systems to properly mesh. Often, manufacturers are stuck limping along with legacy equipment and slowly replacing robots a piece at a time. 

The programmers who performed the original coding for the legacy machines have moved on or retired, and incoming programmers need to balance applying their expertise with keeping existing technology humming along.


exOS promises IT/OT communication for improved performance in the industrial setting. Image courtesy of B&R Automation.


A big barrier in communication exists between Information Technology (IT) and Operational Technology (OT). IT covers how data is collected, stored, and acted upon (often remotely), whereas OT keeps equipment physically running. 

An IT solution might be to write C++ code to retrieve and archive data for process control. An OT solution might be Programmable Logic Controller (PLC) code to notify the control room that an emergency stop button has been pressed. These systems need to communicate together flawlessly.


The New exOS

The exOS bridges this gap by interfacing with various high-level programming languages, such as C++, Javascript, and Python, while also handling PLC and machine code. This is made possible through the nature of Linux. 

The Linux operating system is open-sourced, meaning the code is readily accessible, and programmers can modify it to meet their needs. For instance, if a programmer notices a security flaw or a problem with the operating system and a driver for a controller, a programmer can modify the code as needed. 


An exOS dedicated physical system infographic. Image courtesy of B&R Automation.


On other operating systems, such as Windows, the manufacturer would have to develop a workaround until Microsoft updates the operating system code.

One caveat with this system is source code control. For example, if there are 30 identical machines, it may be more important for every machine to perform the same task, rather than having one or two more efficient superstar machines. 

In this environment, there may be multiple engineers and programmers working on the same optimization. It will be the project manager’s responsibility to ensure that they are all using the same software in the end. With closed-source systems, the plant would have to wait for the next software roll-out, but they could all be guaranteed identical.


Breaking the IT/OT Language Barrier

This greatly expands the flexibility of the code that can be developed and the applications serviced by exOS. For example, consider a driverless vehicle. One system maps the path with a high-level programming language, and another system actuates the actual controls (steering, brakes, accelerator) using machine logic software.

The high-level programming language is bulky and slower, perhaps too slow to actuate the controls quickly, but the machine logic software cannot handle path mapping complexities. 

These systems must communicate, as a good path means nothing if the vehicle cannot steer to follow it. The exOS can handle both of these systems, forming a fully integrated solution.

B&R Automation has built numerous tools into the exOS system, such as project management through Automation Studio, configurable execution, diagnostic data while loading and executing code, buffered data transfer, and synchronized code execution. 

Overall, the exOS offers more flexibility for the manufacturing plant that is continually tweaking and improving its processes. The ability to use various programming languages and modify Linux code can minimize synchronization issues between IT and OT.