Operational Technology 101 - PLC Backups and Version Control
Moving one step beyond Monitoring OT Infrastructure, we’ll discuss how to manage backing up the software running your processes—along with version control—and how to restore everything after a (hopefully unlikely) catastrophic event.
In Information Technology (IT), version control and backups are nearly ubiquitous. Version control allows for many developers working on various features to use a system simultaniously without interfering with each other’s work. Often, compliance will require backups, and they’re also essential for reducing overall risk when maintaining large scale systems.
Deployment is another consideration for large scale IT projects. Large scale IT projects are commonly “continuous” deployments: changes are made, reviewed, then pushed to production where they’re automatically picked up by the tools and deployed to users.
We can apply these same concepts to manufacturing and Operational Technology (OT) systems without many modifications. Note: we are fully aware that there are many opinions about version control. This article is simply meant as a high level overview to spark discussion.
PLC Backups and Version Control
PLCs are not built from the ground up with version control in mind, much to the frustration to those with experience in software development. That said, there are some processes, procedures, and tools available to help manage PLC code in the context of OT Infrastructure management. We’ll review some of those options here.
Manual Backups
The easiest approach to backing up PLC code is to take a manual backup anytime you connect to a PLC or do a download:
Go online
Save changes
Upload the current values
Save the file
Back the file up to another machine when you are done
Track the files somewhere
While this process works, it is prone to data rot and degrades with personnel turnover. It also carries the risk of losing access to the right versions of the code—depending on which machine you have with you at any given time.
For small processes with only a couple of PLCs (which won’t be changed or updated regularly), manual backups are an “ok” solution. You could go one step further by integrating the files with a proper version control tool like Git or Subversion. But with that level of effort, it may make more sense to use a purpose-built tool for the job.
Version control systems like Git can be difficult for PLC code which can generally only be stored as a BLOB datatype. This will prevent you from running a diff to determine the changes between versions. While some PLC platforms will let you export code to text files (which will work with a diff program), they are often not the most user friendly formats—so results may vary.
FactoryTalk AssetCentre
FactoryTalk AssetCentre is a program from Rockwell Automation that can manage your OT device code. While it is made by Rockwell and works great with Allen Bradley PLCs, it also works well with Siemens S5 and S7 PLCs, Fanuc controllers, and a handful of other devices like VFDs and Smart Relays.
AssetCentre allows you to create assets, generate backups of the code from each device, and store them for version control. You can then view the code to make edits, check it back in, and get a full audit log of any changes made to any code in the system. You can also configure AssetCentre to take backups on a schedule for easy disaster recovery. Additionally, Rockwell’s PLC Compare tool is user friendly for performing diffs on code files to see what has changed.
AssetCentre’s limitation in the OT space is that is requires Windows to run. So, if you are running your SCADA systems on Linux, you will need an additional Windows Server machine to run AssetCentre.
While AssetCentre isn’t perfect, if you have more than a handful of devices to manage, it is a great tool to use.
Version Dog
Version Dog is a purpose-built tool for managing PLC code in a version control environment. Similar to AssetCentre, it gives you access to scheduled and automated backups along with the ability to see what changed in any program (and when). It also includes a graphical interface and helps manage disaster recovery.
Since Version Dog is not a Rockwell Automation product, it can integrate with many more brands of devices. It can even work with common file types from the OT world like Excel, Word, CSV, PDF, and other text formats. This means you can implement version control for all of your equipment, and all of the documentation for your system, including commissioning records as built drawings—along with any configuration files you have for instrumentation, protocol converters, or other devices.
Version Dog also supports version control for some SCADA platforms and robot platforms.
You can also use Version Dog to download code to your PLCs in the event that you find unexpected changes. With Version Dog, you can also “check in and check out” as with AssetCentre. Additionally, you can easily monitor who made what changes—and when.
It’s an understatement to say that Version Dog is the industry standard for companies who care about version control on their PLC equipment.
Need help implementing OT backups and version control?
Schedule a call with Cody Johnson in sales to get your project started ASAP.
Wrapping Up
This post describes the three most popular approaches to version control for PLCs, robotics, and other plant floor equipment. While this may not be the flashiest topic in the world, it is very important. As the size and scope of manufacturing processes across the world increase (and our global supply chain continues to look like a giant block of Swiss cheese) it is critical for companies to have disaster recovery plans in place, along with the backups of everything necessary to get up and running with as little downtime as possible.
Need help with your PLC version control strategy or OT technology management? Please contact us with your project information, or if you want to get started immediately, schedule a discovery call with Cody Johnson in sales today!