Modélisation unifiée hybride et simulation des systèmes de contrôle

01/01/2011
Publication e-STA e-STA 2011-1
OAI : oai:www.see.asso.fr:545:2011-1:13451
DOI :

Résumé

Modélisation unifiée hybride et simulation des systèmes de contrôle

Métriques

1183
7
477.88 Ko
 application/pdf
bitcache://a523fc5628f4f56a4139ca5edc6d46b34f3cc3bd

Licence

Creative Commons Aucune (Tous droits réservés)
<resource  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xmlns="http://datacite.org/schema/kernel-4"
                xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
        <identifier identifierType="DOI">10.23723/545:2011-1/13451</identifier><creators><creator><creatorName>Emmanuel Tanyi</creatorName></creator><creator><creatorName>Marcellin Nkenlifack</creatorName></creator></creators><titles>
            <title>Modélisation unifiée hybride et simulation des systèmes de contrôle</title></titles>
        <publisher>SEE</publisher>
        <publicationYear>2011</publicationYear>
        <resourceType resourceTypeGeneral="Text">Text</resourceType><dates>
	    <date dateType="Created">Sat 1 Jan 2011</date>
	    <date dateType="Updated">Mon 25 Jul 2016</date>
            <date dateType="Submitted">Tue 13 Nov 2018</date>
	</dates>
        <alternateIdentifiers>
	    <alternateIdentifier alternateIdentifierType="bitstream">a523fc5628f4f56a4139ca5edc6d46b34f3cc3bd</alternateIdentifier>
	</alternateIdentifiers>
        <formats>
	    <format>application/pdf</format>
	</formats>
	<version>22482</version>
        <descriptions>
            <description descriptionType="Abstract"></description>
        </descriptions>
    </resource>
.

Résumé— Cet article aborde un important domaine de recherche qui est celui de la modélisation et la simulation des systèmes de commande. Nous décrivons une approche d’analyse et conception hybride à l’aide du langage objet UML. Nous montrons à travers l’exemple de l’ascenseur, comment organiser la modélisation d’un système hybride réel pour pouvoir le simuler aisément. Le simulateur hybride développé en Java est constitué de deux processus parallèles qui interagissent de façon synchronisée : - Un sous-simulateur séquentiel (GRAFCET), - Un sous-simulateur continu (Equations différentielles). Mots clés—Systèmes Dynamiques Hybrides (SDH), Modélisation et conception Objet, UML, Commande séquentielle, Commande continue, Interactions, Messages, Simulation, Asservissement, GRAFCET. I. INTRODUCTION Plusieurs acteurs du Génie automatique ([1], [2]…) se sont posé la question suivante : « Comment trouver une méthode et un langage permettant de composer la pratique de l’automatique industrielle des SDH et celle de l’informatique générale des systèmes interactifs et des systèmes d’information » ? Le métamodèle du langage UML (Unified Modeling Language [3]) est destiné beaucoup plus au Génie logiciel appliqué à l’informatique. Mais, étant donné que le Génie logiciel est un outil de réalisation du Génie automatique, les automaticiens s’intéressent de plus en plus à ce métamodèle ([2] [1] [4] [3] [5] [6] [7] [8]). La modélisation hybride des systèmes automatiques doit mettre en évidence les interactions réelles entre les deux sous systèmes continus et séquentiels. Les diagrammes de cas d’utilisation (Use Case Diagrams) permettent de définir les interactions entre l’utilisateur et le système commandé [8]. Les diagrammes d’activités permettent de décrire l’organisation des activités sous forme d’objets, tout en prenant en compte les comportements conditionnels et parallèles [9]. Les diagrammes de collaboration et de séquences permettent de ressortir les interactions entre différents objets et processus. Nous constatons aussi que les fonctionnalités des machines à état (en Automatique) peuvent être représentées par les diagrammes d’activités (Activity Diagrams) ou les diagrammes d’états transitions (StateCharts). Tous ces aspects du travail sont décrits en détail dans [10] [11]. Dans le présent article qui aborde un travail de recherche appliquée, nous aborderons tour à tour, à la section II, les systèmes de contrôle industriels hybrides, à la section III la spécification conceptuelle de notre plateforme de simulation des SDH, à la section IV la modélisation hybride des systèmes industriels, et à la section V, l’implémentation et les résultats. Les techniques proposées sont appliquées au fur et à mesure à des exemples de systèmes afin de mettre en évidence leur opérationnalisation. II. LES SYSTEMES DE CONTROLE INDUSTRIELS HYBRIDES Un Système automatisé est capable de s’auto-piloter. La structure des systèmes automatisés de production est présentée dans [11]. L’état de l’art effectué dans le cadre de ce travail ressort que les recherches sur les systèmes de contrôle industriels automatiques s’attellent à résoudre les questions suivantes [8] : - La modélisation Il s’agit d’avoir recours à une approche système structurant les différents objets en tenant compte du sens physique et de la causalité de leurs interactions. - L’analyse Elle suppose le développement d’outils de validation et de vérification des Systèmes Dynamiques Hybrides (SDH), puis la maîtrise de la complexité de cette analyse et l’interprétation physique de certaines propriétés à analyser telles que la stabilité globale du système à travers ses phases consécutives de fonctionnement. - La Simulation Les recherches concernant les méthodes et outils formels relatifs à l’analyse du comportement des SDH et à la synthèse des lois de commande en sont encore à leurs débuts [21]. La simulation reste donc un passage obligé lorsqu’il faut : - Aider à la réalisation d’une installation, - Valider le modèle élaboré (dans un but de prévision) pour une installation existante, - Valider la commande conçue pour une installation. Les différentes méthodes et outils (spécification, analyse, simulation) sont nombreux aussi bien sur le plan mathématique qu’en Génie automatique et Génie logiciel. Quelques approches et outils mathématiques de base qui peuvent être mis en jeu sont les suivants [22] [23] [24] [8] [21] : Théorie du contrôle, Commande hiérarchisée, Algèbre booléenne, Théorie des graphes, Réseaux de Pétri, Machine aux états finis ou automates (on y retrouve les machines de Moore et de Mealy). Modélisation Unifiée Hybride et Simulation des Systèmes de Contrôle Emmanuel TANYI1 , Marcellin NKENLIFACK2 2 LAIA, INSTITUTE OF TECHNOLOGY, UNIVERSITY OF DSCHANG, PO BOX 134 BANDJOUN, CAMEROON 1NATIONAL POLYTECHNIC, UNIVERSITY OF YAOUNDE 1, CAMEROON 2MARCELLIN.NKENLIFACK@GMAIL.COM, 1EMMANTANYI@YAHOO.COM e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 A. Les approches de description des systèmes automatiques • Les Systèmes à Evénements Discrets (SED) Ils regroupent un ensemble de procédés qui sont mis en jeu de façon discrète. Les modèles de SED seront généralement élaborés à l’aide des automates à états finis, des GRAFCETs, des Réseaux de Pétri, etc. Le GRAFCET (Graphe Fonctionnel de Commande Etape Transition) est un diagramme fonctionnel dont le but est de décrire graphiquement les différents comportements d’un automatisme séquentiel [25] [26]. • Les Systèmes Continus et Echantillonnés (SCE) [27] [28] : Ils regroupent des automatisations qui traitent des procédés continus portant sur des produits, matières, matériaux ou flux d’énergie continus et caractérisés par des grandeurs continues. On y retrouve : - Les systèmes à boucle ouverte (non asservis) dans lesquels ni la sortie, ni aucune autre variable du système n'a d'effet sur le contrôle de la sortie. - Les systèmes à boucle fermée (asservis) qui possèdent une rétroaction de la sortie sur l’entrée. Pour une meilleure analyse lors de l’étude des systèmes asservis, un certain nombre de propriétés sont explorées. Il s’agit de la stabilité, la rapidité et la précision, etc. • Les Systèmes Hybrides (SH). Ce sont les systèmes dans lesquels : - L’état d’un système dynamique peut être décrit par une combinaison de variables continues, discrètes ou symboliques (exemple de système symbolique : un actionneur peut être ouvert, fermé ou en panne). - La variable utilisée pour décrire le temps peut être de type : continu (décrit par des équations algébro-différentielles), discret (exemple, échantillonnage de signaux décrivant l’évolution des variables, chaque échantillon restant porteur de sa date), symbolique (différents événements ne sont plus rattachés à un instant déterminé et ne peuvent plus être utilisés comme date). - Le procédé aussi peut être continu et événementiel. Cas des installations de production continue avec les étapes finales de conditionnement discontinues ou encore les productions batch, dans lesquelles la matière est caractérisée par des variables continues et est traitée étape par étape. Comme particularité des Automatismes Hybrides on a les Interactions (action mutuelle entre parties du Système Hybride). Les Interactions séquentiel-continu se matérialisent au niveau des actions (étapes du GRAFCET). On parle alors d'action-interaction. Les Interactions continu-séquentiel retrouvées au niveau des réceptivités liées aux transitions. On parle alors de réceptivité-interaction. Nous avons à la figure 1 un exemple de système hybride. Il s’agit du laminoir extrait de [10]. Le Laminoir est un système industriel permettant de convertir les blocs métalliques en tôles. - La logique (séquence) d’opérations, définie par le GRAFCET est implémentée dans l’automate programmable (Programmable Logic Controller), qui constitue ainsi la partie séquentielle. - Les autres composants du système (Servomoteur, contrôleur d’ouverture, moteur d’induction, rouleaux et contrôleur de température) constituent la partie continue. Ils sont modélisés par des équations différentielles et algébriques. Par exemple, l’ouverture de roulements étant donnée en considérant la position "x" du servomoteur, on a l’équation différentielle (servomoteur) suivante : dt dX f dt Xd JXXK ref +=− 2 2 )( (1) f est le coefficient de friction, X est la valeur instantanée de l’ouverture, K est le gain du servomoteur refX est la valeur de référence de l’ouverture, J est le moment d’inertie des rouleaux. - Un ensemble de capteurs (sensors) permettent d’obtenir des informations sur le processus : P (roll gap Potentiometer) mesure l’ouverture entre les rouleaux ; S (Speed sensor) détermine la vitesse de roulement ; L (Load cell) détermine la présence d’une charge entre les rouleaux et T (Thermocouple) détermine la température du métal dans le four. Figure 1 Exemple de système hybride : Le Laminoir Un extrait du GRAFCET hybride du Laminoir est présenté à la figure 2. Figure 2 Exemple de mini GRAFCET hybride On peut noter en observant ce GRAFCET que l’action 1 : “Start Induction Motor” est une action-interaction, et la réceptivité (1) : “motor speed = 18 revs/s” est une réceptivité- interaction. Rolls S T Oven Servomotor Induction Motor Temperature controller Roll-gap Controller Programmable Logic Controller (PLC) Sensor P L S Start induction motor1 Set roll gap to maximum value Motor speed = 18 revs/ s 2 (1) e-STA copyrignt 2011 by see Volume 8, N°1, pp 31-43 B. La modélisation des systèmes hybrides Une modélisation minimale des Systèmes Hybrides est présentée à la figure 3 : Figure 3 Canevas de modélisation des systèmes hybrides - L’état évolue dans X=Xc×Xd, où Xc ⊆ ℜ n et Xd ⊆ Ν. - Les entrées du système sont des fonctions de commandes U=Uc×Ud. - Le Système Hybride peut alors être structuré autour des parties suivantes : - un système dynamique continu Sc dont l’évolution est décrite par une fonction de transition continue ϕc qui dépend de la valeur de xd : xc(t) = ϕc (t, t0, xc(t0), xd, uc) ; - un système à événements discrets Sd dont l’évolution est décrite par une fonction de transition discrète ϕd : xd (t+ ) = ϕd (t, xc, xc(t), ud) ; - un ensemble de liaisons entre ces deux systèmes. La modélisation des Systèmes Dynamiques Hybrides peut être effectuée à l’aide de divers formalismes, parmi lesquels nous pouvons citer : - Automates Hybrides - Statecharts Hybrides - GRAFCET Hybride - Réseaux de Pétri Mixtes - Hybrid - Hybrid machines - Bond graph à commutations - Réseaux de Pétri Colorés - Réseaux de Pétri Hybrides - Réseaux de Pétri Prédicat Transition Différentiel Pour une description détaillée de ces différents formalismes, le lecteur pourra consulter les articles [26] [27] [8] [28] [7] [52]. Toutefois, il faut dire que les approches et formalismes de représentation des SDH ci-dessus bien qu'intéressants, ne fournissent pas la modularité et l’extensibilité requise pour la représentation de systèmes complexes. D’autre part, ces outils ont étés plus développés pour des travaux de recherche théoriques et ne sont pas toujours nécessairement adaptés à la représentation précise de systèmes physiques. D’ou l’intérêt que nous portons à l’égard de la modélisation objet dans le cadre de ce travail, qui apporte : - modularité, - modèle déclaratif, - structuration sous forme de classes et d’objets, - héritage (structuration hiérarchique), - abstraction (encapsulation), - parallélisme et communication par messages, - réduction du temps de développement du modèle (construction, modification, utilisation), C. La Simulation des systèmes hybrides Les avantages d'une simulation par rapport à des tests dans le monde réel sont : - le coût est plus bas; - le danger est moindre par rapport aux essais sur de systèmes réels, tels que centrale nucléaire; - le contrôle sur les paramètres du système pour les expériences est plus grand; - il y a des avantages pratiques en général (pas de contrainte de temps, de lieu, etc.). En revanche, il y a des limitations dans la précision et parfois dans la disponibilité des données du système à modéliser. L’architecture de simulation des Systèmes Dynamiques Hybrides est présentée à la figure 4 [7]. Figure 4 Représentation des modules d’une Architecture de simulation des Systèmes Dynamiques Hybrides Nous énumérons ci-dessous une liste de quelques outils classiques de l’industrie, et langages de simulation des Systèmes Hybrides : - APROS – HYSYS - SIMCON-X – ProTRAX - χ - BaSiP – SIMULINK – WinSim – Shift – Charon – ABACUSS – GPROMS. Ces différents outils sont présentés de façon exhaustive dans les articles [29] [30] [31] [4] [7] [32] [33] [34] [35] [36] [51]. Le constat qui se dégage est que certains des outils ci-dessus bien que supportant des méthodes efficaces d’intégration numérique pour la simulation de processus particuliers, présentent des limites aujourd’hui, notamment de maintenance. La plupart d’entre eux ont été développés en FORTRAN et disposent de codes pas très accessibles, étant donné qu’on ne dispose plus des modèles algorithmiques de résolution (d’équations). C’est ainsi que plusieurs outlils dits de nouvelle génération (approche objet) ont été développés. Nous pouvons citer : - Dymola (DYnamic MOdeling LAnguage) - MOSES (Modular Object-oriented Software Environment for Simulation) - Omola/Omsim (Object Modeling Language) - YAHMST (Yet Another Hybrid Modeling and Simulation Tool) - MOOSAP (Modélisation Orientée Objet de Systèmes Système dynamique hybride uc∈Uc ud∈Ud xc∈Xc xd∈Xd Simulation du système à événements discrets Jusqu’à obtenir un état discret stable Localisation des événements d’état détectés - Calcul des entrées qualitatives et des sauts d’état - Sélection du modèle continu - Réduction de l’index - Calcul des conditions initiales Résolution du système d’équations continues aux pas d’intégrations suivants jusqu’à ce qu’un événement (temporel ou d’état) soit détecté Algorithme de détection des événements simulation e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 Automatisés de Production) - MOO (Modélisation Orientée Objet) - OMAAE (Object Oriented Models for Advance Automation Engineering) – Modelica – EcosimPro. Le lecteur aura tous les détails sur ces différents outils en consultant [37] [38] [34] [39] [40] [41] [42] [43] [44]. On peut également remarquer que les outils ci-dessus (orientés objets) bien qu’étant performants sont pour la plupart adaptés à des applications particulières. Aussi, très souvent seule la modélisation est faite en orienté objet pour ensuite générer un code textuel qui est transmis à un simulateur classique existant. Ces outils ne sont pas tout à fait dans l’industrie (à quelques exceptions), cela est plus dû au fait que l’on ne dispose pas encore de bibliothèques de paquetages ouvertes ou généralisées disponibles. III. SPECIFICATION CONCEPTUELLE DE NOTRE PLATEFORME HYBRIDE Les différentes contraintes pouvant influencer la conception du simulateur hybride sont nombreuses et ont été étudiées de façon exhaustive dans [11]. C’est ainsi que dans le cadre de notre travail, nous avons recensé les éléments et données qui seront manipulés, puis les opérations, événements et traitements qui seront effectués. En particulier, nous avons : - Etudié le fonctionnement des système, afin de faire ressortir tous les paramètres devant intervenir lors de la description et la simulation ; - Etudié les propriétés de ces paramètres, leur évolution dans le temps ; - Rapproché ces paramètres des concepts Informatiques, afin d’approfondir la compréhension du fonctionnement, et ressortir les éléments utiles pour l’implémentation. A chaque fois, nous avons fourni l’effort pour nous conformer aux prescriptions des méthodes du Génie logiciel [45] [3] [46]. A. Etude conceptuelle des Systèmes à Evénements Discrets (SED) Nous avons pu dégager plusieurs dizaines de contraintes regroupées par types. Dans le cadre de cet article, nous allons en citer juste une pour chaque catégorie, à titre d’illustration. Le lecteur peut trouver la liste et les détails de toutes les autres contraintes dans [11]. La définition de ces contraintes est légèrement inspirée de la technique de spécification de circuits que nous avions proposée dans [47]. • Contraintes techniques dans les SED - Les contraintes liées aux systèmes étudiés : exemple, la contrainte CS4 déterminant l’agencement des éléments d’un GRAFCET qui impose que l’alternance Etape- Transition et Transition-Etape doit toujours être respectée. - Les contraintes de programmation : Au niveau de la description, CS9 indique que le croisement d’une liaison orientée verticale avec une liaison orientée horizontale peut être admis sans que cela corresponde à une relation entre ces liaisons. Au niveau de la simulation, la contrainte CS12 indique que l’évolution de la situation du GRAFCET correspondant au franchissement d’une transition ne peut se produire que lorsque la réceptivité associée à cette transition est vraie. - Les contraintes de modélisation : la contrainte statique CS14 portant sur les valeurs de propriétés et les cardinalités stipule que un "lien parallèle" aura un "nombre de branches >=2" et qu’une "Action multiple" aura un "nombre d’actions applicables >=2". Les contraintes d’unicité telles que CS15 garantissent l’unicité des objets d’une classe à partir de l’unicité des valeurs d’une propriété ou d’un ensemble de propriétés de la classe (exemple : une étape ou une transition possède un numéro unique). Les contraintes d’héritage telles que CS16 restreignent les possibilités d’existence d’objets spécialisés (exemple : la disjonction est obligatoire entre un lien unique et un lien parallèle) • Données et éléments manipulés dans les SED Nous avons identifié ici les différents phénomènes de notre domaine, susceptibles d’être représentés par des objets et des classes. Ils sont plus d’une centaine, tous listés dans [11]. • Opérations, événements et traitements dans les SED Pour chaque scénario, un ensemble d’opérations ont été recensées et modélisées. On en a plusieurs centaines au total. - Pour représenter ou décrire le GRAFCET, nous aurons besoin de dessiner les éléments tels que les "Actions", les "Etapes"… en leurs associant les activités telles que Déplacer, Dupliquer, Supprimer, Modifier, Marquer, Rechercher, Sélectionner… - Pour simuler le GRAFCET nous aurons besoin des activités telles que Activer et Désactiver une étape quelconque, Tester la réceptivité, Valider et Franchir une transition quelconque, Exécuter une ou plusieurs actions, Exécuter les actions en direction d’autres systèmes… B. Etude conceptuelle des Systèmes Continus et Echantillonnés (SCE) L’approche est semblable à celle des systèmes discrets présentée ci-dessus. Comme précédemment, nous présentons juste quelques exemples illustratifs, le lecteur pouvant se référer à [11] pour plus de détails. • Contraintes techniques dans les SCE - Les contraintes liées aux systèmes étudiés : Exemple CC1 qui impose que le signal de sortie dans un système asservi sera toujours comparé au signal d’entrée ; CC2 impose que un système à schéma bloc possède au moins une entrée (consigne) et une sortie. - Les contraintes de programmation : Exemple, la contrainte CC15 impose que la stabilité d’un système ne sera déterminée que si parmi les solutions du polynôme, il existe des solutions réelles. - Les contraintes de modélisation : Les contraintes de propriétés comme CC16, imposent que le système d’équations à résoudre ait un "nombre de fonctions" >=2. Les contraintes d’héritage comme CC17 qui indique que les classes "Consigne polynôme" et "Exponentielle"… héritent de la classe "Consigne" ; ou encore un système continu pourra être "asservi" ou "non asservi", mais pas les deux à la fois. e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 - Les contraintes sur les liens : Exemple, CC18 indique qu’un système continu est décrit par un et un seul schéma bloc de base ; - Les contraintes sur les attributs : exemple, CC25 conditionne les différentes consignes fournies telle que la consigne exponentielle (k*expo(a*t)) avec comme contrainte, k>0 ; la consigne d'accélération (a*t²) avec comme contrainte, a>0 ; la consigne de vitesse (v*t) avec comme contrainte, v>0 ; la consigne d'amplitude (k) avec comme contrainte, k>0 ; - Contraintes sur les objets, liens et attributs dérivés : on peut citer CC28 qui, par exemple pour la classe "POLYNOME" nous recommande un tableau des solutions de l'équation polynomiale qui dérive, par une méthode de résolution, des paramètres de l'équation différentielle ou de la fonction de transfert. • Données et éléments manipulés dans les SCE - Une équation différentielle possède un ordre n, et pour le cas d’un système, un nombre d’équations. Elle possède en outre une description, des paramètres "ai" (coefficients constants entrés par l’utilisateur), des solutions (calculées par le système) permettant de le représenter. - Le schéma bloc est constitué : du bipôle (auquel est attribué une hauteur, une largeur, une position, un libellé) ; du comparateur (auquel est attribué un rayon, une position de départ (x,y)) ; des traits ou liens (qui relient un bipôle à un comparateur) ; et des flèches. • Opérations, événements et traitements dans les SCE - Pour décrire une équation ou un système, nous devons entrer ses paramètres : Saisir l’ordre, ainsi que les propriétés ; Modifier ses éléments en cas d’erreur. - Pour Simuler le système, nous avons des opérations telles que : Résolution (polynôme caractéristique, etc.) ; Calcul de la stabilité, de l’erreur et éventuellement de la précision ; Tracé de la réponse forcée puis Affichage des différents résultats. • Evénements et traitements Nous allons juste prendre le cas très particulier d’un un acteur externe tel que "Système séquentiel". Un événement initié par cet acteur pourra être Demande des solutions, qui déclenchera la méthode Résolution de la classe "CALCUL SOLUTION", puis les méthodes d’analyse Stabilité, Erreur et Précision sur la classe "PERFORMANCE". C. Etude technique de la Simulation Graphique Nous avons développé une stratégie de simulation respectant toutes les contraintes étudiées plus haut, couvrant différents types de systèmes : SED, SCE, SDH. Le cas de la simulation des SED et SCE étant décrits en détail dans [11], nous allons résumer uniquement la stratégie pour ce qui est des Systèmes Hybrides réunissant les deux types de simulation ci-dessus, et qui prend en compte la particularité des interactions entre les deux systèmes. • Contraintes d’interface Homme/Machine - Les écrans utilisés dans notre Simulateur d’Automatismes Hybrides (SAHY) sont assez conviviaux et la disposition des objets graphiques tels que les boutons, les barres d’outils est moins encombrante. - En plus des raccourcis clavier et des "info-bulles", SAHY dispose dans chaque environnement d’une barre d’état dynamique évitant à l’utilisateur de se souvenir d’une commande. - La cohérence sémantique des écrans est assurée. Nous avons également tout mis en œuvre pour que les boutons et les icônes signifiant la même chose aient des formes, couleurs et positions standards. - Compte tenu de multiples écrans de choix dans la construction des systèmes industriels, pour éviter que l’utilisateur ne soit encombré, le nombre d’alternatives proposées dans un choix est limité au strict minimum. Le modèle de communication Homme-Machine retenu ici est présenté à la figure 5. Il est inspiré du modèle proposé dans [48]. Figure 5 Modèle de communication Homme-Machine du simulateur Hybride • Données et éléments manipulés durant la simulation graphique Nous présentons quelques types de composants qui sont manipulés durant la simulation des Automatismes Industriels Hybrides. - Les composants graphiques comme les fenêtres, listes d’accès et menus qui permettront à l’utilisateur à travers des cliques d’interagir avec le logiciel. - Les composants applicatifs à l’instar de certaines variables et attributs. - Les composants de stockage comme des tableaux (et accès aux fichiers) qui conservent certaines données ou certains résultats ou encore tout un système afin de les restituer au moment opportun. IV. MODELISATION HYBRIDE DES SYSTEMES INDUSTRIELS Après l’étude techniques, le langage de référence UML (Unified Modeling Language) est utilisé pour la modélisation objet et événementielle des SDH. La modélisation objet effectuée débouche sur une bibliothèque de classes pour la construction des composants continus (équations, fonctions de transfert) et à événements discrets (GRAFCETs), leur description ainsi que les interactions entre les éléments des Représentation Graphique E/S Cohérence entre présentation et abstraction Fonctions visibles de l’application Utilisateur Application Présentation Contrôle Abstraction e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 deux groupes. Des classes d’objets spécifiques ont été définies pour gérer les interactions. Il faut noter ici que la complexité et la nature mathématique du domaine d’application justifie bien l’approche de modélisation objet choisie. En plus des paquetages et des notes, trois familles de diagrammes composent le langage UML [49] [3]. Ils permettent de visualiser et de manipuler les éléments de la modélisation. Il s’agit de : • Structure Diagrams : Class diagram, Object diagram, Component diagram, Deployment diagram, Package Diagram, Composite Structure Diagram. • Behavior Diagrams : Use case diagram, StateChart / State Machine Diagram, Activity Diagram. • Interaction Diagrams : Sequence Diagram, Communication Diagram, Interaction Overview Diagram, Timing Diagram. Nous avons dans la foulée procédé au prototypage du système, avant d’élaborer l’architecture générale du système à mettre en place (figure 6), puis nous avons modélisé tous les point de vue du système, ce qui a fait plusieurs dizaines de diagrammes et modèles objet UML présentés dans [11]. Dans notre approche, les outils du Génie logiciel tels que le langage UML sont adaptés pour devenir des outils de réalisation en Génie automatique, tout en gardant la même rigueur de développement du Génie logiciel. La mise en œuvre a été expérimentée sur plusieurs exemples de systèmes concrets [11] [16] [17] [18]. Nous allons juste présenter quelques cas dans cet article. Figure 6 Architecture générale de l'atelier de description et simulation des Systèmes Hybrides [11] A. Modélisation Opérationnelle : Cas d’un ascenseur L’ascenseur est un dispositif électromécanique automatisé qui permet à travers un mouvement de translation rectiligne vertical de desservir un immeuble à plusieurs niveaux, dans le but de faciliter le transport des personnes et des biens. Nous considérons un ascenseur qui déplace des objets d’un point A vers un point B, et vice versa dans certaines conditions (voir figures 7 et 8). Au démarrage, le mouvement de la cabine est accéléré à partir du point A, ce qui permet d’atteindre progressivement la vitesse nominale qui est de 2m/s à un point quelconque (inconnu) que nous notons P, vitesse qui reste constante jusqu’à l’ordre de ralentissement à partir d’un point Q situé à la coordonnée x=40. Alors, la vitesse décroît à partir de ce point jusqu’à ce qu’on atteigne le point B (x=50), et l’ordre d’arrêt est donné. Figure 7 Phases de déplacement de l’ascenseur ARCHITECTURE GENERALE ATELIER DE SIMULATION D’AUTOMATISMES INDUSTRIELS HYBRIDES SYSTEME DISCONTIN. SYSTEMES D’EQUATIONS SYSTEME CONTINU SYSTEME CONTINU SYSTEME DISCONTIN. INTERACTION SCHEMAS BLOC FONCTIONS DE TRANSFERT DESCRIPTION LOGIQUE GRAFCETRESEAUX DE PETRI DESCRIPTION ORGANIGRAMME CONSTRUCTION SYSTEME NON ASSERVI SYSTEME ASSERVI DESCRIPTION SYSTEME SEQUENT. SEQUENCE PARALELLE COMPARATEUR BIPOLE TRAITFLECHE SIMULATION SYSTEME SEQUENT. INTERACTION ETAPELIEN TRANSITION SEQUENCE UNIQUE SEQUENCE SELECTIVE SYSTEME CONTINU SYSTEME DISCONTINU INTERACTION SYSTEME SEQUENT. EQUATIONS DIFFERENTIEL. EQUATIONS ALGEBRIQUES A P Q B X=0 V=2ms-1 X=40 X=50 Phase d’accélération Phase de vitesse constante Phase de décélération e-STA copyright 2011 by see Volume 1, N°1, pp 31-43 Figure 8 Représentation de la vitesse d’évolution de l’ascenseur Le système est hybride et est constitué : - d’une partie pilotage (séquentielle), - d’un asservissement de vitesse qui représente la partie continue (opérative). 1) La partie Opérative Elle est constituée d’une génératrice à excitation indépendante, d’un moteur à courant continu qui entraîne la cabine. Le diagramme fonctionnel a la configuration de la figure 9. Figure 9 Diagramme fonctionnel simplifié du Système Asservi Equations du système : - L’accélération étant donnée par a, - On a la vitesse du déplacement de la cabine notée v, dv / dt = a - Le déplacement lui-même est donné par la position x : dx / dt = v 2) La partie Commande Elle est décrite par un GRAFCET qui interagit justement avec la partie continue du système. Le GRAFCET sera présenté lors de la simulation plus loin. Une étude plus complète et la simulation intégrale de l’ascenseur (GRAFCET et équations différentielles) sont effectuées dans [11]. 3) Macro-objets recensés et opérations La simulation objet pourra se faire à l’aide de processus, encapsulant les « objets » de la figure 10. Il s’agit ici uniquement de modules de base. Le lecteur trouvera la description détaillée de toutes les propriétés des différentes classes générales et spécifiques (attributs statiques et méthodes) dans [11]. 4) Interactions entre partie commande (PC) et partie opérative (PO) La partie commande (représentée essentiellement par le GRAFCET) communique avec la partie opérative (décrite par des variables continues et équations différentielles). On a à faire ici à un système « bouclé » : - La consigne de vitesse (Vc) est fournie à chaque fois par la partie commande, ainsi que l’ordre STOP. Ils constituent ainsi les entrées de la partie opérative. - Le modèle de la partie opérative met en oeuvre la résolution des équations différentielles. Puis les résultats obtenus (Vr et Xr) sont transmis à la partie commande, pour lui permettre d’ajuster la consigne. Nous mettons ainsi en évidence le mécanisme d’asservissement dans ce système hybride. Nous présentons ces différentes opérations à la figure 11. Figure 10 Macro-objets recencés pour la simulation 5) Collaboration entre objets Les différents diagrammes génériques conformes au métamodèle UML ont été modélisés pour toutes les classes et sous-classes, mais ne seront pas présentés dans cet article à cause de la limitation du nombre de pages. Le schéma de la figure 12 montre les échanges de messages effectués entre les différents macro-objets. Il met en évidence les différents processus et échanges durant la simulation hybride. Notons que les deux simulateurs sont synchronisés à travers une horloge commune gérée par un processus intermédiaire. 6) Séquencement d’opérations Nous présentons le diagramme UML correspondant, qui ressort l’organisation concrète des échanges entre objets. Le séquencement relatif (car nous sommes en mode multi- processus) des messages et des conditions d’échanges, apparaît à la figure 13. V (m/s) A P Q B A = 0.25ms-1 A= 0 A = - 0,25 ms-1 2 t (s) k / (1+TP)( M ) V + - V X 1/P U SousSYSTEME_SEQUENTIEL - GRAFCET ( etapes / transition ) - Interaction_Seq-Cont - Réel TS + Demarrer ( ) + ModifierTemp_TS ( ) + Determiner_Vc ( ) + Representer ( ) + Stopper ( ) SousSYSTEME CONTINU - Réels: A, V, X - Interaction_Cont-Seq - Réel TC + ModifierTemp_TC ( ) + Determiner_A ( ) + Resoudre_Equations ( ) + Calculer_V ( ) + Calculer_X ( ) + Tracer_Courbes ( ) INTERACTIONS - Réel : Vc (consigne fournie ← Seq) - Réel : Vr, Xr (résultat renvoyé ← Cont) - Booleen : Arret - Entier : T (horloge de référence) + Lire_Parametres ( ) + ModifierTemp_T ( ) + Lire_Vc ( ) / + Ecrire_Vc ( ) + Lire_Vr ( ) / + Ecrire_Vr ( ) + Lire_Xr ( ) / + Ecrire_Xr ( ) + Modifier_Arret ( 0 / 1 ) e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 Figure 11 Modèle de Communication par messages entre Partie Commande (PC) et Partie Opérative (PO) Figure 12 Modèle de Collaboration entre macro-objets (ascenseur) B. Un deuxième exemple de Modélisation Opérationnelle : Cas du Laminoir Pour le cas d’un Laminoir (déjà brièvement présenté à la section II), tous les modèles ont été décrits et simulés avec succès [11], en restant dans une approche de développement entièrement Hybride. Nous allons juste présenter les différentes interactions et synchronisation des messages échangés à la figure 14. On y retrouve les différents signaux et messages échangés entre sous-systèmes et modules participants durant la simulation hybride. A travers ces différents exemples, nous venons de montrer comment peut être organisée une modélisation mixte et une simulation hybride pour des systèmes automatiques. A ce stade, la voie est donc ouverte pour l’implémentation. V. IMPLEMENTATION ET RESULTATS L’environnement de simulation développé en Java [50] est « multithreading » et inclut un simulateur d’équations, un simulateur de GRAFCET et une interface graphique de construction et de description. L’application a été baptisée SAHY (Simulateur d’Automatismes HYbrides). Stratégie de simulation - La simulation des systèmes séquentiels (GRAFCET) revient tout simplement à représenter de manière progressive, l’évolution des différentes étapes du GRAFCET dessiné graphiquement par l’utilisateur, en respectant les caractéristiques des paramètres qui sont entrés par ce dernier. Ainsi, une étape active sera renforcée d’une couleur et d’un point noir, qui doit la distinguer des autres étapes du GRAFCET. Cette étape reprendra sa couleur normale et le point noir disparaîtra, lorsqu’elle sera inactive. L’utilisateur doit pouvoir à tout moment stopper le processus de simulation pour évaluer certains effets. PC Démarrage 1 Attente (1) 2 Accélérer (2) 3 Vitesse constante (3) 4 Décélérer (4) 5 Arrêter Vr = 2 ms-1 Xr = Q Xr = B PO - A (accélération) - V (vitesse) - X (position) • DéterminerAccélération - si (Vc-V==0) alors A= 0 - si (Vc-V>0) alors A= 0,25ms-1 - si (Vc-V<0) alors A= -0,25ms-1 • CalculerVitesse - dV / dt = a - Envoi du resultat ( Vr ) • CalculerPosition - dX / dt = V - Envoi du resultat ( Xr ) Vc = 2 ms-1 Vc = 2 ms-1 Vc = 0 ms-1 STOP Vr Xr Vr Xr SDH : Ascenseur SSysContinu Determiner_A Resoudre_Equat. Calculer_V Calculer_X Tracer_Courbes paramètres Simuler Interactions SSysSequentiel Lireparamètres Lire_Vc Ecrire_Vr Ecrire_Xr Modifier_TCModifier_TS Lire_Vr Lire_Xr Ecrire_Vc Modifier_Arret Demarrer Représenter Determiner_Vc Stopper Simulation Continue Simulation Séquentielle Modifier_T e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 Figure 13 Séquencement d’opérations entre les macro-objets (ascenseur) - De façon graphique, la simulation des systèmes continus, consiste à représenter les courbes qui schématisent les solutions des équations, à afficher des résultats et performances du système tels que : temps de réponse, stabilité, etc. Mais avant, l’utilisateur devra entrer certains paramètres pour la résolution des équations. Ces courbes sont généralement multicolores, ceci dans le but de mettre en évidence certains aspects de la simulation. - La simulation des systèmes hybrides (séquentiels et continus) est en fait la réunion des deux types de simulation décrits ci-dessus et prenant en compte cette fois les point de synchronisations éventuelles entre les deux systèmes. A. Simulation de l’ascenseur Pour l’ascenseur, nous avons effectué une simulation globale permettant de suivre en temps réel les consignes et les grandeurs continues pendant les différentes phases. A la fin, le simulateur de GRAFCET se stabilise au niveau de l’action finale (Arrêter). Après son « démarrage », la simulation de l’Ascenseur intègre à la fois celle des différents GRAFCETs (Grafcet général et Grafcet des macro-étapes) et celle des équations de la partie opérarive. Les figures 15 et 16 présentent respectivement la Simulation du GRAFCET de coordination du fonctionnement de l’ascenseur, et la Simulation de la MacroEtape Démarrage. Après que la vitesse nominale fournie par la commande sous forme de consigne aura été atteinte, l’ordre est donné de maintenir celle-ci constante jusqu’à ce qu’on atteigne une certaine coordonnée (figure 17). La figure 18 illustre la décélération de la position "X", avec une vitesse "V" qui décroît et une accélération à valeur négative. Le simulateur de GRAFCET se trouve à l’étape 3. Détermination des performances du système : A l’issue de la simulation, les performances du système (rapidité, erreur, stabilité) peuvent être déterminées grâce aux paramètres calculés. Nous présentons à la figure 19, le cas de la Rapidité. syshyb1 : Systeme Hybride Saisie paramètres Demande paramètres Utilisateur Clique sur Simuler inter1 : Interactions sysseq1 : SSysSequentiel syscont1 : SSysContinu Acheminer paramètres DémarrerSimulateurSeq DémarrerSimulateurCont Modifier_TS Ecrire consigne Vc Transfert consigne Vc Déterminer A Calculer V Calculer X Ecrire Vr & Xr TracerCourbe Afficher Résultats Transfert de Vr et Xr Si Vr == 2 ms-1 Vc = 2 ms-1 Si Xr == Q Vc = 0 Si Xr == B Envoyer STOP Acheminement du STOP Restitution à l’utilisateur Modifier_TC Lire consigne Vc Lire résultats Xr & Vr Arret Simulation Tantque simulation Modifier_T e-STA copyright 2011 by see Volume 8, N°1, pp 31-43 Figure 14 Répertoire des Interactions et communication entre modules du système durant la simulation « USER » ProcessDataReady SelectProcess SpecimenInPosition Mill Reversed PC O ProcessDataReady 0 Initial (1) 1 Set Mill TempCountDown = 0(2) 2 Set Speed Ready for Next Roll (Load=0)(3) 3 Process Selection O SelectProcess = Reversible & Get MaxPass(11) 10 SetTemp & SetTime Temperature & Time(12) 11 Open Gap Gap Opened(13) 12 Roll Roll Done(14) 13 Reverse Direction O Mill Reversed(15) 14 Monitor CountDown TempCountDown=0 & TimeCDown=0(16) 15 Re-Roll O SelectProcess = Continuous(4) 4 SetTemp & SetTime Temperature & Time(5) 5 Open Gap Gap Opened(6) 6 Roll 1 First Roll Done(7) 7 ReInsert Metal O Specimen in Position(8) 8 ReduceGap & Monitor CountDown TempCountDown=0 & TimeCountDown=0(9) 9 Roll 2 (10) Second Roll Done 16 End of Cycle PassCount=MaxPass PassCounthttp://www.engineeringletters.com/issues_v13/issue_2/index.html. [18] Noulamo T., Tanyi E., Nkenlifack M. et Lienou J., Modèle métier et architectures génériques pour la commande et la surveillance des systèmes dynamiques, Proc. Of CIFA 2008, Conf. Int. Francophone d’Automatique, Bucarest, Roumanie, 3-5 septembre 2008. [19] Nkenlifack M. et Tanyi E., HAD: Extending UML for the Modeling of Hybrid Control Systems, Poster in ECOOP, 17th European Conference on Object-Oriented Programming, July 21-25, 2003, Darmstadt University of Technology, Germany, http://www.st.informatik.tu- darmstadt.de:8080/ecoop/posters/index.phtml [20] Noulamo T., Tanyi E., Nkenlifack M., Lienou J. P., Domain specific, Model and generic architectures for control and monitoring of dynamic system, Journal: ADVANCES IN COMPUTER SCIENCE ANDENGINEERING, PUSHPA PUBLISHING HOUSE, ISSN 0973- 6999, INDIA, 2009. [21] Brenier H., Les spécifications fonctionnelles : automatismes industriels et temps réel, Dunod, France, 2001. [22] Lipschutz S., Mathématiques pour informaticiens : Cours et problèmes, série Schaum, McGraw-Hill Inc., New York, 1983. [23] //www.sciences.univ-nantes.fr/physique/perso/aloui/index.htm, Cours sur les méthodes numériques de résolution des équations différentielles linéaires et non linéaires, juin 2001. [24] Ayres F., Théorie et applications du calcul différentiel et intégral, Schaum, McGraw-Hill Inc., New York, 1979. [25] CEI-IEC (Commission Electrotechnique Internationale), GRAFCET specification language for sequential function charts, Norme Internationale IEC 60848, 2002. [26] David R. et Alla H., Du Grafcet aux Réseaux de Pétri, Hermès, France, 1997. [27] Gueguen H. et Lefebvre M., A comparison of mixed specification formalisms, 4ème Conférence Internationale sur l’Automatisation des Processus Mixtes (ADPM’00), 2000, Dortmund, Allemagne. [28] Gueguen H., Valentin-R C., Pascal J., Soriano T. et Pingaud H., Modèles mixtes et structuration des modèles complexes, in Systèmes Dynamiques Hybrides, Traité Systèmes automatisés, Information commande et communication, Hermes, Paris, 2001, pp. 157-187. [29] //www.vtt.fi/, Site Web de l’outil APROS, 2003. [30] //www.abb.com/usa/Corporate/Product/ibs/index.asp, Site Web de l’outil SIMCON-X, 2003. [31] //www.traxcorp.com/, Site Web de l’outil ProTRAX, 2003. [32] Mokhtari M., Mathlab 5.2 & 5.3 et Simulink 2 & 3 pour étudiants et ingénieurs, Springer-verlag, 2000. [33] //www.mathworks.com/, Site Web de MATLAB et SIMULINK, 2003. [34] Carpanzano E. et Ferrarini L., Simulation of Hybrid Systems in Industrial Process Control, 4ème Conférence Internationale sur l’Automatisation des Processus Mixtes, 2000, Dortmund, Allemagne. [35] //www.psenterprise.com/gPROMS/, Site Web de l’outil GPROMS, 2003. [36] //www.yoric.mit.edu/abacuss/, Site Web de l’outil ABACUSS, 2003. [37] //www.dynasim.se/, Site Web de l’outil Dymola, 2003. [38] Urquia A. et Dormido S., Object Oriented Design of Reusable Model Libraries of Hybrid Dynamic Systems – Part Two: A Case study, Mathematical and Computer Modeling of Dynamical Systems, Vol.9, N°1, pp 91-118, 2003. [39] Thevenon L. et Flaus J., Modular and a-causal representation of complex Hybrid systems for simulation, 4ème Conférence Internationale sur l’Automatisation des Processus Mixtes (ADPM’00), 2000, Dortmund, Allemagne. [40]//www.modelica.org, Site Web de l’outil Modelica, 2003s [41] Engell S., Modeling and Analysis of Hybrid Systems, Proceedings of the IMACS Symposium on Mathematical Modeling, 1997, pp. 17-32. [42] Elmqvist H., Mattson S. et Otter M., Object-Oriented and Hybrid Modeling in Modelica, 4ème Conférence Internationale sur l’Automatisation des Processus Mixtes, 2000, Dortmund, Allemagne. [43] Manuel A., Remelhe P. et Engell S., Structuring Discrete-Event Models in Modelica, 4ème Conférence Internationale sur l’Automatisation des Processus Mixtes (ADPM’00), 2000, Dortmund, Allemagne. [44] http://www.ecosimpro.com/, Site Web du simulateur hybride d’EcosimPro, 2003. [45] Printz J., Génie logiciel, Les techniques de l’ingénieur, Doc H3208. [46] Schach S., Practical Software Engineering, IRWIN, Boston, 1992. [47] Nkenlifack M., Spécifications orientées objets de circuits électroniques, Mémoire de fin de DEA, ENSP, Université de Yaoundé I, Cameroun, 1999 [48] Weidenfeld G., Techniques de base pour le multimédia (enseignement de l’informatique), Ed. Masson 1997. [49] //www.omg.org, Site de l’OMG, manuel de référence UML 2.0, 2005. [50] Delannoy C., Programmer en Java, Eyrolles, France, 2001 [51] //www.hyprotech.com/, Site Web de l’outil HYSYS, 2003. [52] Traoré S., Une Approche Orientée Objet dans la Simulation des Systèmes Dynamiques Semi-Continus, Thèse de Doctorat de l’Université de Rennes I, Supelec, Rennes, France, 1994. e-STA copyright 2011 by see Volume 8, N°1, pp 31-43