Improving PLC version control, device backup using modern Git workflows

Git-based source control can help programmable logic controller (PLC) programmers improve efficiency and reduce downtime. Feb. 7 webcast, archived for a year, offers tips and other information.

By Chris Vavra January 27, 2023
Programmable logic controller (PLC) programmers will explain Git-based source control and the benefits it can provide users in a Control Engineering Feb. 7 webcast. Courtesy: Copia Automation


Learning Objectives

  • Learn the latest strategies for backing up control devices and grasp the basics of Git source control and how it differs from using a simple “archive folder” to manage control programs.
  • Explore the benefits of visually checking code outside the traditional development environments.
  • Understand how Git unifies information technology/operational technology (IT/OT) processes and ensures greater data security and disaster recovery.

Programmable logic controller (PLC) programmers will explain Git-based source control and the benefits it can provide users in a Control Engineering Feb. 7 webcast that will be archived for a year. Attendees qualify for a certificate of completion and those who attend live will get to ask experts questions about Git source control. More information about the webcast follows.

Git is the standard source control system for software development – and for good reason. It tracks all changes, displays the differences among code versions, and enables greater collaboration. These tools are now applied to industrial automation, driving greater productivity, code quality and machine uptime.

Webcast presenters Darren Henry, vice president of marketing, and Vaughn Varma, technical marketing manager, both with Copia Automation, explain most PLC programmers use the archive folder workflow to manage PLC code, which might be okay as a short-term solution, but it does lead to problems because it provides limited context. These challenges include:

  • No change tracking
  • Sporadic sharing of data – requiring review meetings
  • Difficult to gate access
  • Prone to human error
  • Danger in overwriting and deleting files.

On top of that, changes made at the factory floor are difficult to track and companies can lose visibility into the latest working code. Programmers also duplicate code, and this has a negative effect on recovery speed.

Embracing DevOps and Git-based source control

As with anything else, simplicity is key for any manufacturing operations, but that’s easier said than done with programming. Even at the best of times, it can be a messy process and involves a lot of collaboration. Henry and Varma advocate for DevOps practices, which Git-based source control is a part of, because it can help remove painful manual steps to develop code quickly, reduce downtime and improve operational efficiency.

However, PLC programmers haven’t embraced Git because most files are binary and based on visual languages, and the solutions are often vendor-specific and proprietary.

Henry and Varma believe Git-based source control, as part of DevOps, can help programmers in many ways because it can track code changes with context and lets programmers see differences between versions as they work simultaneously on the same codebase. This can reduce the amount of time required in the review process.

Git is also fully distributed and secure, which means a local copy of the repository exists on every engineer’s computer working on the code in the repository, along with a single remote repository, to which new files, and changes to existing files, can be pushed and pulled from.

Git also allows branching and merging in programming. A branch is a split in a repository, but changes are tracked separately, and kept isolated from the main branch.  With a branch, programmers can perform debugging, while another part of the team continues developing the main logic, and another part still is building out and testing a new feature, without worrying about anyone’s work getting in anyone else’s way. Once work is done in the branch, programmers can merge that logic back into the main branch without version-control concerns.

Henry and Varma will explain this along with additional processes during the webcast that are designed to help programmers make better decisions and reduce operational downtime along with a live demo.

Edited by Chris Vavra, web content manager, Control Engineering, CFE Media and Technology, also the moderator for this webcast,

KEYWORDS: Edge computing for automation, system integration


What best practices do you use for PLC programming?

Improving PLC Version Control and Device Backup Using Modern Git Workflows

Author Bio: Chris Vavra is web content manager for CFE Media and Technology.