The Project
Vaalto were approached by Premier Foods in Worksop to review the current control system in their OXO plant. The control system was a complex mix of Programmable Logic Controllers (PLCs), SCADA servers/client and a back end database system built on top of Oracle 6 for the management of recipe data and batch logging.
The original system was designed and installed by a system integrator 20 years ago and at that time used some cutting edge technologies such Microsoft Transaction Server (MTS), COM/DCOM components (Component Object Model / ActiveX) with a Visual Basic front end. Technology and people move on, ageing hardware, obsolete operating systems and a lack of knowledge and skills to maintain the system had made it difficult to support and was starting to put the OXO business at risk.
It was clear that most of the elements of the system needed either a full or partial upgrade.The upgrade path for the hardware and operating system was clear, new server hardware and a modern OS but upgrading the SCADA, Oracle database and removing the MTS and DCOM sub systems was not so straight forward. It was vital that the modifications to the process logic both in the SCADA and the PLC's remained unchanged if possible. The application was large, complex and distributed across a number of different control system nodes.
Upgrading the SCADA System
The existing SCADA system was Intellution FIX32 version 7 running on Windows Server NT4. Intellution (now GE) offer a set of upgrade tools to port a FIX32 application to their latest SCADA system; iFIX. The upgrade would have meant converting all the SCADA elements such as the picture and scripts to iFIX and this would have required fully testing after completion. Testing on the plant would not have been an option and setting up an off-line simulation would have also been difficult due to the lack of available PLC spares. Instead of converting the pictures and scripts GE offer an additional component that enables iFIX to run and even develop existing FIX32 systems. This add-on for iFIX is called 'FIX Desktop' and has been designed for cases like this where the risks or time associated with a complete upgrade are too great for the project. The pictures still need to be upgraded for FIX Desktop, so there is no going back to the old version but the risks are minimal because scripts are left in tact and a 'true' FIX32 environment is created running in iFIX.
Decommissioning Oracle/COM and Visual Basic
Although we had the source code for the Visual Basic front end and data logging applications, the previous integrator had produced a series of dependant COM assemblies for which we didn't have the source. This meant that their would need to be complete re-write of the recipe management system.
Migrating the database to Microsoft SQL Server 2008 initially looked simple enough, Microsoft provide a migration assistant that promises to do all the hard work for you. Unfortunately, after several failed attempts where the tools complained about login rights and schema properties we were left with no alternative but to hand-code the database from scratch, recreating the table and stored procedures manually.
The Visual Basic recipe management front end was replaced with a modern .NET 4.0 equivalent and any background tasks were converted and ran as events in iFIX to reduce the dependency on any compiled code.
Seamless Installation & Commissioning
With new server and client hardware and upgraded software systems and applications installation and commissioning was a relatively painless process. Since we had kept functional changes to a bare minimum and the existing control system was still limping along, we had the opportunity to drop in the new hardware and test the changes, safe in the knowledge that if we hit problems it was possible for us to roll-back to the old hardware with no interruptions to production. Fortunately this contingency didn't need to be used and the new system went in without any problems.