Automatismes et SED
Transcription
Automatismes et SED
Automatismes et SED Mise en oeuvre RdP : mise en oeuvre Mise en œuvre = traduction du modèle formel RdP en un modèle d'exécution. Objectifs : { { Simulation, animation Commande Types de mise en œuvre : [email protected] { Mise en œuvre logicielle { Mise en œuvre matérielle Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 2 RdP : mise en oeuvre [email protected] Mise en œuvre logicielle { Langage structuré { Moniteur multitâches { Joueur de réseaux de Petri Mise en œuvre matérielle { Expression logique – Bascules D { Langage VHDL Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 3 Automatismes et SED Mise en œuvre logicielle Mise en œuvre logicielle [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 5 Mise en œuvre logicielle Joueur de réseaux de Petri Rmq : c'est le "simulateur" utilisé ds la 1ère partie du cours. { Modélisation graphique ou textuelle. { Génération (automatique) de structures de données décrivant le RdP. { Interprétation de ces structures pour l'exécution du modèle. Souvent : les joueurs de RdP permettent l'exécution pas à pas ou une simulation aléatoire. Souvent : les joueurs de RdP sont associés à des logiciels d'analyse des RdP. [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 6 Mise en œuvre logicielle Langage structuré { Cycle de fonctionnement : 1. 2. 3. { Décomposition des RdP en MEF (machines à états finis) : réalisation guidée par le marquage ⇒ { [email protected] Lecture des entrées (état des capteurs du procédé) Exécution de l'application logicielle de contrôle Sorties : commandes des actionneurs Le marquage peut être représenté par un numéro (le n° de la place marquée) Codage d'une MEF en une structure switch/case Si synchro, gestion de ressources, ..: variables partagées.. Si pas de décomposition en MEF : réalisation guidée par les transitions Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 7 Mise en œuvre logicielle Exemple du codage d'une MEF : Réalisation guidée par le marquage switch (Etat_MEF) { case P0 : if (t0) Etat_MEF=P1; break; case P1 : if (t1) Etat_MEF=P2; if (t2) Etat_MEF=P0; break; case P2 : Etat_MEF=P0; break; (instantané) } [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 8 Mise en œuvre logicielle Exemple du codage d'une MEF : Réalisation guidée par le marquage switch (Etat_MEF) { case P0 : if (t0 && (Ressource==1)) {Etat_MEF=P1; Ressource=0;} break; case P1 : if (t1) {Etat_MEF=P2; Ressource=1;} if (t2) {Etat_MEF=P0; Ressource=1;} break; case P2 : Etat_MEF=P0; break; (instantané) } [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 9 Mise en œuvre logicielle Exemple sans MEF : Réalisation guidée par les transitions if (p0 && Rsrc) { if (t0) {p1=1; p0=0; Rsrc=0;} } if p1 { if (t1) {p2=1; Rsrc=1; p1=0;} else if (t2) {p0=1; Rsrc=1; p1=0;} } if p2 {p0=1; p2=0;} (instantané) [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 10 Mise en œuvre logicielle Structure et exécution du code avec MEF, monotâche 1 - Lecture des entrées : valeurs des capteurs MEF1 2 - Application de contrôle MEF2 MEF3 3 - Sorties : commandes des actionneurs [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 11 Mise en œuvre logicielle Moniteur multitâches { Permet de facilité la mise en œuvre des RdP après décomposition en plusieurs MEF. ⇒ Taches de commande (les MEF) ⇒ Communication entre tâches ⇒ Moniteur multitâche pour la gestion de l'exécution des tâches Rôle du moniteur multitâches : { Création /destruction des tâches { Ordonnancement et allocation de la ressource CPU { Gestion exécution (interruption, cgmt contexte, ..) { Communication entre tâches [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" Cf cours Temps Réel 12 Mise en œuvre logicielle Structure et exécution du code avec MEF, multitâche Moniteur multitâche Gestion de l'exécution des tâches lancement / suspension Tâche 1 Tâche 2 1 - Entrées : capteurs liés à MEF1 2 - Application de contrôle : MEF1 3 - Sorties : actionneurs liés à MEF1 [email protected] Tâche 3 1 - Entrées : capteurs liés à MEF2 2 - Application de contrôle : MEF2 3 - Sorties : actionneurs liés à MEF2 1 - Entrées : capteurs liés à MEF3 2 - Application de contrôle : MEF3 3 - Sorties : actionneurs liés à MEF3 Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 13 Automatismes et SED Mise en œuvre matérielle Mise en œuvre matérielle Matérialisation des places par des bascules et écriture directe ou indirecte des équations permettant de commander chaque bascule en fonction de l'évolution du RdP. Implémentation par bascules D (codage des places) Equations : { { par expressions logiques par langage VHDL Pour la mise en œuvre matérielle, seuls les RdP de bases sont aisément implémentables : binaires (sauf), pondérés. [email protected] Polytech' Montpellier, ERII4 - Cours "Automatismes et SED" 15