You are on page 1of 7
Chapitre 1 : Développem 1 des systémes de contréle-commande 1. Introduction 1.1. Definitions ‘Un systéme de contréle-commande regoit des informations " édé Sa ane cease tart eae ang se ce ed Sanne eens Systeme informatique Systeme de controle-commande Figure 1. ~ Représentation schématique dun systéme de contréle-commande. L'interaction du systéme de contréle-commande avec le procédé extérieur a piloter se décompose en deux parties (figure 2) : observations par 'intermédiaire de capteurs (sensors) qui permettent d’obrenir des informations Sous la forme des interruptions (information tout ou rien) ou des mesures (information continue) en provenance du procédé physique ; + detions réalisées par lintermédiaire d’actionneurs (actuators) ui permettent d'agir sur le procédé physique sous la forme de commancdes (modification d'état physique du systéme) ou simplement sous la forme d'un affichage (diodes, lampes, afficheurs, écrans, etc.) Mesures =, Interruptions Procede externe a piloter ‘Systeme informatique de contiole-commande, z= Ff Commandes ‘Affichages Figure 2~ Représentation schématique de interaction dupes proaique pte et du sjteme de conle-conmande. actionneur Un systéme temps réel est un systeme de contréle-commande dans tequel Vevactude des applications ne Uopend pas seulement du résultat mais aussi dv femps ‘auquel ce résultat est pi temporelles de Uapplication ne sont pas respectées, on parle de défoiltance du systéme ». Ces coniraintes temporelles peuvent étre de deux types : > + contraintes temporelles relatives ou laches (temps téel mou : soft real-time) : les fautes temporelies ont tolérables (ex. : Jeux vidéo, applications multimédia, téléphonie mobile...) = sonouintes temporelles strictes ou dures (temps réel dur ; hard real-time) : les foutes temporelies ne Sont pas tolérables (ex. : avionique, véhicules spatiaux, automobile, transport ferroviaire..) Systeme temps reel dur : doit toujours produire le résultat attendu au moment approprié 1.2 Caractéristique temporelle des systémes de contréle-commande Le respect des contrainte temporelles d'une application de contréle-commande dépend essentiellement de 1s dynamique du proceds, Cette caractéristique temporelle peut etre trés diferente suivant I'application (figure 4): Milliseconde : systémes radar, systémes vocaux, systémes de mesures... Seconde : systemes de visualisation, robotique... Minute : chafine de fabrication... Heure : contréle de réactions chimiques... Exemple d'un systéme avec boucle de contréle + Objet contrélé : cuve contenant un liquide + Capteurs : température de la cuve et flot de vapeur + Actionneur : valve modifiant le debit de vapeur s tected se pont se controlling computer system temperature sensor control valve for steam flow low sensor sieam pipe controlisd =| object Fi . 3 Systéme avec boucle de Controle 1.3 Quelques exemples d’applications © Robot de production : un robot, réalisant une activité spécifique (peinture, assemblage, tri) sur une chatne de production, doit effectuer son travail en des temps fixés par la cadence de fabrication. S'il agit trop t6t ou trop tard, objet manufacturier traité sera détruit ou endommagé conduisant & des conséquences financiéres ou humaines graves (oubli d'un ow plusieurs rivets sur un avion). Robot d’exploration : ce robot doit se déplacer dans un environnement en principe non connu (zone radioactive aprés un accident, planéte, épave sous le mer...). Il est important qu’il pulsse réagir aux obstacles fixes ou mobiles afin de ne pas conduire a sa perce ‘Téléphone mobile ; le systéme de contrOle-commande doit remplir plusieurs fonctions dont certaines ont des contraintes temporelles fortes pour avoir une bonne qualité de service (QoS : Quality of Service ). Ainsi, la premiére fonction est de transmettre et de recevoit les signaux de la parole (577 us de parole émises toutes les 4,6 ms et 577 ls de parole regues toutes les 4,6 ms a des instants differents). trole-commande Chapitre 2: Architecture logicielle des appl 2.1 Architecture multitache Le comportement concurrent des événements et grandeurs physiques externes améne @ décrire Uenvironnement comme un systéme fortement paralléle, Cela conduit naturellement d adapter les méthodes de conception et de réalisation du systéme de contréle-commande d'un tel environnement 4 ce parallélisme. Aussi, Varchitecture la mieux adaptée pour répondre d ce comportement poralléle du procédé externe est une architecture multitiche. Nous pouvons définir la tdiche ou activité ou processus comme « une entité d'exécution et de structuration de lapplication ». Cette architecture logicielle multitache facilite la conception et la mise en euvre de lapplication réalisée. operaturs CY Reseaux Programmation multitache ‘Consignes inmertace Procede ‘enireesisorties physique externa Intertace hommefmachine Visualisation Unites de stockage Figure 4. — Architecture logicielle d’une application de contréle-commande multitache. L’architecture logicielle d'une application de contréle-commande multitache est indiquée par la figure 4. ‘Nous pouvons classer les taches ou activités selon les groupes suivants : Téiches d’entrées/sorties : ces taches permettent d’accéder aux données externes par lintermédiaire de cartes dentrées/sorties et ensuite de capteurs et d'actionneurs directement liés au procédé géré. Ges tdches peuvent étre activées de facon réguliére ou par interruption. Téiches de traitement : ces tiches constituent le caeur de l’opplication. Elles intégrent des traitements de signaux (analyse spectrale, corrélation, traitement d'images, etc.) ou des lois de commande (regulation tout ou rien, régulation du premier ordre, régulation PID, etc.) Téiches de gestion de l'interface utilisateur : ces taches permettent de présenter l'état du procédé ou de sa gestion @ l'utilisateur En réponse, l'opérateur peut modifier les consignes données ou changer les commandes. Taiches de communications : ces taches sont destinées d gérer les messages envoyés ou recus @ travers un ou plusieurs réseaux ou bus de terrain. Si ce type de tdches existe, l'application est dite distribuée ou répartie. Taches de sauvegarde : ces téches permettent de stocker Iétat du systéme d des instants fixés. Cette sauvegarde peut étre utilisée a posteriori pour analyser le fonctionnement de l'application ou lors d'une reprise d’exécution & une étape précédente. Aprés Vanalyse et la conception de l’application, nous obtenons un ensemble de taches ou activités qui ‘coopérent afin de réaliser le contréle-commande du procédé géré. Ces taches appartiennent aux différents 3 groupes utilisoreur, téches de communication: Pay listes préc demment: taches d'entrées/sorties, taches de traitement, tiches de gestion de l'interface IS et tches de sauvegarde. Les tdches obrenues, qui constituent pplication de contréle-commande, ne sont pas des emtités d'exécution indépendantes. En effet, certaines tiches sont connectées vers 1 ‘extérieur pour les entrées/sorties, De plus elles peuvent étre liées par des relations de type suivant (voir figure 6) synchronisation : cela se traduit par une relation de précédence d’exécution entre les tdches ; Les aches temps-réel doivent souvent se synchroniser et se coordonner lors de l'utilisation de ressources communes. Une téiche doit attendre qu’un traitement se termine. Une tiche doit attendre qu'une resource matérielle (ou logicielle) se libre. Les tdches doivent s’exécuter dans un ordre précis (notion de précédence). ‘communications : 2 la notion de précédence, traduite par la synchronisation, s ajoute le transfert de données entre les taches ; artage de ressources : les taches utilisent des éléments mis en commun au niveau du systéme comme des zones mémoire, des cartes d'entrées/sorties, cartes réseau, etc. Certaines de ces ressources, comme par exemple pour avoir un fonctionnement correct, les zones mémoire, ne sont as ou ne doivent pas étre accessibles, par plus d'une téche a la fois, elles sont dites ressources critiques. Enyee Tache § Figure 5 Représentation schématique de Varchitecture multitache dune application de contréle-commande. + Modéles d’exécution et ordonnancement Cette architecture logicielle peut étre vue comme un ensemble de téches synchronisées, communicantes et Partageant des ressources critiques. Le réle essentiel du systéme informatique est donc de gérer Trenchatnement et la concurrence des tdches en optimisant l'occupation du processeur, cette fonction est appelée Vordonnancement. Nous pouvons distinguer deux modéles d’exécution de ces systémes de contréle-commande : Vexécution dite synchrone et l’exécution asynchrone. ; Exemple : considérons une application constituée de plusieurs taches pour gérer un procédé et qui intégre, fen particulier les deux taches suivantes : Voccurrence de tout événement par le systeme Dans Vexemple proposé, nous pouvons setive que lors de Ia fin de la tache Dons le medéle d'exécution synchrone, la perception de n'est pris qu'aprés la fin de execution de ta téche en cours. 1 Constater que [a prise en compte d'un signal dvalerte n'est effe « Lecture_consigne » (figure 6). Alarme — Application iT) Lecture consigne_! ras Occurrences | ‘observees \ perle systeme a Ch’ JS Reaction percve comme immesioe ‘Occurrences parle sysiome ‘emises parle procédé \ res \ clever ene NY Reaction poreue comme dee pare procedt Figure 6 ~ Modéle d’exécution synchrone d'une application de contréle-commande Dun point de vue du procédé, la réaction est percue comme différée, alors que du point de vue du systéme informatique, elle est percue comme immédiate, L'occurrence des événements externes a donc été artificiellement synchronisée avec le systéme informatique, d’oit le nom d'exécution synchrone. Ce retard ‘peut affecter la prise en compte de n'importe quel événement, quelle qu’en soit la gravité pour l'application. La capacité du systéme d appréhender un événement externe est caractérisée par la durée de la tache la plus Tongue puisque les téches sont non interruptibles ou non préempribles. Dans le cas du modéle synchrone d'exécution, nous avons un systéme d’ordonnancement complétement prévisible et, en conséquence, il est possible en faisant une analyse exhaustive de l’exécution de produire tune séquence d’exécution qul est jouée de fagon répétitive. Cette étude de la séquence est appelée analyse de Pordonnancement hors ligne. L’ordonnancement peut se réduire @ un séquencement. Dans le modéle d’exécution asynchrone, l'occurrence de tout événement est immédiatement prise en compte par le systeme pour tenir compte de l’urgence ou de "importance. Dans lexemple propose, nous pouvons constater que ia prise en compte d'un signal d'alerte est immédiate sans attendre la fin de la tache « Lecture_consigne » (figure 7). }——_—___» plication bi Lecture_constgne Lecture _consigne Occurrences ‘observées + par le systeme ene Suspension dun rakerment en cours ‘emises parle procede Cae temps Clavier Alerte Les evenements sont immediaternent percus pa le systeme Figure 7— Modele d’exécution asynchrone'd une application de controle-commande, La prise en compte de I'événement « Alarme » est identique pour le procédé et le systéme informatique. Lioccurrence des évenements externes n’est pas synchronisée avec le systeme informatique, d’ou le nom d’exécution asynchrone, Dons ce contexte, nous avons des tiches qui sont interruptibles ou préemptiles. En conséquence, Vordonnancement n'est pas totalement prévisible et l'analyse de I'exécution des taches doit se faire en ligne par simulation ou par test. Cela nécessite l'utilisation d'un gestionnaire centralisé des évenements et de la decision d'exécution : exécutif ou noyau temps réel. Dans ce cours, nous intéressons plus particuliérement aux systémes asynchrones composés de taches interruptibles ou préemptibles avec un ordonnancement en ligne. Ainsi, Uarchitecture logicielle de application est composée de plusieurs tches réalisées par le concepteur et d'un environnement spécifique le noyau temps réel, que nous allons décrire. Le point essentiel de cet environnement est l'ordonnanceur qui permet d'affecter a tout instant le processeur @ une tache afin de respecter l'ensemble des contraintes temporelles attachées la gestion du procédé. - 2.1 Exécutif ou noyau temps réel L’exécutif ou noyau temps réel peut étre considéré comme un systéme d'exploitation de petite taille dédié aux applications de contréle-commande. Les systémes en temps réel sont concus pour surveiller, interagir avec, contréler ou réagir a Venvironnement physique. L'interface utilise des capteurs, des systémes de communication, des actionneurs et d'autres dispositifs d'entrée et de sortie. Dans de telles circonstances, il est nécessaire de réagir rapidement aux informations recues. Les retards peuvent s'avérer dangereux voire catastrophiques. Par conséquent, nous définirons un systéme en temps réel comme étant celui ob 1. Le temps auquel une réponse est donnée est aussi important que exactitude de cette réponse, et 2, Les conséquences d'une réponse lente (retardée) sont tout aussi dangereuses que celles d'une réponse incorrecte. Une application temps réel étant par définition un systéme multitache, le role essentiel du noyau temps réel est donc de gérer I’enchainement et la concurrence des taches en optimisant l’occupation de Punité centrale du syste informatique. Les principales fonctions d’un noyau temps réel peuvent étre scindées en trois groupes : 1. gestion des entrées/sorties (gestion des interruptions, gestion des interfaces d entrées/sorties, gestion des réseaux de communications...) ; 2, ordonnancement des taches (orchestration du fonctionnement normal, surveillance, changements de mode, traitement des surcharges...) ; relations entre les taches (synchronisation, communication, accés d une ressource critique en exclusion mutuelle, gestion du temps...). Il important de noter que les tdches sont les unités actives du systéme; le noyau temps réel n'est actif que lors de son appel. Une téche activée peut appeler le noyau temps réel par une requéte. es différentes requétes sont servies par des modules du noyau temps réel appelées primitives. Ensuite le noyau temps réel réactive une tache de Wapplication selon l’algorithme d’ordonnancement utilisé (figure 8). Tache! | Requite Activation > Noyau > temps reel Execution Execution Execution programme _primuivos et ordonnanceur programme Figure 8 - Interaction entre les «aches et le noyau temps réel Le noyau temps réel centralise toutes les demandes dactivation des taches et gére des tables lui permettant de comparer les priorités (ou les urgences) et l'état de ces diverses tches, ainsi que I’état d’occupation des ressources, La décision d’activation d'une tache étant prise, le noyau temps réel lance les modules de programmes correspondant & cette tiche et lui alloue les ressources disponibles. La tache activée occupe le processeur jusqu’a la fin de son exécution sous le respect des conditions suivantes : + Elle ne réalise pas d’opérations d’entrées-sorties * Les ressources utilisées sont disponibles. + Aucun événement extérieur ne revendique le déroulement d'une téche plus prioritaire. Nous pouvons done décrire schématiquement le contexte complet d’exécution d'une application temps réel avec les deux parties : téches et noyau temps réel (figure 9). ‘Application Tachei ‘Activation Primutves Figure 9 - Architecture de l'application : tdches et noyau temps réel

You might also like