SED Cours

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 16

2ème année Systèmes à évènements discrets S2I

Systèmes à événements discrets

Objectifs - extraits du référentiel de 1ère et 2nde année

Compétence visée Savoir-faire associé


Appréhender les analyses fonctionnelle et Interpréter tout ou partie de l’évolution temporelle
structurelle d’un système
Coder une information
Exprimer un fonctionnement par des équations
Proposer un modèle de connaissance et de logiques
comportement Représenter tout ou partie de l’évolution temporelle
Décrire et compléter un algorithme représenté sous
forme graphique
Générer un programme et l’implanter dans le
Mettre en œuvre un protocole expérimental
système cible
Modifier un programme pour faire évoluer le
Concevoir
comportement du système

Simuler

pour anticiper

Guillaume Chapey
Sciences Industrielles de l’Ingénieur
2ème année de CPGE
Lycée du Parc

G. Chapey Page 1 sur 16


2ème année Systèmes à évènements discrets S2I

1 - Définition

Dans un système combinatoire, à chaque combinaison de valeurs des variables d'entrée est associée une et
une seule combinaison de valeurs des variables de sorties :

ei Système Sj Sj = f(ei)
combinatoire

Considérons l'exemple du portail automatisé. Le moteur M est mis en marche par appui sur un bouton
poussoir m, le fonctionnement peut être décrit par le chronogramme suivant :

1 Table de vérité :
m0
m M
1 0 ?
M 0 1 ?

Ce système est-il combinatoire ? Non, car à un état de la variable d'entrée m correspondent deux états
possibles de la sortie M. Le comportement du système ne dépend pas seulement des entrées à l'instant
considéré mais de l'évolution antérieure du système. Il faut donc pouvoir caractériser le passé du système
avec un certain nombre de variables qui devront être mémorisées à l'intérieur de ce système: on les appelle
les variables internes Vk et elles rendent compte de l'état interne du système à un instant donné.

On peut schématiser un système à événements discrets (appelé aussi automatisme séquentiel) de la façon
suivante :
ei Système Sj
séquentiel Sj = f(ei, Vk)

Vk

Voici ci-dessous l’ibd qui représente le fonctionnement d’un système à événements discrets :

G. Chapey Page 2 sur 16


2ème année Systèmes à évènements discrets S2I

Illustration : commande tout ou rien (TOR) d’un moteur

2 boutons poussoir m (marche)


et a (arrêt) commandent le
fonctionnement d'un moteur que
l’on caractérise par une variable
logique de sortie M.

Le cahier des charges est le suivant :


- le moteur doit démarrer si le bouton poussoir marche « m » est actionné,
- une fois ce dernier relâché, le moteur doit continuer à tourner jusqu’à l’appui sur « a »,
- en cas d’appui simultané sur les deux boutons, on privilégie l’arrêt du moteur.

Si on dresse la table de vérité de la variable de sortie "M", deux valeurs de M sont possibles pour un certain état
du vecteur des variables d'entrées ; si m = 0 et a = 0 :
- le moteur marche si le dernier bouton poussoir appuyé est « m »,
- le moteur est à l'arrêt si le dernier bouton poussoir appuyé est « a ».

Le système de commande doit comporter une variable interne au système « X » ou mémoire, qui lui permettra de
faire la distinction entre les deux cas précédents.

La table de vérité du sous-système « affectation de l’état de M » est alors la suivante :

d’où l’équation logique


de M :

En langage SysML, le diagramme de blocs internes s’écrit :

G. Chapey Page 3 sur 16


2ème année Systèmes à évènements discrets S2I

2 - Fonction mémoire

2.1 - La bascule RS

C'est le composant élémentaire ; c'est un circuit qui a pour propriété de conserver la valeur binaire
précédemment inscrite en l'absence de toute sollicitation extérieure. Il comporte deux entrées R (comme
Reset ou "remise à 0" de la sortie) et S (comme Set ou "mise à 1" de la sortie) et une sortie Q (la sortie
complémentée Q est parfois disponible dans certaines technologies).

S Q 1
S 0
R 1
R 0
* Symbole de la bascule RS 1
(logigramme) Q 0

* Chronogramme de la bascule RS

Le changement d'état des sorties est uniquement activé lorsque l'une des entrées R ou S commute de 0 à 1.
Leur retour à 0 est sans effet.

* Table de vérité

S R Q+ Les notations Q- et Q+ correspondent à l'état de la sortie Q avant et après


0 0 Q- une modification des entrées.
0 1 0
1 0 1
1 1 ** cet état dépend du fonctionnement de la bascule:
- 0 si bascule à déclenchement (ou arrêt) prioritaire
- 1 si bascule à enclenchement (ou marche) prioritaire
- Q- si bascule sans priorité

* D'où les équations logiques :

- mode à arrêt prioritaire : Q+ = Q- S R + S R = R ( S + Q- )

- mode à marche prioritaire : Q+ = Q- S R + S R + R S = R Q- + S

Remarque :
Les outils vus pour la représentation des systèmes combinatoires (table de vérité, fonctions logiques, tableau
de Karnaugh, logigramme, …) peuvent également être utilisés pour la représentation des systèmes à
événements discrets ; cependant cet usage se limitera à des cas simples.

2.2 - Réalisation à l'aide d'opérateurs NOR

a b a Q1 Q2
1 Q1 Q1 = a + Q2 = a ( b + Q1 ) 0 0 Q1 Q2
0 1 0 1
1 0 1 0
b 1 Q2 Q2 = b + Q1 = b ( a + Q2 ) 1 1 0 0

G. Chapey Page 4 sur 16


2ème année Systèmes à évènements discrets S2I

2.3 - Mémoire câblée électromagnétique


a = bouton poussoir
R à contact normalement ouvert
a
b = bouton poussoir
b à contact normalement fermé
r
R = relais commandant un contact r
normalement ouvert

 Etablir l'équation et la table de vérité de R . Vérifier qu'il s'agit d'une mémoire à marche prioritaire.

Commande manuelle d'un moteur électrique

COMMANDE : K Le moteur triphasé est commandé à l'aide de deux


F m a boutons poussoirs :
- m = mise en marche
- a = arrêt
k
En cas de commande simultanée de marche et arrêt,
0V 12 V le moteur doit s'arrêter.

PUISSANCE :
Une protection en cas de surintensité est assurée
par le relais thermique F qui voit son contact
normalement fermé s'ouvrir, entraînant la coupure
M de l'alimentation de K, donc celle du moteur.

Équation logique de K : K+ = F a ( m + K- )

La mise en marche du moteur se fait par action sur m, ce qui alimente le relais K et ferme les contacts k
correspondants. L'action de a ou F arrête le moteur.

Si a = m = 1, alors K = 0 : on a bien un arrêt prioritaire.


On peut représenter cette commande de la façon suivante :

m K

a+F *

L’astérisque indique que la mémoire est à arrêt prioritaire.

3 – La machine d’état

La machine à nombre fini d’états (FSM : Finite State Machine), est aussi appelée automate fini. Elle peut
être une entité matérielle ou une entité conceptuelle comme un algorithme. Elle comporte un nombre fini
d’états.
La machine d’états est un système à évènement discrets, capable de mémoriser des données, de les traiter et
de les restituer selon des scénarios définis au préalable. Elle peut être définie par : un état initial, un
ensemble d’évènements, un ensemble d’états, un ensemble d’activités, un ensemble de règles permettant de
déterminer le comportement du système.
G. Chapey Page 5 sur 16
2ème année Systèmes à évènements discrets S2I

Dans un état, un système peut avoir une activité ou être en attente. Les états d’un système se succèdent en
fonction d’évènements.

Un évènement est une description d’occurrence qui conduit à une évolution du comportement du système.
On l’appelle aussi un déclencheur (trigger).

4 – Le diagramme d’états

4.1 – Présentation et formalisme

Le diagramme d’états (state machine diagram ou stm) est un diagramme normalisé SysML, il est utilisé pour
décrire le comportement d’une machine d’état :

 Le nœud symbolise un état interne. Il


montre ce qui se passe.

 L’arc qui relie deux nœuds est appelé


transition. Il indique la possibilité de
passer d’un état à un autre lorsqu’un
évènement se produit.

A un instant donné, le système ne peut être que dans un seul état, ou plusieurs états s’ils sont dans des
régions dites orthogonales (un seul état actif par région) ; cf chapitre 4.3.3 ci-après.

Pour chaque activité, il faut définir un état représenté par un nœud. Au cas où aucune activité n’est souhaitée,
c’est un état d’attente.

Les cas d’évolution du système entre les états sont identifiés par les transitions. On trace alors un lien entre
les nœuds correspondants. Chaque transition peut être qualifiée par un évènement, une condition de garde et
un effet.

4.2 – Les transitions


A une transition est associée un évènement (implicite ou
explicite) auquel on peut ajouter une condition de garde
et/ou un effet

G. Chapey Page 6 sur 16


2ème année Systèmes à évènements discrets S2I

4.2.1 – L’événement

Un évènement est un phénomène considéré comme localisé et


instantané (discret), c’est-à-dire survenant en un point de
l’espace et à un instant bien déterminé (ex : appui sur un
bouton modélisé par un front montant).

L’apparition d’un évènement est appelé déclencheur (trigger).

Il existe quatre types d’évènements associés à une transition :

 le message (signal event) : un message asynchrone est arrivé,

 l’événement temporel (time event) : un intervalle de temps


s’est écoulé depuis l’entrée dans un état (mot clé « after ») ou un
temps absolu a été atteint (mot clé « at »),

 l’évènement de changement (change event) : une valeur a


changé de telle sorte que la transition est franchie (mot clé «
when »),

 l’évènement d’appel (call event) : une requête de fonction


(operation) du bloc a été effectuée. Un retour est attendu. Des
arguments (paramètres) de fonction peuvent être nécessaires.

Les évènements peuvent être utilisés pour décrire les interactions entre les différents
blocs d’un système. En effet, un évènement peut être émis par un autre bloc que celui
pour lequel le diagramme d’états est spécifié. Il est alors par défaut destiné à tous les
blocs du système (diffusion « broadcast) ». De même, un évènement peut être reçu
(receive signal action).

4.2.2 – La condition de garde

La condition de garde [entre crochets] est une expression booléenne (ou fonction logique) faisant intervenir
des entrées et / ou des variables internes.

Elle est évaluée lorsque l'état précédant la transition est vrai et que l'évènement déclencheur se produit. Si la
condition de garde est vraie, la transition est alors franchie, sinon elle ne l'est pas et l'événement est perdu.

Elle autorise le passage d’un état à un autre.

Remarque pour les concours :


A priori, au sens de la norme, il n’est pas possible d’utiliser les notations non booléennes de front montant
(↑) et front descendant (↓) dans une condition de garde puisqu’elles modélisent des évènements … mais cette
différenciation entre l’évènement et la condition de garde n’est pas toujours respectée dans les diagrammes
proposés aux concours, ce qui nécessite donc un peu de souplesse !

G. Chapey Page 7 sur 16


2ème année Systèmes à évènements discrets S2I

4.2.3 – Synthèse sur la notion d’évènement et de condition de garde

La durée d’un évènement est nécessairement courte (voire très courte), celui-ci correspondant par
exemple au passage d'une variable de 0 à 1 à un instant précis (front montant).

Par contre une condition de garde n'est pas cette notion d’instantanéité, elle doit être vraie (niveau
logique 1) à l'instant où l'événement survient pour que la transition soit franchie.

 Exemple d'évènement : appui sur un bouton-poussoir, capteur fin de course atteint, etc.

 Exemple de condition de garde : vitesse du véhicule non nulle, température > 20°C, etc.

Dès que l’évènement apparaît, l’état1 se


désactive et l’état2 s’active.

Dès que, soit l’évènement1 soit l’évènement2


apparaît, l’état1 se désactive et l’état2 s’active.

Dès que l’évènement apparaît et que garde est


vraie (booléen), l’état1 se désactive et l’état2
s’active.

Transition automatique avec garde :


l’évènement associé est soit l’activation de
l’état1 s’il ne contient pas d’activité, soit la fin
de « entry » ou « do ».

Une transition peut aussi être automatique, donc


franchie à la fin de l'activité spécifiée dans l'état
source. Dans ce cas on ne précise aucun
évènement déclencheur et l'activité ne doit pas
être continue.

4.2.4 – L’effet

L’effet associé à une transition est effectué lorsque la transition est franchie, il ne prend pas de temps et ne
peut pas être interrompue.

Son exécution peut par exemple provoquer un changement d’état ou l’émission d’un ordre.

4.2.5 – La transition réflexive

Une transition réflexive entraîne une sortie d’état puis un retour dans
ce même état.

G. Chapey Page 8 sur 16


2ème année Systèmes à évènements discrets S2I

4.3 – Les états

4.3.1 – L’état initial / l’état final

L’état initial correspond à la création de l’instance du bloc pour lequel le diagramme


d’état est spécifié.
L’état final correspond à la destruction de cette instance de bloc. Il peut y en avoir
plusieurs dans un diagramme d’états. En effet, plusieurs scénarios peuvent être possibles
pour mettre fin à un comportement.

4.3.2 – Activité et actions associées à l’état

A un état, on peut principalement rattacher : - une action d’entrée,


- une activité,
- une action de sortie.

Une activité peut être considérée comme une unité de comportement. Elle prend du temps et peut être
interrompue. On la trouve à l’intérieur des nœuds du diagramme (mot clé « do »).

A contrario, une action ne prend pas de temps et ne peut pas être interrompue. Son exécution peut par
exemple provoquer un changement d’état, l’émission d’un ordre pour un pré actionneur ou un retour de
valeur. On peut les trouver dans les transitions (effet) ou dans les états (mots clé « entry » ou « exit »).

Dans le langage SysML, les activités et actions sont directement liées aux fonctions (operations) définies
dans les propriétés de bloc.

4.3.3 – L’état composite

Un état composite est constitué de sous-états, il « appelle » donc un autre diagramme d’états.

Cela permet d’introduire la notion d’état de niveau hiérarchique inférieur et supérieur dans les diagrammes
d’états : pour alléger l’écriture (et donc la lecture) d’un diagramme, un état dit composite regroupera
plusieurs sous-états qui seront détaillés sur un autre diagramme (analyse descendante).

Un état composite peut contenir des régions dites orthogonales


délimitées par un trait pointillé ;

dans chacune des régions, un seul état est actif.

G. Chapey Page 9 sur 16


2ème année Systèmes à évènements discrets S2I

4.4 – Synthèse sur le formalisme basique

Commande tout ou rien (TOR) d’un moteur

2 boutons poussoir m (marche) et a


(arrêt) commandent le
fonctionnement d'un moteur que
l’on caractérise par une variable
logique de sortie M.

Le cahier des charges est le suivant :


 le moteur doit démarrer si le bouton poussoir marche « m » est actionné,
 une fois ce dernier relâché, le moteur doit continuer à tourner jusqu’à l’appui sur « a »,
 en cas d’appui simultané sur les deux boutons, on privilégie l’arrêt du moteur.

↑Le diagramme d’état


s’écrit :

m [non a]

G. Chapey Page 10 sur 16


2ème année Systèmes à évènements discrets S2I

4.5 – Les pseudo-états

Un pseudo-état est un élément de commande (sous forme de symboles spécifiques, en général entre les
états) qui permet d’enrichir les diagrammes d’états.

Ils peuvent être utilisés dans un diagramme d’états ou dans un diagramme d’activité.

Le formalisme SysML admet 9 pseudo-états :


(le code de lecture devrait être fourni aux concours)

« entry point » permet de créer un point d’entrée du diagramme.

« exit point » permet de créer un point de sortie vers un autre diagramme.

« terminate » permet de terminer une séquence sans destruction de l’instance de bloc.

« choice » sélection et convergence de séquences exclusives. Il est nécessaire qu’une


condition située en aval soit vraie pour que l’évolution du système se
poursuive. Les conditions de gardes doivent être exclusives. Le mot clé « else »
peut être utilisé pour englober tout ce qui n’est pas décrit dans les autres
expressions booléennes. Les conditions de garde situées en aval sont toutes
évaluées une fois le pseudo-état atteint.

« junction » idem au pseudo-état « choice », à la différence que pour qu’un chemin soit
emprunté, toutes les conditions de garde situées en aval et en amont doivent
être vraies. L’évaluation des conditions avales est réalisée avant que le pseudo-
état soit atteint.

« fork » et « join » divergence et convergence de séquences parallèles.

« shallow history » permet à un état de niveau hiérarchique supérieur (état composite) de se


souvenir du dernier sous-état, avant qu’il n’évolue vers un autre état.

« deep history » idem que précédemment mais avec la propagation de l’historique à tous les
sous-états composites de niveaux hiérarchiques inférieurs.

G. Chapey Page 11 sur 16


2ème année Systèmes à évènements discrets S2I

Synthèse sur les pseudo-états :

Commande tout ou rien (TOR) d’un moteur


On peut maintenant essayer de satisfaire à un complément de cahier des charges :
après cinq mises en route du moteur, le diagramme d’états conduit à son état final.

m [non a. k=5]
a

G. Chapey Page 12 sur 16


2ème année Systèmes à évènements discrets S2I

5 – Application aux structures algorithmiques

5.1 – Fonctions et procédures

La décomposition d’un algorithme en fonctions et procédures permet :


 de scinder une problématique générale en plusieurs problématiques élémentaires,
 de pouvoir réutiliser des sous-programmes réalisant des tâches élémentaires.

Une procédure comporte une succession d’instructions mais ne renvoie rien.

Diagramme d’états : (avec un état composite)

A la fin de l’exécution d’une fonction, il y a le retour d’une valeur, d’une liste, d’un objet, etc.

5.2 – Illustrations

Affectation
d’une valeur à une variable :
cette action se fait en un temps nul.

Structure alternative conditionnelle


si …, alors faire …, sinon faire …

Structure répétitives itératives


pour variable = valeur initiale,
jusqu’à valeur maximale, faire …

G. Chapey Page 13 sur 16


2ème année Systèmes à évènements discrets S2I

Commande d’une quille pendulaire (extrait du concours Mines-Ponts 2014)


La conception des voiliers de course, dans un contexte de forte compétitivité sportive et technique, utilise
toutes les évolutions récentes afin d’améliorer performances et sécurité. Dès les premiers stades de la
conception du navire, l’architecte naval intègre les exigences des différents spécialistes qui collaborent au
projet. A ce titre la conception d’un voilier de course océanique est analogue à la conduite d’un projet industriel
classique où les intervenants s’inscrivent dans une démarche collaborative pilotée par un coordonnateur du
projet.
L’étude proposée s’intéresse à quelques aspects de la conception d’une quille pendulaire équipant un monocoque
60’ IMOCA.
Le comportement dynamique d’un voilier est conditionné par ses
interactions avec les deux fluides avec lesquels il entre en
contact : l’air et l’eau. Il reçoit de l’énergie sous la forme des yN
actions aérodynamiques dues au mouvement relatif air/voiles. Ces xN
zN
actions mécaniques le font avancer et provoquent son inclinaison
autour de son axe longitudinal (axe de direction zN ). C’est le
phénomène de gîte. Pour contrebalancer ce mouvement et éviter
que le voilier ne se couche sur l’eau, la quille joue le rôle de Voile de
contrepoids. Cette quille est généralement constituée d’un voile quille
immergé dans l’eau à l’extrémité duquel se trouve un lest profilé.
L’efficacité de la quille dépend de la masse du lest et de la Lest
longueur du voile. Ces deux paramètres présentent des limitations :
le lest ne peut être trop important sous peine de solliciter Voilier 60’ IMOCA – Image Cabinet Finot-Conq
dangereusement le voile de quille et la longueur de quille est
limitée par le tirant d’eau maximal admissible (il faut permettre l’entrée dans les ports sans toucher le fond !).
La commande des manœuvres de la quille s’effectue via un pupitre (voir figure ci-dessous) placé à proximité du
poste de barre à partir duquel le navigateur peut demander à l’automate de réaliser :

 Le déplacement de la quille d’un bord


Affichage de l’angle de quille
ou de l’autre selon une valeur de
consigne.
Angle de
quille
Bâbord Tribord
 Des cycles préprogrammés comme celui B 30 ° tr
de « virement de bord » et celui de b
Automate
« Relâcher ». Le cycle de virement de vir de
Commandes
des
bord permet de placer la quille de Virement rel contrôle
servovalves
 de la
façon symétrique à la position qu’elle mes() quille
hydrauliques

occupait précédemment. Ce cycle est


Relâcher
utilisé lorsque le navigateur change Pupitre de commande
l’orientation du navire par rapport au
Inclinomètre
vent lors d’un virement de bord.
L’automate prend alors en charge Capteur de
position angulaire
intégralement la séquence de de la quille
manœuvres de la quille, laissant le
navigateur disponible pour les autres Structure de la commande.
Base de données Groupe
tâches. hydraulique

Le cycle « Relâcher » permet de déplacer la quille sous le seul effet de la pesanteur. La quille est ainsi
manœuvrée sans utiliser l’énergie de la centrale hydraulique.
L’automate est également interfacé via le réseau du navire à une base de données où sont stockés les paramètres
des navigations précédentes (conditions météorologiques, performances du navire et angle de quille). Le
navigateur peut ainsi intégrer les paramètres de la quille à l’ensemble des paramètres décisionnels qui lui
permettent d’élaborer sa stratégie de navigation.
L’automate gère également la centrale hydraulique qui met en pression l’huile utilisée dans les vérins de
manœuvre de la quille.

G. Chapey Page 14 sur 16


2ème année Systèmes à évènements discrets S2I

Deux capteurs renseignent l’automate :


 Un inclinomètre mesure l’angle de gîte du navire, information notée α.
 Le capteur de position angulaire mesure l’angle d’inclinaison de la quille, grandeur notée mes(θ).
Le pupitre de commande est doté de quatre boutons poussoirs :
 tr : Demande d’inclinaison sur tribord.
 b: Demande d’inclinaison sur bâbord.
Un appui « bref » sur l’un ou l’autre de ces boutons provoque une évolution de l’angle de consigne de 1°, un appui
« long » une évolution de 10°.
 vir : Demande du cycle « virement de bord ».
 rel : Demande du cycle « Relâcher ».
Il comporte également un afficheur numérique permettant de visualiser soit l’angle d’inclinaison de la quille, soit
la valeur de consigne lorsque le barreur agit sur « bâbord » ou « tribord » (variables b ou tr).

Le modèle de commande implanté dans l’automate est défini par les diagrammes d’états suivants :

Détail de cet
état composite

G. Chapey Page 15 sur 16


2ème année Systèmes à évènements discrets S2I

Rappel pour lire une transition :

G. Chapey Page 16 sur 16

Vous aimerez peut-être aussi