Automation software development using DevOps strategies

AUTOMATION Studio is the bread and butter of software development at B&R. All B&R hardware is programmed with this integrated development environment. The mechanisms for compiling, creating installation packages, and deploying the software are usable outside of Automation Studio itself (i.e., via the command line). Also, the source files within the Automation Studio project are stored in plain text. This makes for easy integration with DevOps practices.

Control Design editor-in-chief Mike Bacidore is joined by Brittany Langston, product manager at B&R Automation, to discuss DevOps in more detail.


Mike Bacidore: Can you define DevOps for industrial automation?

Brittany Langston: Generally speaking, DevOps is a set of practices that enables continuous, reliable and swift software delivery to customers. It involves things such as increasing the visibility of tasks and metrics, dividing and planning work into measurable chunks, optimizing team and project architecture, automated testing, automated reporting and so on.

Within industrial automation, our first thought is often related to the hardware side of things, such as the programmable logic controllers (PLCs), drives, motors, input/output (I/O), transport systems and so on. But the application software that supports and ultimately controls this hardware is of equal importance. The software that controls the machine is becoming more of an area where our customers differentiate themselves from competitors. Therefore, modern DevOps practices that are typically observed in pure software companies can and should be extended to the industrial automation space as well.

Mike Bacidore: What is the value proposition of DevOps?

Brittany Langston: DevOps is valuable in many ways. The overarching goal and benefit is to continually, reliably and quickly deliver product to the end customer. More specifically, it enables you to increase the frequency of deployments, increase code quality, reduce the response time for bugfixes, increase productivity and more.

Mike Bacidore: That all sounds very favorable. Why isn’t everyone within industrial automation already implementing DevOps wherever possible?

Brittany Langston: DevOps is not simply a software tool or an application that you install. It’s more of a mindset and a cultural shift in the way we implement our day-to-day work. There are of course tools that support the strategies, but the implementation itself can vary quite widely. As a result, it takes some time and energy for project managers and software developers to identify how exactly to change their processes in order to incorporate DevOps.

Mike Bacidore: What is B&R doing to increase the adoption of such practices?

Brittany Langston: At B&R, we recognize that the initial effort to change your workflows is a barrier to entry for DevOps. Therefore, we have created what we refer to as the DevOps package. This package includes materials for many topics within DevOps. We provide descriptions of each topic, an explanation of why it’s important, directives on how to accomplish the topic within a specific tool and template files wherever applicable. In other words, we have combed through the vast amount of general resources for DevOps strategies and defined them specifically through the lens of software development at B&R. Therefore, we significantly reduce the barrier to entry of incorporating these practices in your daily work by succinctly and clearly defining how to apply the strategies with Automation Studio project development.

Mike Bacidore: What specific topics are addressed within this DevOps package?

Brittany Langston: At the moment, we provide materials for project management, version control, testing and the build and automation server. For project management, we cover topics such as project planning, issue tracking within Jira and information storage within Confluence. The version control section includes a plethora of information regarding Git, Sourcetree, recommendations on committing and branching, how to resolve merge conflicts and strategies for code reviews. The testing portion goes over in detail how to build a test plan and covers the concept of test-driven development. We also provide a step-by-step guide on how to implement B&R unit testing and provide a template Excel sheet that can be used to keep track of all of your manual and automated tests. Lastly, the automation and build server portion goes over in detail how to use Jenkins in order to automatically build your project, run the unit tests and communicate the results to any interested parties.

Mike Bacidore: What is the current status of the DevOps package?

Brittany Langston: As of Q2 2023, we are finalizing the first version of our DevOps package materials. We are working on implementing a pilot with a customer in order to further refine the materials so that they are as clear and helpful as possible.

Mike Bacidore: How long before you foresee an implementable version available?

Brittany Langston: We expect to have a finalized version of the package completed by the end of the year. Please reach out to your salesperson for more information and continued updates. And, of course, if anyone is interested in seeing the materials sooner, we’d be happy to share them and get feedback.

Sponsored Recommendations

Power Distribution Resource Guide

When it comes to selecting the right power supply, there are many key factors and best practices to consider.

Safe Speed and Positioning with Autonomous Mobile Robots

Here are some tips for ensuring safe speed and positioning for AMRs using integrated safety technology – many of these tips also apply to automated guided vehicles (AGVs).

Faster, Accurate and Reliable Motion Control With Advanced Inductive Technology

This white paper describes new technology offering improved position measurement capabilities in reliability, speed, accuracy and more.

The Value of Dual Rated AC/DC Disconnect Switches

Why is it necessary for me to have a disconnect switch installed in my application?