A challenge for creativity and experience
This is where the PMCA adventure begins ...
Parameters Management and Configuration Assistant for Aveva System Platform
A multinational manufacturing company had embarked on a major project to modernize their technological infrastructure, which consisted in setting up new, more efficient servers and the simultaneous migration of their SCADA and their MES systems (Manufacturing Execution Systems). The customer's SCADA used
AVEVA (Wonderware) System Platform 2014 technology which was to be migrated to the 2017 version.
After a preliminary analysis, the project managers concluded that it was much more complex than expected to do it internally, due to the availability of their resources.
So, they called us. First, to analyze needs and constraints, then to
offer recommendations. Following our analysis, which was in line with our client's conclusions, they appointed us to carry out the entire project.
I was assigned to this mandate, which initially seemed fairly
straightforward. I had already done dozens of SCADA system version migrations, much of which were on Aveva System Platform. For me it was a very nice project, easy to look forward to and with guaranteed results!
Wow! I did not expect what I found ...
Our client first greeted me in the coffee room. Good start, I noticed that they had very good coffee machines, which only increased my enthusiasm for our project.
After a tour of the factory and a few cups of coffee, the project manager explained to me:
- The project aims to migrate our three environments (Development, Quality Assurance (QA) and Production) to new servers and a new version of operating systems and manufacturing software.
- Our analysis shows that our SCADA program contains hundreds of parameters that are "hard-coded" and depend on the environment (names of servers, databases, IP addresses, etc.). You have to identify them across hundreds of objects and modify them so that the new SCADA can work with the new environment.
- Our consultants did not always meet the company standard, which aims to program using templates only. Hundreds of objects have individual scripts and parameters. It is very difficult to navigate.
- The main difficulty is to find, through these thousands of parameters of the SCADA, those which depend on the environment and to adapt them for the new environment and the new servers.
- It is not possible to import changes from the development environment to the QA environment or the Production environment. It is too complex to spend days finding and changing environment-dependent settings. It causes us a lot of problems and breakdowns. We wish we could do that easily.
I was just beginning to realize the magnitude of the task, but it was still fairly straightforward. This involved finding and documenting the settings and scripts that needed to be changed to work in the new environment, and then reprogramming them during the migration.
Hours of fun and documentation!
Heu… « By the way… »
The situation got really tough after our 11th coffee, when our client mentioned to me:
“By the way, Eric….
- We never want to have to do this expensive exercise again! You have to find us a more economical solution for the future.
- We have no idea which of the three environments has the most recent code. Several consultants have made changes over time and we do not have a history of these changes.
- We want to be able to switch from the development environment to that of QA and Production in a few minutes.
- The commissioning of the production environment must be done in less than two hours, because the factory operates 24/7 and there are no scheduled maintenance windows. "
"How could I simplify and automate the work to stay within the client's desired budget and ensure that the same effort does not have to be made on future migrations? "
Integrate the technologies and methods of the IT world into the OT system. At that time, my 15 years of IT experience was extremely useful to me.
Two ideas came to mind:
- Use a transactional database as a directory for parameters
- Take advantage of Microsoft .NET programming technology for the interface.
But where to start? I had previously attended a presentation on the advanced development tools of Aveva System Platform. These were "development kits" for interacting with System Platform SCADAs through .NET programs or databases. The manufacturer presented these tools as a solution to drastically reduce the development and commissioning time of their SCADAs.
Even to this day, these are little-known tools, but I still suggested that our client use this technology.
reconfiguration of the new systems was done automatically, in seconds and without loss of production.
The only difficulty encountered during production was the coffee machine breakdown that occurred while we were twiddling our thumbs waiting for problems with the SCADA system, which ultimately never came.
A total success according to the customer! I wasn't so sure, especially due to the lack of caffeine.
Technically, the solution was simply to implement:
- A Microsoft SQL Server database containing preconfigured environment profiles for each of the three environments.
- A mechanism for automatic configuration of the parameters when starting the SCADA (approximately 900 parameters), with each environment monitoring its own parameters.
- An automatic analysis and comparison tool for the thousands of SCADA parameters, which allowed us to re-synchronize changes made over time in each of the three environments.
- A mechanism for monitoring and rapid validation of the configurations and the operation during commissioning
Subsequently, the mechanisms put in place within the framework of this project were grouped together and integrated into a complete SCADA management application based on the Aveva System Platform. Our PMCA application now allowed us to automate the development, commissioning and management of System Platform SCADAs.
After a thousand hours of development, our PMCA solution now included the following capabilities:
- Management and automatic configuration of Aveva System Platform SCADA parameters according to the environment and regardless of their location
- Analysis and comparison of multiple versions of SCADA, between different environments or between different versions of the same system
- Simplified monitoring and validation when deploying or restarting systems
- Automatic creation and configuration of instances from Excel files, reducing the time to create and configure objects by 90%.
- The security of the System Platform environment is now fully integrated with PMCA.
- Microsoft Visual Basic.Net and Visual Studio 2019: Programming of the management and monitoring interface.
- Microsoft Visual C # and Visual Studio 2019: Programming of the library allowing the interaction of PMCA with Aveva System Platform. This library is a gateway to the AVEVA System Platform "aaGRAccessApp 1.0 Type Library" SDK. It is used by the PMCA interface and can also be integrated directly into SCADA scripts.
- Wonderware ArchestrA Scripting and .Net extensions: Internal SCADA programming allowing to interact with databases
- Transact-SQL: Database and access programming via SCADA
- Microsoft SQL Server Data Tool (SSDT): Automation of deployments and automatic creation of instances from Excel files
- ArchestrA ™ GRAccess Toolkit API: ArchestrA.GRAccessApp 220.127.116.11 Type
- Library: Interface between PMCA and the "Galaxy Repository”
- Microsoft.Office.Interop.Excel extension 15.0: Export and import of data tables.
This expertise and creativity, in collaboration with our client, allowed us to obtain a lasting solution that met everyone's expectations. Aspiring for nothing less than excellence, it is with conviction that we believe this experience is a good example of innovation.