Product
Tech Tips
Product Features
Codesys
Rockwell
Siemens

Why Git Alone Isn't Enough for Industrial Automation

Published on
October 18, 2021

Copia takes Git to the next level for Industrial Automation

If you and your team maintain a project or projects involving PLCs, you’ve probably put some thought into the best way to back up your control logic; ideally, the logic should be saved in a way which prevents data loss, and gives control over who can see, and who can make changes to, your application code. Git offers compelling solutions to these problems and more, and as such it is the industry standard for version control, being used by the likes of Netflix, LinkedIn, Twitter and Google, to maintain their codebases. 

Version control is a term for a type of software designed to keep track of changes in files, and most often communicate those changes to a server, for teammates to access. This allows for multiple working copies of an application to exist at the same time, and to synchronize to one another when changes are made, allowing multiple programmers to work on the same file simultaneously.  What’s more, the basic features of Git can be picked up in a matter of minutes.


That sounds great, but what’s the catch?


Well, Git is designed for tracking changes to a text file. This works great for most general purpose programming languages out there, like C++, Python and Java;  however, the most common programming language in North America for PLCs, Ladder Logic, isn’t represented as text, and is most often saved as a binary file.


This is what a Ladder Logic file looks like in Rockwell’s Studio 5000:



And this is what that same file looks like, opened as text:


Hm. That doesn’t work very well with Git, which will only be able to tell you that the file was changed, and not be very helpful about what those changes are:  


Git GUI output after a change was made in Studio 5000 to the same file as above

You can still save a new version of the file over the old one, but you lose a lot of the benefits Git brings, like allowing multiple developers to work on the same file at the same time. Some developer environment releases support saving or exporting to text file formats, which work better in Git:


Git showing changes to a project exported as text (.l5x) from Studio 5000

But it’s still a challenge to make sense of a code change like that.


There is, however, a tool which brings the benefits of Git, adding to them the ability to make sense of changes to Ladder Logic files: Copia

The same change as above, visualized in Copia


Copia renders not only text-based languages like Structured Text, but also ladder logic, directly in both a desktop app and a web browser. All changes are highlighted clearly, bringing the benefits of Git to the industrial space, with support for Rockwell, CodeSys, and Siemens, with more to come.

Try Copia for free with full features and no payment information required at copia.io/trial.