
Control System Upgrade Part 2: Planning for the Upgrade
As a control system ages, difficulties and limitations can arise that are best served by upgrading to a newer system. In Part One of this series, we discussed when an upgrade might be necessary and when a system replacement may be required. In this article, we discuss what you need to plan for to ensure a smooth and seamless upgrade.
What Communication Protocols Are In Use?
You need to understand the communication protocols currently used by connected equipment. Sometimes, older equipment may communicate using a protocol no longer supported by newer PLCs. Should that be the case, a gateway unit must be sourced to connect between the PLC and the equipment.
An example of a legacy protocol with limited newer PLC support is Remote I/O (RIO). While it’s still possible to obtain gateway cards for these kinds of older protocols, there may or may not be one available that is native to the control system, opening up other potential compatibility issues.
Sourcing a Gateway Card
We recommend the following resources when sourcing a gateway card:
Do You Have Access to Electrical and Mechanical Prints?

Having access to existing electrical and mechanical prints greatly facilitates the process of executing a control system upgrade because they show the various connections in the system. While there are several types of prints, you should consider:
Electrical Schematics
An electrical schematic visually depicts the electrical connections of the entire system, including components and wiring. The panel layout schematic shows how different components within a control panel are connected and arranged. With access to all schematics, verification of all connections in the system can occur, and a plan can be made to ensure their continued connectivity to the new PLC.
Equipment Layout Diagram
The equipment layout diagram is a drawing showing the physical layout of each piece of equipment in the system.
Piping and Instrumentation Diagrams (P&IDs)
Used primarily in process industries, the P&IDs depict details related to the pipelines (e.g., piping size, valve types), mechanical equipment (e.g., pumps, tanks), and control devices (e.g., switches, relays, computer control systems) involved in the process flow.
Safety System Diagram
When a control system upgrade is undertaken, the new system must be evaluated with a safety risk assessment. The safety system diagram shows the various components within the existing system, allowing the engineer to determine if current safety standards and regulations are met, or if additional safety features will be required as part of the upgrade.
What Is Your Sequence of Operations?
To ensure a seamless transition between control systems, you must understand the order of operations within the process. We recommend taking a video of the current system and using the video alongside the source code to match up and verify the observed sequence of operations with those written in the software.
Do You Need to Upgrade the Software?

It’s not uncommon to find support issues between new control systems and legacy code types. Sometimes, there’s an interest in obtaining access to greater functionality from newer software. A plan must be in place to either translate the legacy code with a tool or manually, or to rewrite it entirely.
Code Translation Tool
A code translation tool works by analyzing the original source code for particular software structures and converting them into equivalent structures in the destination language. The process is often imperfect, requiring an engineer to review, edit, and then test the translated code. It is common for vendors to have proprietary translation tools to support the migration of code.
Manual Translation
Occasionally, the existing legacy code is sufficiently robust that a full rewrite is not useful, but a translation tool is not available.
As an interesting example, Patti Engineering recently upgraded a legacy GE Fanuc PLC to a Siemens Simatic S7 1500 for a client. The existing code was written using ladder logic, which presented no operation issues and controlled a simple process. However, as is often the case with older ladder logic, it lacked meaningful symbol names (for registers, variables, functions, etc.) because older programming environments did not support the downloading of human-readable names to the PLC.
Without a copy of the original software, the PLC version of the code was a challenge to fully decipher. Given the circumstances, the decision was made to manually copy the source code (on a near line-by-line basis) from the older application into the new one, adding meaningful symbol names as their function became more known.
Code Rewriting
While the process of fully rewriting software adds more scope to a project, it also offers a unique opportunity to address lingering problems and inefficiencies.
As an example, in one of Patti Engineering’s recent controls upgrade projects, the customer opted to invest in fully rewriting the software while upgrading from an older Schneider Electric controls system to a newer Siemens PLC. The driving reason to rewrite the code was to eliminate a poorly designed, cumbersome downtime recovery process. This process involved tending all machines regardless of whether or not they had parts in them at downtime, a tedious procedure requiring 15 minutes to complete. Our engineers fully rewrote the software to eliminate this unnecessary inefficiency. As a result, the recovery process was simplified, allowing a return to operation directly from the state of operation prior to downtime. The need to tend each machine was eliminated, so downtime recovery was seamless and much faster.
To Translate or Rewrite: That Is the Question
The decision about which approach to undertake is application-specific, and is also dependent on having:
- Original source code and an evaluation of its current state
- A translation tool between the two languages (may not exist between different brands)
- Documentation describing the current software
- Electrical schematics describing signal connections
- Up-to-date system backups (for source code, recipe values, etc.)
- Documentation describing the sequence of operations
If the software controls a straightforward process and is well documented, the use of a translation tool may be a worthy way to proceed. On the other hand, if the existing source code has already undergone earlier translations, it may not operate as efficiently as it otherwise could. If the brands of the new and legacy PLCs are not the same, then a full software rewrite will likely be the only option, since translation tools between brands generally don’t exist. Despite adding to the overall scope of the project, a full code rewrite may present an opportunity to incorporate current best practices and obtain a better overall result.
Black Box Conundrum: When There’s No Source Code
Sometimes the original source code is unavailable, hidden for the purpose of protecting the creator’s intellectual property (IP), or occasionally because it contains control properties that are kept out of reach to avoid damaging the system (e.g., control of furnace and other heat-treating systems). Typically, an integrator will leave a customer with full access to the source code so that changes can be made as needed.
Do You Need OT Network Connectivity?
Due to their lack of connectivity to any broader network, legacy systems are frequently immune to cyber attacks. Their air-gapped nature, while generally limiting, offers them nearly full protection from this ever-increasing risk.
Comparatively, newer systems come with the potential for OT (operational technology) network connectivity. This convenience allows them to be remotely accessed, controlled, and firmware updated. It also allows for production process data collection, transfer, and analysis: an Industry 4.0 capability aimed at process optimization. However, to take advantage of these benefits, the new PLC must be connected to a broader OT network, which must also have access to the outside internet. A thoughtful approach must be in place to ensure reduced vulnerability to the ever-increasing risk of cyber attacks. An OT network employing what’s popularly known as a “zero-trust approach” will safeguard the equipment that resides on the system, which is beyond the scope of this blog.
Get Help With Your Upgrade Project
Patti Engineering has over 30 years of experience helping leading global manufacturers increase productivity, enhance efficiency, and resolve common integration challenges. Our capabilities include controls hardware design, legacy control system upgrades, equipment upgrades and additions, data analytics, asset tracking, and more.
If you’re starting a legacy control system upgrade project, contact us today to schedule a project consultation.
FAQs
What Factors Should I Consider When Upgrading a Control System?
- The communication protocols currently being used by your existing system
- Electrical and mechanical system connections
- Current sequence of operations
- If software needs to be upgraded
- Whether OT network connectivity is necessary
What Are Common Challenges When Upgrading a Control System?
There are several, including sourcing new gateway cards for older protocols, not having access to the source code for necessary software updates, and performing a safety risk assessment.
How Do You Upgrade Software?
You’ll need to translate (manual or via tool) or rewrite the legacy/source code.
When Is It Necessary to Rewrite the Legacy Code?
Making the choice to translate or rewrite is entirely application-specific. Rewriting the code is your best option if you:
- Don’t have access to the original source code
- Can’t find a translation tool
- Can’t find good documentation describing the sequence of operations
What Is OT Network Connectivity?
OT stands for Operational Technology. If control systems have this feature, it means that the system can be remotely accessed and controlled, and enables the use of Industry 4.0 functionality, including production process data collection, transfer, and analysis. The downside of OT Networks is that stronger cyber security measures must be in place to prevent attacks.
Related categories: Blog Control Systems Integration