Contribution to the Operational Validation of Scheduling and Generation of Control Sequences for Industrial Scada Systems
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
Résumé
Industrial systems are usually complex, multi-component systems offering a wide range of functions. Given the large number of components in these systems, SCADA test benches are often developed in the industrial world to test them. A SCADA (Supervisory Control and Data Acquisition) test bench is a SCADA system whose role is to monitor process status and send commands to manipulate it. To meet a test objective on these benches, business experts take charge of launching the various test functions. To do this, they define a precise order for these functions. However, certain constraints complicate the definition of this order. Functions can be run in parallel or sequentially. On the other hand, some functions share the same components and are governed by the same physical constraints, such as pressure, flow rate and so on. The manual definition of this order can be a source of error, and also very tedious. Once the order has been determined, the experts are responsible for identifying the elementary action sequences required toper form the function. For example, in order to carry out a function involving the transfer of water from one bunker to another, the experts have to carry out the following elementary sequence of actions: open the valves, switch on the pump, select the departure/arrival bunker, and so on. However, it must be ensured that the multiple commands sent take into account the multiple operating constraints. As a result, carrying out these actions can become difficult and error-prone.To answer these problems, the objective of this thesis is to propose solutions allowing the optimization of SCADA test benches. Our approach has three major contributions.1) In order to optimize the realization of the tests, our first contribution focuses on the proportion of a solution for the mathematical scheduling of two parallel dedicated machines with a shared resource and local precedents. Algorithms and procedures have been proposed to schedule the execution of the functions of a SCADA test bench. 2) In the second contribution, we propose an approach for the automatic generation of command sequences allowing the operational execution of the calculated scheduling. Based on modes and states in order to specify, model and deduce an operational model for executing scheduling on a SCADA test bench. The operational model is used for the automatic generation of control sequences allowing the realization of mathematical scheduling. 3) In the third contribution, we propose an xDSML that allows equiping the first two contributions. Our xDSML allows assisting the experts of SCADA systems in the optimization process of their system. This, on the one hand, allows to specify all the static information of the SCADA system such as the P&ID, the functions and also the functional decomposition. On the other hand, it allows the specification of dynamic information such as modes of components and functions.
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.
Origine | Version validée par le jury (STAR) |
---|