Un défi pour la créativité et l’expérience
Nouvelles | 2021-01-27
C’est ici que commence l’aventure PMCA…
Parameters Management and Configuration Assistant for Aveva System Platform
Une entreprise manufacturière multinationale s’était engagée dans un grand projet de modernisation de leur infrastructure technologique qui consistait en la mise en place de nouveaux serveurs plus performants et à la migration simultanée de leur SCADA et de leurs systèmes MES (systèmes d’exécution manufacturiers). Le SCADA du client utilisait la technologie AVEVA (Wonderware) System Platform 2014 qui devait être migrée vers la version 2017.
À la suite d’une analyse préliminaire, les responsables du projet ont conclu que c’était beaucoup plus complexe que prévu de le réaliser à l’interne, en raison de la disponibilité de leurs ressources.
Ils ont alors fait appel à nous. D’abord, pour analyser les besoins et les contraintes et, aussi, pour proposer des recommandations. À la suite de notre analyse, qui rejoignait les conclusions de notre client, celui-ci nous a mandatés pour réaliser l’ensemble du projet.
J’ai été affecté à ce mandat qui me semblait assez simple au départ. J’avais déjà effectué des dizaines de migrations de versions de systèmes SCADA dont une grande partie sur Aveva System Platform. Pour moi c’était un très beau projet, facile en perspective et avec des résultats garantis!
Hiiii! Je ne savais pas ce qui m’attendait…
Premier Contact...
Notre client m’a d’abord accueilli dans la salle à café. D’ailleurs, j’ai remarqué qu’ils avaient de très bonnes machines à café ce qui n’a fait qu’accroître mon enthousiasme pour notre projet.
Après une visite de l’usine et quelques tasses de café, le chargé de projet m’a expliqué que :
- Le projet vise à migrer nos trois environnements (développement, assurance qualité(QA) et production) vers de nouveaux serveurs et une nouvelle version des systèmes d’exploitation et des logiciels manufacturiers.
- Notre analyse montre que notre programme SCADA contient des centaines de paramètres qui sont « codés en dur » et qui dépendent de l’environnement (noms de serveurs, de bases de données, adresses IP, etc.). Il faut les identifier à travers des centaines d’objets et les modifier pour que le nouveau SCADA puisse fonctionner avec le nouvel environnement.
- Il est très difficile de s’y retrouver, des centaines d’objets ont des scripts et des paramètres individuels, car nos différents consultants n’ont pas toujours respecté la norme qui vise à programmer dans les gabarits seulement.
- La principale difficulté consiste à trouver, à travers ces milliers de paramètres du SCADA, ceux qui dépendent de l’environnement et de les adapter pour le nouvel environnement et les nouveaux serveurs.
- Il est impossible d’importer des changements provenant de l’environnement de développement vers l’environnement QA ou celui de la production. Il est trop complexe de passer des jours à trouver et changer les paramètres dépendant de l’environnement. Ça nous cause beaucoup de problèmes et de pannes. Nous aimerions pouvoir faire ça facilement.
Je commençais tout juste à réaliser l’ampleur de la tâche, mais elle demeurait tout de même assez simple. Il s’agissait de rechercher et documenter les paramètres et les scripts à modifier pour fonctionner dans le nouvel environnement et les reprogrammer lors de la migration.
Des heures de plaisir et de documentation!
Heu… « By the way… »
La situation c’est nettement corsé, à la suite de notre un XIe café, lorsque notre client m’a mentionné :
« By the way Eric….
- Nous ne voulons plus jamais avoir à faire cet exercice qui va nous coûter cher! Il faut que tu trouves une solution plus économique pour le futur.
- Nous n’avons aucune idée duquel des trois environnements a le code le plus récent. Plusieurs consultants ont effectué des changements au fil du temps et on n’a pas l’historique de ces changements.
- On veut pouvoir passer de l’environnement de développement à celui de QA et à la Production en quelques minutes.
- La mise en service de l’environnement de production doit se faire en moins de deux heures, car l’usine fonctionne 24/7 et on n’a pas de fenêtres de maintenance de prévues. »
Ouf! Pas aussi simple que je le pensais. Un beau défi en perspective…
J’ai fait tourner ma tasse de café de façon aléatoire en réfléchissant. Le SCADA du client contenait quelques milliers d’objets et plusieurs centaines de milliers de paramètres (attributs) dans trois environnements différents. Vérifier, comparer et documenter le tout; c’est déjà un très long processus! Répondre aux derniers besoins mentionnés par le client l’était encore plus. La question que je me suis alors posée:
« Comment pourrais-je simplifier et automatiser le travail pour respecter le budget souhaité par le client et faire en sorte que le même effort n’ait pas à être fait lors des prochaines migrations? »
« Comment pourrais-je simplifier et automatiser le travail pour respecter le budget souhaité par le client et faire en sorte que le même effort n’ait pas à être fait lors des prochaines migrations? »
L’idée de départ…
Une seule solution :
Intégrer les technologies et méthodes du monde IT dans le système OT.
À ce moment, mes 15 années d’expérience en IT m’ont été plus que bénéfiques.
Deux idées me sont venues en tête :
Mais par où commencer? J’avais assisté à une présentation sur les outils de développement avancés de Aveva System Platform. Il s’agissait de « kits de développement » permettant d’interagir avec les SCADAs System Platform via des programmes .NET ou des bases de données. Le manufacturier présentait ces outils comme solution pour réduire drastiquement le temps de développement et de mise en service de leurs SCADAs.
Encore à ce jour, ce sont des outils très peu connus, mais j’ai quand même suggéré à notre client d’utiliser cette technologie.
Collaboration it/ot...
Par hasard, le client avait assigné deux ressources au projet : un spécialiste en automatisation (OT) et un spécialiste IT. Le lien était facile à faire avec l’équipe. Aussi, le contrat de support du client nous a permis d’entrer en contact avec les ingénieurs d’AVEVA qui sont spécialisés dans ces outils.
Quelques mois plus tard…
Intégrer les technologies et méthodes du monde IT dans le système OT.
À ce moment, mes 15 années d’expérience en IT m’ont été plus que bénéfiques.
Deux idées me sont venues en tête :
- Utiliser une base de données transactionnelle comme répertoire pour les paramètres.
- Tirer parti de la technologie de programmation Microsoft.NET pour l’interface.
Mais par où commencer? J’avais assisté à une présentation sur les outils de développement avancés de Aveva System Platform. Il s’agissait de « kits de développement » permettant d’interagir avec les SCADAs System Platform via des programmes .NET ou des bases de données. Le manufacturier présentait ces outils comme solution pour réduire drastiquement le temps de développement et de mise en service de leurs SCADAs.
Encore à ce jour, ce sont des outils très peu connus, mais j’ai quand même suggéré à notre client d’utiliser cette technologie.
Collaboration it/ot...
Par hasard, le client avait assigné deux ressources au projet : un spécialiste en automatisation (OT) et un spécialiste IT. Le lien était facile à faire avec l’équipe. Aussi, le contrat de support du client nous a permis d’entrer en contact avec les ingénieurs d’AVEVA qui sont spécialisés dans ces outils.
Quelques mois plus tard…
Le transfert lors de la mise en service a duré moins de 30 minutes. La reconfiguration des nouveaux systèmes s’est faite automatiquement, en quelques secondes et sans perte de production.
La seule difficulté rencontrée lors de la mise en production était le bris de la machine à café qui était survenu pendant qu’on se tournait les pouces en attendant les problèmes, qui ne sont finalement jamais venus.
Un succès total selon le client! Moi je n’étais pas si certain, surtout dû au manque de caféine.
La seule difficulté rencontrée lors de la mise en production était le bris de la machine à café qui était survenu pendant qu’on se tournait les pouces en attendant les problèmes, qui ne sont finalement jamais venus.
Un succès total selon le client! Moi je n’étais pas si certain, surtout dû au manque de caféine.
Comment on y est arrivé…
a solution était assez simple, mais elle n’était vraiment pas évidente au départ. L’intégration des technologies IT et OT était la solution. C’est ce qu’on appelle communément « L’Industrie 4.0 ». Il y a quelques années, ce type d’intégration n'était encore qu’à ses débuts.
Techniquement, la solution a simplement consisté à implémenter:
Techniquement, la solution a simplement consisté à implémenter:
- Une base de données Microsoft SQL Serveur contenant des profils d’environnement préconfigurés pour chacun des trois environnements.
- Un mécanisme de configuration automatique des paramètres lors du démarrage du SCADA (environ 900 paramètres). Chaque environnement monitorant ses propres paramètres.
- Un outil d’analyse et de comparaison automatique pour les milliers de paramètres du SCADA, ce qui nous a permis de resynchroniser les modifications effectuées au fil du temps dans chacun des trois environnements.
- Un mécanisme de surveillance et de validation rapide des configurations et de l’opération lors de la mise en service.
Dans le cadre de ce projet, il était évident que l’utilisation des technologies IT et des outils de développement avancés offerts par Aveva pouvait nous permettre de réduire drastiquement le temps de développement et de mise en route de nos projets en plus d’éliminer un grand nombre de problèmes.
Les mécanismes mis en place dans le cadre de ce projet ont été regroupés et intégrés dans une application complète de gestion des SCADAs basés sur Aveva System Platform. Notre application PMCA nous permettait maintenant d’automatiser le développement, la mise en route et la gestion des SCADAs System Platform.
Après un millier d’heures de développement, notre solution PMCA comportait désormais les capacités suivantes :
Les mécanismes mis en place dans le cadre de ce projet ont été regroupés et intégrés dans une application complète de gestion des SCADAs basés sur Aveva System Platform. Notre application PMCA nous permettait maintenant d’automatiser le développement, la mise en route et la gestion des SCADAs System Platform.
Après un millier d’heures de développement, notre solution PMCA comportait désormais les capacités suivantes :
- Gestion et configuration automatique des paramètres des SCADAs selon l’environnement et peu importe leur localisation.
- Analyse et comparaison de multiples versions du SCADA, entre différents environnements ou entre différentes versions du même système.
- Monitorage et validation simplifiés lors de déploiements ou de redémarrage des systèmes.
- Création et configuration automatique d’instances à partir de fichiers Excel permettant de réduire de 90% le temps de création et configuration des objets.
- La sécurité de l’environnement System Platform est maintenant complètement intégrée à PMCA.
Les technologies utilisées…
Pour les intéressés, voici les principales technologies utilisées :
L’expertise et la créativité en collaboration avec nos clients et fournisseurs nous ont permis d’obtenir une solution durable et à la hauteur des attentes de tous. N’aspirant à rien de moins que l’excellence nous croyons que cette expérience est un bon exemple d’innovation.
- Microsoft Visual Basic.Net et Visual Studio 2019: Programmation de l’interface de gestion et de surveillance.
- Microsoft Visual C# et Visual Studio 2019: Programmation de la librairie permettant l’interaction de PMCA avec Aveva System Platform. Cette librairie est une passerelle vers les le SDK « aaGRAccessApp 1.0 Type Library » d’AVEVA System Platform. Il est utilisé par l’interface PMCA et peut aussi être intégré directement dans les scripts du SCADA.
- Wonderware ArchestrA Scripting and .Net extensions Programmation interne au SCADA permettant d’interagir avec les bases de données.
- Transact-SQL: Programmation de la base de données et des accès via le SCADA.
- Microsoft SQL Server Data Tool (SSDT): Automatisation des déploiements et création automatique des instances à partir de fichiers Excel.
- ArchestrA™ GRAccess Toolkit API: ArchestrA.GRAccessApp 1.9.0.0 Type Library : Interface entre PMCA et le « Galaxy Repository »
- Microsoft.Office.Interop.Excel extension 15.0: Exportation et importation des tables de données.
Finalement…
L’expertise et la créativité en collaboration avec nos clients et fournisseurs nous ont permis d’obtenir une solution durable et à la hauteur des attentes de tous. N’aspirant à rien de moins que l’excellence nous croyons que cette expérience est un bon exemple d’innovation.
Écrit par Eric Tremblay | 18 Janvier 2021
Partager sur :