Thèse soutenue

Contribution à la validation opérationnelle de l’ordonnancement et de la génération de séquences de commande pour les systèmes SCADA industriels

FR  |  
EN
Auteur / Autrice : Ouissem Mesli-Kesraoui
Direction : Patrick GirardPascal BerruetEmmanuel GrolleauYassine OuhammouSoraya Kesraoui
Type : Thèse de doctorat
Discipline(s) : Informatique et applications
Date : Soutenance le 26/06/2024
Etablissement(s) : Chasseneuil-du-Poitou, Ecole nationale supérieure de mécanique et d'aérotechnique
Ecole(s) doctorale(s) : École doctorale Sciences et Ingénierie des Systèmes, Mathématiques, Informatique (Limoges ; 2018-2022)
Partenaire(s) de recherche : Entreprise : Segula Technologies (1984-....)
Laboratoire : Laboratoire d'informatique et d'automatique pour les systèmes / LIAS [Poitiers]
Jury : Président / Présidente : Annie Choquet-Geniet
Examinateurs / Examinatrices : Flavio Oquendo, Pascale Marangé
Rapporteur / Rapporteuse : Ameur Soukhal, Nasser Mebarki

Résumé

FR  |  
EN

Les systèmes industriels sont généralement des systèmes complexes comportant plusieurs composants et offrant plusieurs fonctionnalités ou fonctions. Vu le nombre important des composants de ces systèmes, dans le monde industriel, des bancs de tests SCADA sont souvent développés pour les tester. Un banc de test SCADA (Supervisory Control and Data Acquisition) est un système SCADA qui a pour rôle de surveiller l’état du procédé et d’envoyer des commandes pour le manipuler. Pour répondre à un objectif de test sur ces bancs, les experts métiers se chargent du lancement des différentes fonctions de test. Pour cela, ils définissent un ordre précis de ces fonctions. Toutefois, certaines contraintes viennent compliquer la définition de cet ordre. En effet, les fonctions peuvent se réaliser en parallèle ou séquentiellement. D’autrepart, certaines fonctions se partagent les mêmes composants et sont régies par les mêmes contraintes physiques comme la pression, le débit, etc. La définition manuelle de cet ordre est très fastidieuse et peut être une source d’erreur. Une fois l’ordre déterminé, les experts sont en charge d’identifier les séquences d’actions élémentaires permettant la réalisation de la fonction. Par exemple, afin de réaliser une fonction de transfert d’eau d’une soute à une autre, les experts sont obligés de réaliser la séquence d’actions élémentaire suivante : ouvrir les vannes, enclencher la pompe, choisir la soute de départ/d’arrivé, etc. Cependant, il faut s’assurer que les commandes envoyées tiennent compte des multiples contraintes de fonctionnement opérationnelles. De fait, la réalisation de ces actions peut devenir difficile et source d’erreur. Pour répondre à ces problématiques, l’objectif des travaux de cette thèse consiste à proposer des solutions permettant l’optimisation des bancs de tests SCADA. Notre approche comporte trois contributionsmajeures.4) Afin d’optimiser la réalisation des tests, notre première contribution porte sur la proportion une solution pour l’ordonnancement mathématique de deux machines parallèles dédiées avec une ressource partagée et des précédences locales. Des algorithmes et procédures ont été proposés afin d’ordonnancer l’exécution des fonctions d’un banc de tests SCADA.5) Dans la deuxième contribution, nous proposons une approche pour la génération de séquences de commande permettant l’exécution opérationnelle de l’ordonnancement calculé. Basée sur les modes et états afin de spécifier, modéliser et déduire un modèle opérationnel pour l’exécution de l’ordonnancement sur un banc de test SCADA. Le modèle opérationnel est ensuite utilisé pour la génération automatique des séquences de commande permettant la réalisation de l’ordonnancement mathématique.6) Dans la troisième contribution, nous proposons un xDSML qui permet d’outiller les deux premières contributions. Notre xDSML permet d’assister les experts non-informaticiens des systèmes SCADA dans le processus d’optimisation de leur système. Ce qui, permet d’une part de spécifier toutes les informations statiques du système SCADA telles que le P&ID, les fonctions et également la décomposition fonctionnelle. D’autre part, il permet la spécification des informations dynamiques comme les modes des composants et des fonctions.