Modélisation de la commande de la machine Indexa...
-
Upload
truongphuc -
Category
Documents
-
view
214 -
download
0
Transcript of Modélisation de la commande de la machine Indexa...
Laboratoire I3S : équipe SPORTS 1
Modélisation de la commandede la machine Indexa par SyncCharts
D. Gaffé et I. Schmid
Laboratoire Informatique Signaux et Systèmes de Sophia-Antipolis
http://www.i3s.unice.fr/~map/WEBSPORTS/index.htm
Laboratoire I3S : équipe SPORTS 2
Plan
§ Introduction sur l’approche synchrone
§ Présentation du modèle SyncCharts
§ Application à la machine Indexa- Simulation- Modèle de comportement- Preuves
§ Conclusion
Laboratoire I3S : équipe SPORTS 3
Approche Synchrone
Se rencontrent dans :Se rencontrent dans :
- Conduite de procédés Industriels ( S.A.P. )- Robotique- Aéronautique et Militaire- Télécommunication ( Protocoles)- Vie de tous les jours
systèmeStimuli Réaction
Se caractérisent par :Se caractérisent par :
- Contraintes temporelles fortes- Prévisibilité et sûreté- Fiabilité- Robustesse- Parallélisme et répartition
Temps connu ou borné < T
Stimuli
Réaction
Système réactif temps-réel
Laboratoire I3S : équipe SPORTS 4
Approche Synchrone
üLe Synchrone de l’AutomaticienüüLe Synchrone de l’AutomaticienLe Synchrone de l’Automaticien
Évolution synchrone:Évolution simultanée de tousles états locaux du système(ex: compteur synchrone)
Entrées synchrones:Prise en compte des entrées
à des dates précises
- Date définie par la variation d’un signal spécial de synchronisationsouvent appelé horloge
- Découplée de la variation des entrées
Laboratoire I3S : équipe SPORTS 5
Approche Synchrone
üLe Synchrone de l’InformaticienüüLe Synchrone de l’InformaticienLe Synchrone de l’Informaticien
Évolution synchrone:Évolution atomique
où la valeur des entrées est figée(instant)
Il n’y a pas forcément simultanéité réellede l’évolution de tous les acteurs internes.Un ordre partiel d’exécution est suffisant.
Déclenchements synchrones:Provoquent une réaction (immédiate) du système
lors de l’évolution des entrées.(occurrence d’événement)
correspond à la définition d’entrées asynchronesPour un automaticien !
Laboratoire I3S : équipe SPORTS 6
Approche Synchrone
Nécessité d’une machine d’exécution
Générateurd’événements
Entréesasynchrones
oudemande
d’évolutionexplicite
Programmesynchrone
Synchronisation des entrées à la même date logique
Horloge (tick Esterel)
Présentation des sortiesà la même date physique
Sorties
Post-synchroniseur
Laboratoire I3S : équipe SPORTS 7
SyncChartsGénèse
Expression graphique des règles de préemption d ’Esterel
Expérience des HSENS(réseaux de Petri hiérarchiques)
Statecharts
SyncCharts
Argos
I3S
Laboratoire I3S : équipe SPORTS 8
SyncCharts
sustain S2S2
a / S1
b / S3
c
S2
I
Etat - Transition
SyncCharts Automate associé (Mealy)
En pratique (Esterel Studio):
a / S1,S2
b / S3
c
not a
not b / S2
Laboratoire I3S : équipe SPORTS 9
SyncChartsPréemption forte
Sustain S4
I
I
a / S1
b / S2
c / S3Stop / FIN
not c and not stop
c and not stop/S3
a and not stop/S1,S4not b and not stop
/S4
b and not stop /S2
stop /FIN
stop /FIN
not stop and not a
stop /FIN
Laboratoire I3S : équipe SPORTS 10
SyncChartsPréemption faible
Sustain S4
I
I
a / S1
b / S2
c / S3Stop / FIN
not c and not stop
c and not stop/S3
a and not stop/S1,S4not b and not stop
/S4
b and not stop /S2
stop and not b /FIN, S4
stop and not c /FIN
not stop and not a
stop and not c /S3,FIN
stop and b /FIN, S2
stop and not a /FIN
stop and a /FIN,S1,S4
Laboratoire I3S : équipe SPORTS 11
SyncChartsTerminaison normale
I
I
a / S1
/ S3
I
b / S2
d / S5
c / S4
a and not b / S1
not a and not b
a and b / S1,S2,S3
a / S1,S3
b and not a / S2
b / S2,S3
not b
not c
not d
c / S4
d / S5
not a
Laboratoire I3S : équipe SPORTS 12
SyncChartsSuspension
a and not d / S1, S5
not a and not d / S4
b and not d / S2,S6
c and not d / S3, S4
not b and not d/ S5
dd
not c and not d / S6
d
I
I
b / S2
sustainS6
sustainS5
c / S3 a / S1
S
d
sustainS4
Laboratoire I3S : équipe SPORTS 13
SyncCharts
Au pire produit cartésien !
Parallélisme
I
I
a
I
c
d
eb
Laboratoire I3S : équipe SPORTS 14
SyncChartsRéaction immédiate (opérateur #)
- S2 jamais émis !- à sa création, commence par transiter jusqu’à un état stable
Phénomène déjà connu en Grafcet!
Nécessite un état supplémentaire dans l’automate (non existence)
I
# a / S1
sustain S2
# a / S3
# a / S4
not a
a / S1,S3,S4
not a
a / S1,S3,S4
Laboratoire I3S : équipe SPORTS 15
SyncChartsCommunication dans l’instant
I
I
r0/r1
# REQ
b2 and not b1 and b0 / TERM
r1
sustain b2
I
r0r1
sustain b1
tick/r0
I
tick
sustain b0
# REQ
signal b2, b1, b0, r0, r1
not REQ
REQ
REQ / TERM
1
1
1
1not REQ / TERM
REQ
not REQ
000
001
010
011
100
Laboratoire I3S : équipe SPORTS 16
SyncChartsVariables et signaux valués
Preuves de comportement ?
# REQ
[cpt < 5] / cpt := cpt +1
Var cpt := 1 :integer
[cpt >= 5] / cpt := 1 # REQ
[pre (?cpt) < 5] / cpt ( pre(?cpt) +1)
signal cpt := 1 :integer
[pre (?cpt) >= 5] / cpt(1)
I I
Laboratoire I3S : équipe SPORTS 17
SyncChartsHiérarchie, instanciation et renommage
modèle de comportement défini ailleurs … dans un formalisme synchrone :
- Esterel- Lustre- SyncCharts- Grafcet (Sgrafcet)
principal
I
I
c/S
Sustain S2
I
b
Inst1 @ traitement
Inst2 @ traitement
b a
d / sorti
d d
relance
s
loop present x then emit T end presenteach tick
Laboratoire I3S : équipe SPORTS 18
SyncChartsChaîne de compilation
Lustre Grafcet
.lus .strl
compilateurLustre
compilateurEsterel
.sc
scc
compilateurSyncCharts
.blif
SyncCharts
(équations booléennes de changement d’état)
.c
Implémentationlogicielle
Implémentationmatérielle
Simulation( XES)
Preuve( XEVE)
scvhdl
.vhdl
scblif
g2sc
Esterel
Laboratoire I3S : équipe SPORTS 19
SyncChartsPreuves formelles
Solution 1 :Etudier le code généré !
compilation
I
I
r0/r1
# REQ
b2 and not b1 and b0 / TERM
r1
sustain b2
I
r0r1
sustain b1
tick/r0
I
tick
sustain b0
# REQ
signal b2, b1, b0, r0, r1
Laboratoire I3S : équipe SPORTS 20
SyncChartsPreuves formelles
Respecte la spécification initiale
Table
d’évolution
mais solution laborieuse !
000not REQ / TERM
REQ
REQ / TERM
1
1
1
1not REQ / TERM
REQ / TERM
not REQ
111
101
110
100
011
011
001
not REQ
REQ
Laboratoire I3S : équipe SPORTS 21
SyncChartsPreuves formelles
Observateurs d’Halbwachs
Solution 2 :Mieux utiliser le simplifieur booléenIntégré au générateur de code !
En créant une sortie qui caractérise la propriétéséquentielle qui nous intéresse …
Système
Observateur
Système
Modèle env+
Observateur
Entrées Sorties
Erreur
Erreur
Laboratoire I3S : équipe SPORTS 22
SyncChartsPreuves formelles
Exemple: Dès que E arrive, le système émet toujours S1 avant S2
Compilation du SyncCharts observateur et du SyncCharts principalvers des équations booléennes (BDD)
Observateurassocié :
si erreur = 0 alors la propriété est toujours vraie sinon recherche d’accessibilité…
Outil XEVE
I
# E
S1
sustainerreur
# S2
I
Laboratoire I3S : équipe SPORTS 23
Application à la machine indexaPrésentation du système
Laboratoire I3S : équipe SPORTS 24
Application à la machine indexaSimulateur associé
Laboratoire I3S : équipe SPORTS 25
Application à la machine indexaHiérarchie proposée
Induite par la hiérarchie du système
Induite par les sécurités
Induite par les modes et les sous-modes de fonctionnement (GEMMA)
Laboratoire I3S : équipe SPORTS 26
Application à la machine indexaHiérarchie proposée (2)
contrôleur machine indexa
gestionnaire
du signal
en service
tension contrôle (contrôleur principal)
hors
tension
sous tension
init test défaut
cohé
renc
e fonc.
normal
Automate programmableSécurités cablées
Laboratoire I3S : équipe SPORTS 27
Application à la machine indexaLes signaux d’entrées
§ sous_tension_B : bouton SOUS TENSION
§ en_service_B : bouton EN SERVICE
§ S1 : TIROIR SORTI
§ S2 : TIROIR RENTRE
§ S3 : TETE DE VISSAGE EN HAUT
§ S4 : TETE DE VISSAGE EN BAS
§ S5 : TETE DE VISSAGE DEVISSEE
§ S6 : DEFAUT VISSAGE
§ S7 : BOCAL BLOQUE
§ CAME (S8) : capteur MOTEUR ASYNC.
§ S10 : BOCAL EN ENTREE
§ S11 : BOURRAGE SORTIE
§ S12 : PRESENCE VIDE
§ BP1 : bouton MARCHE
§ ARRET (BP2) : bouton ARRET F.C.
§ BP4 : bouton INITIALISATION
§ KATMC : capteur TAPIS EN MARCHE
§ ATU : bouton ARRET URGENT
§ SC : capteur SECURITE PORTE
§ panne_KG1 : relais KG1 en panne
§ panne_KG2 : relais KG2 en panne
§ seconde
Laboratoire I3S : équipe SPORTS 28
Application à la machine indexa
§ EV1 : RENTRER TIROIR
§ EV2 : SORTIR TIROIR
§ EV3 : VISSER
§ EV4 : DEVISSER
§ EV5 : DESCENDRE TETE DE VISSAGE
§ EV6 : MONTER TETE DE VISSAGE
§ EV7 : BLOQUER BOCAL
§ EV9 : ASPIRATION
Les signaux de sorties
§ KAMV : MARCHE MOTEUR PLATEAU
§ KAMT : MARCHE MOTEUR TAPIS
§ sous_tension_V : voyant SOUS TENSION
§ en service_V : voyant EN SERVICE
§ V1 : voyant DEFAUT
§ V2 : voyant MACHINE PRETE
§ V3 : voyant MARCHE
Laboratoire I3S : équipe SPORTS 29
Modèle de comportement
Laboratoire I3S : équipe SPORTS 30
Modèle de comportement
Laboratoire I3S : équipe SPORTS 31
Modèle de comportement
Laboratoire I3S : équipe SPORTS 32
Modèle de comportement
Laboratoire I3S : équipe SPORTS 33
Modèle de comportement
Laboratoire I3S : équipe SPORTS 34
Modèle de comportement
Laboratoire I3S : équipe SPORTS 35
Modèle de comportement
Laboratoire I3S : équipe SPORTS 36
Modèle de comportement
Laboratoire I3S : équipe SPORTS 37
Modèle de comportement
Laboratoire I3S : équipe SPORTS 38
Modèle de comportement
Laboratoire I3S : équipe SPORTS 39
Modèle de comportementEgalement développée la version ``Production quand même’’ (cf. Gemma)
et ainsi de suite …
Laboratoire I3S : équipe SPORTS 40
Preuves de comportementPreuves combinatoires
üTourner-visser : Le plateau ne tourne pas en phase de vissage
üSortir-descendre : Ordres de sortir-tiroir et descendre-ventouse non émis simultanément
üRentrer-monter : Ordres de rentrer-tiroir et monter-ventousenon émis simultanément
Egalement Rentrer-descendre et Sortir-monter
Laboratoire I3S : équipe SPORTS 41
Preuves de comportement
Laboratoire I3S : équipe SPORTS 42
Preuves de comportement
Sur tout l’espace d’état accessible !
Laboratoire I3S : équipe SPORTS 43
Preuves de comportement
Laboratoire I3S : équipe SPORTS 44
Preuves de comportement
Laboratoire I3S : équipe SPORTS 45
Preuves de comportementPreuves séquentielles
üSortir-bas : Ne pas sortir le tiroir quand ventouse en bas
üRentrer-bas : Ne pas rentrer le tiroir quand ventouse en bas
üRentrer-bas-asp : Cf. propriété précédente + aspiration
üPlateau : Plateau ne tourne pas en cas de bourrage en sortie
Laboratoire I3S : équipe SPORTS 46
Preuves de comportement
Laboratoire I3S : équipe SPORTS 47
Preuves de comportement
Laboratoire I3S : équipe SPORTS 48
Preuves de comportement
Laboratoire I3S : équipe SPORTS 49
Preuves de comportement
Laboratoire I3S : équipe SPORTS 50
Preuves de comportement
Laboratoire I3S : équipe SPORTS 51
Preuves de comportement
Laboratoire I3S : équipe SPORTS 52
ConclusionSyncCharts bien adapté pour modéliser l’application concernée :
• la hiérarchie d’états facilite les approches montantes et descendantes
• facile à appréhender avec la culture Grafcet ou système d’états
une semaine !
• permet de vérifier des propriétés combinatoires et séquentielles et de
les exprimer dans le même formalisme
toutefois une simulation réaliste de l’environnement reste indispensable !
• un simulateur et un générateur de code sont intégrés dans
l’environnement de développement (Esterel Studio)
Laboratoire I3S : équipe SPORTS 53
Bibliographie et logiciels•Sur SyncCharts: http://www-sop.inria.fr/meije/esterel/syncCharts/index.html
"SyncCharts : un modèle graphique synchrone pour systèmes réactifs complexes " , Charles André, rapport interne sur la sémantique de SyncCharts
"Behavioral Specification of a Circuit using SyncCharts: a Case Study ", Charles André & Marie-Agnès Peraldi-Frati, rapport interne relatif à une étude de cas.
"Representation and Analysis of Reactive Behaviors: A SynchronousApproach ", Charles André,invited paper, CESA'96, IEEE-SMC, Lille(F), July 9-12, 1996
+ Editeur de SyncCharts développé par Charles André
•Sur Esterel: http://www.esterel.org
" The Esterel Primer " , Gérard Berry, tutorial sur le langage Esterel
" The Constructive Semantics of Pure Esterel " ,Gérard Berry, manuel de référence du langage
+ compilateur, simulateur, prouveur développé à l’INRIA et à l’Ecole des Mines
Existe également une version industrielle de l’environnement Esterel + SyncCharts
maintenue par Esterel-technologie (simulog): http://www.esterel-technologies.com/index.htm