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