Source Control, Git, and Industrial Automation
Source Control, Git, and Industrial Automation
Source Control, Git, and Industrial Automation
Industrial Automation
TABLE OF CONTENTS
1
Overview
2
What is Source Control?
Put simply, a source control system is really just an advanced file management
system that enables people and teams to manage the revision history of their
documents.
REVISION HISTORY
This enables people to take meaningful snapshots of their files which they can
Git - a source control
system created by the
easily retrieve or return to.
creator of Linux.
VERSION CONTEXT
This enables teams to understand who changed what and why. Often these
systems require credentials that enable traceability.
SHARED REPOSITORIES
Centralized storage systems (either in the cloud or on-premise) which allows
teams to access relevant files.
...the source
code files for ACCESS CONTROLS
the application Mechanisms to enable access to different files with different permissioning,
you are reading such as read and write access for different stakeholders.
this in are more
FILE REVIEW
than likely
Mechanisms to enable teams to review changes before they are committed to
stored in a Git the shared repository.
repository.
These are common sense features that build on top of concepts that many
controls professionals are familiar with such as a shared network drive or cloud
hosted storage. The most popular source control system is Git, which was
invented by the creator of the Linux operating system, and has been adopted by
millions of engineers in the last 15-years. In fact, the source code files for the
application you are reading this in are more than likely stored in a Git repository.
3
Source Control Benefits Adopting Source Control
4
Source Control vs. “The Archive Folder”
“I don’t get it - this is so you can keep track of versions of your PLC
program? At my plant, we have a folder named “archive” for each
project. We just name the old project with the date and save it before
When we asked [...] “how
making edits, etc.” did you get people to
A responder gave a “quick and dirty” explanation as to why a true source finally adopt [source
control system is so much more powerful than an “archive folder.”
control]?” He simply
1. Only saves the differences between versions saving space.
responded, “bad things
2. Keeps a history of the changes and who made them
3. Allows multiple people to work on different parts of a project at
happening.”
the same time and merge them together without manually going
through and splicing in code
4. On commits must provide a message so helps keep track of why
a change was made.
Good source control practices save engineers when they need it the
most.
5
Not a Revolution, Just Responsible
Recently an engineer commented in an online discussion about source control, “I have been using my own system to manage files for
years, I don’t understand why this is revolutionary.”
We look at this through a different lens. It’s best captured by an embedded systems programmer who over the course of a year
convinced their team to adopt source control practices. He eventually convinced his team by telling them that it was “frankly
irresponsible” to not use version control.
In a world where controls professionals are often responsible for multi-million dollar production environments, and where the cost
of downtime can easily be hundreds of thousands of dollars or even human life, we believe that organizations simply cannot afford
to not adopt systems that will easily allow them to identify who changed what, where, when, and why.
INDUSTRIAL FILES
For many industries, the standard for 15-years has been “Git,” Industrial file types were designed well before modern version
a distributed source control system that makes collaboration control systems. While some systems have moved to XML,
around code extremely easy. Git is available for free as an these are still hard for engineers to parse and understand.
open source product. Furthermore, common file types like ACD files for Allen-Bradley
PLCs are still entirely in binary, and are not human
However, Git by itself has some major downsides that make comprehensible.
simple adoption by controls engineering orgs difficult:
COMPLEXITY
Git is an extremely powerful tool with a very intense learning
curve. For most control system professionals, just learning
the command line is a barrier to entry, especially on windows
machines which require special plug-ins to work with a tool
originally designed for Linux.
6
Conclusion
We hope that [...] we Source control systems are easy to adopt, affordable, and
provide immediate benefits to organizations in terms of
begin to see major operational uptime and efficiency. Adoption of source control
adoption of powerful systems have been curtailed by the lack of support for industrial
source control tools for use cases. We hope that as we move into the new decade of
the foundational industrial automation, we begin to see major adoption of powerful
source control tools for the foundational systems that power the
systems that power the industrial economy.
industrial economy.
Copia Automation
To learn more visit us at our website and feel free to email with
any questions or comments at [email protected].
Specifications subject to change without notice. Copia Automation. All rights reserved. 7