9.2 Types de systèmes

publicité
CHAPITRE 9
SYSTÈMES À ÉVÉNEMENTS DISCRETS
On définit les systèmes à temps discret souvent de façon négative par rapport aux systèmes à
temps continus.
Dans les systèmes à temps continus (les systèmes linéaires et asservis), les variables évoluent
continument et peuvent, en général, être décrites par un ensemble d’équations différentielles. Nous
avons vus dans le chapitre sur les systèmes linéaires quelques outils mathématiques permettant
d’étudier ces systèmes.
Les systèmes à événements discrets permettent eux de décrire le comportement de systèmes qui
évoluent lorsque un événement est présent.
Considérons un ascenseur, le déplacement de l’ascenseur entre deux étages peut être décrit par
un ensemble d’équations différentielles (P.F.D. pour obtenir l’équation différentielle du mouvement,
les équations électriques du moteur,. . .) à l’aide de ces équations on peut par exemple réaliser un
asservissement de vitesse de la cabine. Par contre la gestion des appels à chaque étage, la demande
de déplacement d’un passager (les multiples demandes), l’arrivée à un étage,le départ d’un étage. . .
9.1 Les types de variables
Lorsque l’on construit un modèle d’un système, on a l’habitude de classer les variables en deux
catégories
– Les variables continues sont des variables qui prennent leurs valeurs sur le domaine des réels
R.
– Les variables discrètes sont des variables qui prennent leurs valeurs sur un domaine dénombrable comme l’ensemble des entiers naturels N. ou bien sur des ensembles dont 1e nombre
d’éléments est fini.
A partir de ce classement, les systèmes dynamiques peuvent être rangés dans diverses catégories selon les modèles mathématiques qui sont utilisés pour les représenter. Nous allons rapidement
passer en revue ces diverses catégories.
1
2
9 Systèmes à événements discrets
9.2 Types de systèmes
9.2.1 Les systèmes continus
Le modèle d’un système continu ne comprend que des variables continues, de plus, le temps est
également une variable continue (figure 9.2). Le temps et les variables prennent leurs valeurs dans
R. C’est le grand domaine des systèmes représentés par des équations différentielles. Les systèmes
linéaires continus invariants que nous avons étudié au premier semestre sont une partie des systèmes
continus.
e(t )
e(t )
t
Système
continu
t
F IGURE 9.1 – système continu - information continue
9.2.2 Les systèmes échantillonnés
Dans les systèmes échantillonnés, le temps n’est plus une variable continu mais une variable discrète. Le temps est en effet représenté comme une suite infinie d’instants repérés par des entiers
naturels N .
Les variables traitées, par le système, peuvent avoir leur valeurs dans R mais en général dans N
e(t e )
e(t )
t
signal analogique
e(t e )
t0 t1 t2 t3 t4 t5 t6
t0 t1 t2 t3 t4 t5 t6
échantillonage
conversion CAN
Système
échantillonné
F IGURE 9.2 – système échantillonné
les systèmes échantillonnés sont les systèmes traités par les systèmes informatiques. pour qu’un
traitement informatique de l’information puissent être réalisé, en effet :
– le temps de calcul ne pouvant être nul, le système informatique ne peut prélever l’information
qu’à des instants particuliers, cela nécessite un échantillonnage du temps :
– une conversion analogique numérique pour ramener les variables dans un domaine (codage
sur 8,16,32,. . . bits) que peut traiter le système numérique.
9.2.3 Les systèmes discrets
Un système discret est un système dans lequel, les variables sont toutes discrétisées, soit par nature (lampe éclairée / éteinte), soit parce que l’on ne prend en compte que l’état de la variable (four
en marche ou température atteinte, sans se préoccuper de l’évolution de la température).
9.2 Types de systèmes
3
Dans les systèmes discrets, le temps est en général continu (ou discrétisé).
Les systèmes discrets ne manipulent que des variables logiques.
9.2.4 Variable logique
Une variable logique, est une variable, à laquelle on associe deux états, on peut ainsi associer à un
grand nombre de phénomènes physique un état logique (porte ouverte/fermée ; voyant éclairé/éteint,
vrai/faux, 0/1, 0 V/5 V,. . .).
Un signal réel est une grandeur physique en général continue qui peut donc prendre une infinité
de valeurs. Pour associer à ce signal, un signal binaire (0,1), il est nécessaire de fixer des seuils. Le
passage d’un seuil caractérise le passage de l’état 1 à 0 et réciproquement -figure 9.3).
Le seuil pour passer de l’état bas (0) à l’état haut (1) peut être identique ou différent de celui pour
passer de l’état haut à l’état bas.
u
seuil haut
seuil bas
état : 1
état : 0
t
F IGURE 9.3 – Variable et état logique
a ) Convention
Il est nécessaire de distinguer :
– la grandeur physique représentée.
– Le support de l’information logique
– Le nom attribué.
– L’état logique qu’elle peut prendre.
Par convention on établit une correspondance entre l’état physique de la grandeur et sa valeur
logique correspondante (logique positive ou logique négative).
L’état logique peut être noté « 0 » ou « 1 » ou encore « L » (Low) ou « H » (High). On parle aussi de
niveau logique haut ou niveau logique bas, état haut ou état bas.
On parle de logique positive, lorsque on associe à l’état logique 1, l’état actif de la variable, et de
logique négative, dans le cas contraire (figure 9.4).
9.2.5 Les systèmes à événements discrets - S.E.D.
Pour les systèmes à événements discrets (ceux qui nous intéressent dans ce cours), les variables
sont discrètes et le temps n’est connu que lors des changements d’états de ces variables.
L’évolution temporelle n’est prise en compte que lors des changement d’état, on ne se préoccupe
pas de l’écoulement du temps.
Ainsi, si on s’intéresse à une barrière de péage, les événements qui font évoluer le système sont :
la présence d’un véhicule, la validation du paiement, le cycle d’ouverture, le départ du véhicule, le
4
9 Systèmes à événements discrets
état physique
état électrique
état logique
Contact établissement de circuit
actionné
Non actionné
passant
Non passant
1
0
Contact coupure de Circuit
actionné
Non actionné
Non passant
Passant
1
0
poussoir de réfrigérateur
interrupteur
a
a
Ue
Us
ne conduit pas au repos,
le courant passe s’il est
actionné
Ue
Us
conduit au repos, le
courant passe que s’il
n"est pas actionné
F IGURE 9.4 – Modélisation d’un contact électrique
cycle de fermeture, et cela quelque soit le temps qui s’écoule entre deux véhicules, ou le temps mis
par l’automobiliste à payer.
Exercice 1- ascenseur
Corrigé page ??
Soit un ascenseur dans un petit immeuble de 5 étages d’une capacité de 300 kg.
Q1. Décrire les événements susceptibles de faire évoluer le système.
9.3 Typologie des S.E.D
9.3.1 S.E.D combinatoires
Un système est dit combinatoire, lorsque la ou les sorties ne dépendent que de la combinaison
des entrées La même cause (même combinaison des entrées) produit toujours le même effet (même
état des sorties). L’effet disparaît lorsque la cause disparaît.
e1
e2
e3
ei
en
Système
combinatoire
F IGURE 9.5 – Système combinatoire
Chaque sortie est une fonction des entrées :
s j = f (e 1 , e 2 , . . . , e i , . . . , e n )
s1
s2
sj
sm
9.4 Systèmes combinatoires
5
9.3.2 S.E.D séquentiels
Un système est dit séquentiel, lorsque la ou les sorties dépendent de la combinaison des entrées
et de l’état précédent des sorties. Une même cause (même combinaison des entrées) peut produire
des effets différents.
Le temps peut aussi être une des causes d’évolution des sorties.
L’effet peut persister après la disparition de la combinaison l’ayant provoqué.
Chaque sortie, à chaque instant, est le résultat d’une combinaison des entrées et de l’état précédent des sorties ou des variables internes.
s j = f (e 1 , e 2 , . . . , e i , . . . , e n , E1 , Ei )
e1
e2
ei
en
Système
séquentiel
s1
sj
sn
États précédents
F IGURE 9.6 – Système séquentiel
9.4 Systèmes combinatoires
9.4.1 Algèbre de Boole
L’algèbre de BOOLE ou algèbre logique est l’algèbre définie pour des variables ne pouvant prendre
que deux états. On appelle variable booléenne, une variable ne prenant que deux états, pour une
variable a, les deux états sont a et NON a (noté a).
a ) Opérateurs logiques fondamentaux
On distingue 4 opérateurs fondamentaux
Opérateur OUI : opérateur identité, le comportement est décrit par la table de vérité suivante : si S
est la sortie et a la variable d’entrée, :
a
0
1
S
0
1
Opérateur NON : opérateur négation
Équation logique :
S=a
6
9 Systèmes à événements discrets
a
Table de vérité : 0
1
S
1
0
Équation logique :
S=a
prononcer NON a (ou a barre)
Codage en Python
Propriétés
S=not a
1 = 0 et 0 = 1
involution a = a
Opérateur ET : produit logique défini par les règles ci-dessous
Équation logique :
Table de vérité
a
0
1
0
1
b
0
0
1
1
S
0
0
0
1
S = a ·b
prononcer a ET b
Le produit logique est commutatif, comme Propriétés :
dans l’algèbre classique :
a ·b = b ·a
1 est l’élément neutre pour le produit logique
a ·1 = a
0 est l’élément absorbant pour le produit logique.
a ·0 = 0
⎧
⎪
⎪0·0 = 0
⎪
⎪
⎨0·1 = 0
⎪
1·0 = 0
⎪
⎪
⎪
⎩
1·1 = 1
et
⎧
a ·0 = 0
⎪
⎪
⎪
⎪
⎨ a ·1 = a
⎪
a·a = a
⎪
⎪
⎪
⎩
a·a =0
Codage en Python
S=a and b
Opérateur OU : somme logique
Équation logique :
Table de vérité
a
0
1
0
1
b
0
0
1
1
S
0
1
1
1
S = a +b
prononcer a OU b
9.4 Systèmes combinatoires
7
La somme logique est commutative, comme Propriétés :
dans l’algèbre classique :
⎧
0+0 = 0
⎪
a +b = b +a
⎪
⎪
⎪
⎨0+1 = 1
0 est l’élément neutre pour le produit logique
⎪
1+0 = 1
⎪
⎪
⎪
⎩
a +0 = a
1+1 = 1
1 est l’élément absorbant pour le produit logique.
et
⎧
a +0 = a
⎪
⎪
⎪
⎪
⎨ a +1 = 1
⎪
a+a = a
⎪
⎪
⎪
⎩
a+a =1
Codage en Python
a +1 = 1
S=a or b
Remarque : : dans l’algèbre usuelle, l’addition n’a pas d’élément absorbant.
b ) Propriétés des opérateurs logiques
– Commutativité, associativité, distributivité :
Le produit et la somme logique sont commutatifs et associatifs.
– Propriétés combinées de la somme et du produit
– Distributivité du produit logique par rapport à la somme logique
a · (b + c) = a · b + a · c
– Distributivité de la somme logique par rapport au produit logique (cette propriété n’existe
pas dans l’algèbre usuelle).
a + b · c = (a + b) · (a + c)
– Absorption
a +a ·b = a
a +a ·b = a +b
c ) Théorèmes de De Morgan
– Le complément d’un produit est égal à la somme des compléments des termes du produit.
a ·b = a +b
– Le complément d’une somme est égal au produit des compléments des termes de la somme.
a +b = a ·b
8
9 Systèmes à événements discrets
9.4.2 Table de vérité
Une table de vérité est un tableau qui permet de décrire le fonctionnement d’un système combinatoire.
L’état de chaque entrée et de chaque sortie est représenté par sa valeur logique.
Toutes les combinaisons possibles des entrées sont étudiées pour déterminer l’état des sorties.
Pour un décrire complètement un système combinatoire comportant n entrées, il faut étudier les
combinaisons possibles des entrées.
Pour un système combinatoire comportant n entrées, la table de vérité comporte 2n combinaisons des variables d’entrée, donc 2n lignes.
Il est possible de déterminer l’équation de fonctionnement en recherchant toutes les valeurs pour
lesquelles la sortie est vraie (=1). L’équation de fonctionnement est égale à la somme logique de toutes
les combinaisons pour lesquelles la sortie est vraie.
Exercice 2- Relations de De Morgan
Corrigé page ??
Q1. Démontrer ces égalités à partir des tables de vérité.
Q2. Généralisation des relations de De Morgan
Q2a. Montrer que a · b · c = a + b + c
Q2b. Montrer que a + b + c = a · b · c
Exercice 3- Relations d’absorption
Corrigé page ??
Q1. Démontrer les deux relations d’absorption.
a ) Exemple : va et vient
L’éclairage d’un couloir est commandé par deux interrupteurs, un à chaque extrémité, (d à droite,
g à gauche), la lampe est notée L.
– Une personne traverse le couloir de droite à gauche, en entrant, elle bascule l’interrupteur d
pour éclairer la lampe, à l’autre extrémité, elle appuie sur g pour éteindre.
– Une seconde traverse à sa suite dans l’autre sens, elle bascule g pour éclairer, elle éteint à l’autre
extrémité (d ).
– Une troisième arrive à sa suite, éclaire le couloir en appuyant sur g , elle éteint en sortant.
On supposera qu’au début les deux interrupteurs sont dans la même position. A cet état repos est
associée la valeur logique 0.
La figure 9.7 décrit chronologiquement les différents états des deux interrupteurs et de la lampe.
9.5 Fonctions logiques de base à 2 variables
Première personne
Deuxième personne
Troisième personne
9
Action
Etat repos
Entrée en d
d
0
1
g
0
0
L
0
1
traversée
Sortie en g
1
1
0
1
1
0
Entrée en g
traversée
Sortie en d
Entrée en g
Traversée
Sortie en d
1
1
0
0
0
1
0
0
0
1
1
1
1
1
0
1
1
0
Commentaires
La lampe est éteinte
Appuie sur d (d=1) , la lampe
s’éclaire (L=1)
La lampe reste éclairée
Appuie sur g (g=1) , la lampe
s’éteint
(g=0) la lampe s’éteint
(d=0) la lampe s’éteint
(g=1) , la lampe s’éclaire
(d=1) la lampe s’éteint
F IGURE 9.7 – Fonctionnement d’un va et vient
On peut traduire de fonctionnent à l’aide d’une table de vérité.
les deux boutons au repos
un bouton appuyé
les deux boutons appuyés
l’autre bouton relâché
d
0
1
1
0
g
0
0
1
1
L
0
1
0
1
L=d ·g =1
L=d ·g =1
En recherchant les combinaisons, pour lesquelles la sortie est vraie, on peut déterminer l’équation
logique décrivant le fonctionnement :
La lampe s’éclaire donc pour la combinaison suivante des variables d’entrée :
L = d ·g +d ·g
Exercice 4- Éclairage intérieur automobile
Corrigé page ??
La lumière intérieure d’un véhicule s’éclaire si une des deux portes avant est ouverte (capteurs p d
et p g à coupure de circuit) ou si l’interrupteur du plafonnier (p l ) est appuyé.
Q1. Déterminer l’équation.
9.5 Fonctions logiques de base à 2 variables
9.5.1 Fonctions de base
Aux quatre opérateurs de base, on associe une fonction logique représentée par un symbole graphique (figure 9.8). À l’aide de ces symboles, on peut construire des schémas logiques (logigramme)
traduisant l’équation logique.
Les fonctions logiques élémentaires permettent de décrire tous les fonctionnements logiques
(voir le schéma logique du va et vient figure 9.9).
10
9 Systèmes à événements discrets
Fonction
table de vérité
symbole
équation
OUI
a
0
1
S
0
1
a
1
S
S=a
NON
a
0
1
S
1
0
a
1
ou
1
S
S=a
a
S
ET
a
0
1
0
1
b
0
0
1
1
S
0
0
0
1
a
b
&
S
S = a ·b
OU
a
0
1
0
1
b
0
0
1
1
S
0
1
1
1
a
b
≥1
S
S = a +b
F IGURE 9.8 – Tableau des fonctions logiques de bases
a
1
a
&
a ·b
≥1
S = a ·b +a ·b
&
b
a ·b
1
b
F IGURE 9.9 – Schéma logique du va et vient
9.5.2 Fonctions complexes
Il existe aussi, d’autres fonctions 1 , souvent utilisées en électronique pour construire des schémas
plus complexes, ou plus compacts (tableau 9.1).
Les fonctions NON-OU (NOR) et NON-ET (NAND) sont des fonctions universelles, qui permettent
de réaliser toutes les autres fonctions logiques.
Les fonctions NON-OU et NON-ET sont principalement utilisées en technologie électronique cablée (circuits intégrés) pour optimiser les circuits (1 seul type de composant pour toutes les fonc1. ces foncions ne sont pas explicitement au programme
9.5 Fonctions logiques de base à 2 variables
Fonction
NAND
(NON-ET)
NOR
(NON-OU)
INH
inhibition
XOR
OUX
ou exclusif
XNOR
NON- OUX
non ou exclusif
11
table de vérité
symbole
équation
a
0
1
0
1
b
0
0
1
1
S
1
1
1
0
a
b
&
S
S = a ·b = a +b
a
0
1
0
1
b
0
0
1
1
S
1
0
0
0
a
b
≥1
S
S = a +b = a ·b
a
0
1
0
1
b
0
0
1
1
S
0
1
0
0
a
b
&
S
S = a ·b
a
0
1
0
1
b
0
0
1
1
S
0
1
1
0
a
b
=1
S
S = a ·b +a ·b
S = a ⊕b
a
0
1
0
1
b
0
0
1
1
S
1
0
0
1
a
b
=1
S
S = a ·b +a ·b
S = a ⊕b
TABLE 9.1 – Tableau des fonctions logiques - suite
tions).
9.5.3 Logigramme
Un logigramme ou schéma logique est la représentation schématique d’une fonction logique obtenue en utilisant les symboles graphiques associés à chaque fonction.
Exercice 5- Fonctions universelles
Corrigé page ??
On dit qu’une fonction logique est universelle, lorsqu’il est possible en utilisant uniquement cette
fonction, de réaliser toutes les autres.
Q1. Montrez que les les fonction NAND et NOR sont des fonctions universelles, tracer les logigrammes
12
9 Systèmes à événements discrets
Exercice 6- Logigramme
Corrigé page ??
Q1. Tracer le logigramme de S = a · b · c + a · c
9.5.4 Réalisation des fonctions logiques en technologie électrique câblée
a ) Fonctions de base
Fonction
Schéma
0V
a
V
a
V
OUI
0V
NON
0V
a
b
a
OU
vV
V
ET
0V
vV
V
vV
vV
b
La figure 9.10 correspond à la réalisation d’un circuit va et vient (ou exclusif) en technologie électrique.
0V
a
b
a
b
V
V
F IGURE 9.10 – Va et vient en technologie électrique
b ) Utilisation d’un relais
La réalisation de fonctions complexes ou de mémoire ne peut se faire en technologie électrique
qu’en utilisant des relais électromagnétiques.
Un relais électromagnétique (figure 9.11) est constitué, d’un électroaimant (une bobine, et un
noyau en fer doux). la bobine est alimentée par le circuit de commande, le champ électromagnétique
crée permet de fermer un ou plusieurs contact dans un circuit secondaire. ce circuit secondaire peut
être alimenté avec la même tension que le circuit de commande ou une tension propre au circuit de
puissance.
9.6 Détermination et simplification des fonctions logiques
circuit de
commande
13
palette
X
contact du circuit
secondaire
Uc
x
bobine
+ noyau
(a) schéma
(b) symbole
F IGURE 9.11 – relais électromagnétique
circuit de commande
wV
0V
a
0V
0V
V
vV
0V
a
x
X
V
vV
vV
circuit de puissance
(a)
(b) schéma normalisé
F IGURE 9.12 – circuit élémentaire de commande d’un relais
9.6 Détermination et simplification des fonctions logiques
La première solution pour simplifier une fonction logique est d’appliquer les propriétés des fonctions logiques,
Une autre solution est d’utiliser une méthode graphique à partir du tableau de Karnaugh.
Soit, un comportement combinatoire décrit par la table de vérité suivante :
14
9 Systèmes à événements discrets
9.6.1 Simplification à partir des relations de l’algèbre
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
S
0
1
0
1
1
0
1
1
Commençons, par déterminer à quelles conditions, la sortie est vraie.
a
b
c
S
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
1
a ·b ·c
1
0
0
1
a ·b ·c
1
0
1
0
1
1
0
1
a ·b ·c
1
1
1
1
a ·b ·c
a ·b ·c
Simplification à partir des règles de l’algèbre de Boole.
S = a ·b ·c +a ·b ·c +a ·b ·c +a ·b ·c +a ·b ·c
S = a ·c · b +b +a ·b ·c +a ·b · c +c
S = a ·c +a ·b ·c +a ·b
S = a ·c +a · b ·c +b
S = a ·c +a · c +b
(factorisation)
(b + b = 1)
(absorbtion : b · c + b = b + c)
S = a ·c +a ·c +a ·b
(ou exclusif : a · c + a · c = a ⊕ c)
S = a ⊕c +a ·b
finalement
S = a ⊕c +a ·b
9.6.2 Simplification à partir du tableau de Karnaugh
Cette méthode de simplification n’est pas explicitement au programme, elle sera présentée en TD.
9.7 Exercices
15
9.7 Exercices
Exercice 7- Cuve chauffée
Corrigé page ??
Le niveau d’une cuve est contrôlé par 2 cap– Les capteurs de niveau sont à l’état logique
teurs de niveau (n 1 , n 2 ) et un capteur de tempé1 lorsque le liquide est présent devant le
capteur.
rature à deux seuils (t 2 , t 1 ).
– Une vanne V motorisée permet le remplisV
sage de la cuve.
– Une résistance chauffante R assure le
chauffage.
n2
Dans cette cuve chauffée, le niveau doit être
cuve
maintenu entre le niveau haut et le niveau bas et
la température entre les deux seuils.
t2
Une sécurité de fonctionnement interdit le
n1
t1
R
chauffage si le niveau bas est atteint, de même le
remplissage ne peut se faire si la température est
trop basse (sauf si la cuve est vide).
En cas de panne de capteur ou d’état incohé– Les capteurs de température sont à l’état
logique 1 dès que la température est supé- rent, une alarme est déclenchée et toutes les actions stoppées.
rieure à la température à détecter.
Q1. Décrire le fonctionnement de la vanne motorisée et de la résistance chauffante par une table de
vérité.
Q2. Préciser les cas incohérents. Ajouter une sortie Alarme A pour informer l’opérateur.
Q3. Déterminer les équations de fonctionnement de V, R et A.
Q4. Tracer les logigrammes.
Exercice 8- Règle du consensus
Corrigé page ??
La règle du consensus, est une règle de simplification des fonctions logiques, elle prend deux formes,
celle d’une somme de produit, celle d’un produit de somme.
Q1. Montrer que a · c + b · c + a · b = a · c + b · c
Q2. Montrer que (a + c) · b + c · (a + b) = (a + c) · b + c
Remarque : on pourra utiliser la description par une table de vérité pour vérifier ces assertions,
puis retrouver le résultat par des simplifications à partir de l’algèbre de Boole.
16
9 Systèmes à événements discrets
Exercice 9- Étude d’un comparateur
Corrigé page ??
A. Description
On se propose de réaliser un module permettant de comparer bit à bit deux nombres binaires de
4 bits (A = a 3 a 2 a 1 a 0 et B = b 3 b 2 b 1 b 0 ) et d’indiquer à l’issue de la comparaison si A > B ou A < B ou
A = B.
A.1. Comparateur 1 bit
Le comparateur ci-contre permet de comparer les deux bits a 0 et b 0 . L’entrée v permet de synchroniser plusieurs modules, le résultat n’est calculé que si v = 1.
Comparateur 1 bit
v
a0 > b0
a0
a0 < b0
b0
a0 = b0
Q1. Compléter la table de vérité
a0
0
0
0
0
b0
0
0
1
1
v
0
1
0
1
(sup 0 = "a 0 > b 0 ")
0
0
(i n f 0 = "a 0 < b 0 ")
0
0
(eg a 0 = "a 0 = b 0 ")
0
1
Q2. Déduire les équations, (sup 0 ), (i n f 0 ) et (eg a 0 )
Q3. Tracer le schéma logique interne du comparateur
A.2. Comparateur 4 bits
On considère maintenant le comparateur 4 bits constitué de 4 comparateur 1 bit de la figure 9.13.
Q4. Déterminer les équations logiques qui permettent de déterminer si A > B ou A < B ou A = B.
Q5. Compléter le schéma logique interne du comparateur 4 bits.
9.7 Exercices
17
C3
v
v
a3
sup 3
b3
eg a 3
i n f3
A>B
C2
a0
sup 2
a1
v
a2
a2
b2
eg a 2
i n f2
a3
A<B
C1
v
a1
sup 1
b1
eg a 1
i n f1
b0
b2
b3
A=B
C0
b1
v
a0
sup 0
b0
eg a 0
i n f0
F IGURE 9.13 – Comparateur 4 bits
18
9 Systèmes à événements discrets
9.8 Systèmes séquentiels
Avant d’aborder les systèmes à événements discrets, nous allons décrire les systèmes séquentiels.
La plupart des traitements ne sont pas uniquement combinatoires mais souvent séquentiels.
Dans un traitement séquentiel le système doit pouvoir mémoriser certaines valeurs pour pouvoir
les réutiliser.
Un système est dit séquentiel, lorsque la ou les sorties dépendent de la combinaison des entrées
et de l’état précédent des sorties.
Une même cause (même combinaison des entrées) peut produire des effets différents et l’effet
peut persister si la cause disparaît.
e1
e2
ei
en
Système
séquentiel
s1
sj
sn
États précédents
F IGURE 9.14 – Système séquentiel
9.8.1 Fonction mémoire
À l’apparition du signal ecr (écriture), la sortie passe à l’état 1, à la disparition du signal la sortie
reste dans le même état (figure 9.15). L’apparition du signal e f f (effacement), la sortie repasse à l’état
0.
Le maintien de la sortie correspond à l’effet mémoire.
mémorisation
S0
ecr
ef f
Fonction
memoire
S
ef f 0
t
ecr 0
(b) chronogramme
F IGURE 9.15 – Fonction mémoire
a ) Fonction mémoire à effacement prioritaire
Soit un système constitué de deux boutons poussoirs, m (marche) et a (arrêt) et d’un voyant V.
Un appui sur m éclaire le voyant V, si on relâche le bouton, la sortie reste à l’état 1, si on appuie
sur a, quel que soit l’état de du voyant V et de m, le voyant s’éteint.
9.8 Systèmes séquentiels
19
Nous allons construire la table de vérité traduisant ce comportement.
les deux boutons sont relâchés et le voyant est éteint
m
0
a
0
V
0
le bouton m est appuyé, le voyant s’éclaire
1
0
1
le bouton m est relâché, le voyant reste éclairé
0
0
1
le bouton a est appuyé, le voyant s’éteint
0
1
0
les boutons m et a sont appuyés, le voyant est éteint
1
1
0
On constate sur cette table que le fonctionnement n’est pas combinatoire, en effet, pour deux
états identiques, (m = 0, et a = 0) la sortie V a deux états différents.
Pour mettre en évidence l’état interne mémorisé, nous allons introduire une nouvelle entrée dans
le tableau, Vt −δt qui représente l’état précédent de V.
On construit la table en remplissant dans l’ordre les différents états des entrées et sorties, en reportant l’état de la sortie V dans Vt −δt de la ligne suivante.
m
a
Vt −δt
V
0
1
1
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
On constate que l’on a maintenant 8 combinaisons différentes des 3 variables m, a, et Vt +δt . le
fonctionnement est maintenant combinatoire (8 combinaisons pour 23 = 8 possibles).
D’où l’équation logique du voyant :
V = m · a · Vt −δt + m · a · Vt −δt + m · a · Vt −δt
V = a · m · Vt −δt + m · Vt −δt + m · Vt −δt
V = a · m · Vt −δt + Vt −δt + m · Vt −δt
V = a · m + m · Vt −δt
V = a · (m + Vt −δt )
Le temps δt peut être aussi petit que possible, on peut donc écrire :
V = a · (m + V)
Et le schéma logique :
20
9 Systèmes à événements discrets
a
1
a
&
V = a (m + V)
≥1
m
m +V
que l’on peut mettre sous la forme :
a
a
1
&
m
V = a (m + V)
≥1
m +V
où on retrouve, la structure d’un système séquentiel.
On dit que le fonctionnement de cette mémoire est à « effacement prioritaire », en effet en cas de
demande de mise à 1 et à mise à 0 simultanée, la mise à 0 l’emporte (dernière ligne de la table de
vérité).
mémorisation
appui simultané
V01
a 01
m 01
t
F IGURE 9.16 – mémoire est à « effacement prioritaire »
b ) Réalisation d’une fonction mémoire en technologie électrique
Pour réaliser une fonction mémoire, il est nécessaire d’utiliser un relais qui permet avec un circuit
d’auto-maintien de mémoriser l’impulsion sur un bouton (figure 9.17).
0V
a
x
X
vV
m
0V
x
V
wV
F IGURE 9.17 – fonction mémoire à effacement prioritaire avec auto maintien
9.8 Systèmes séquentiels
21
Exercice 10- Mémoire à écriture prioritaire
Corrigé page ??
Le comportement d’une mémoire à écriture prioritaire, est identique à celui d’une mémoire à
effacement prioritaire, sauf dans le cas d’une de demande de mise à 1 et à mise à 0 simultanée, la
mise à 1 l’emporte.
Q1. Construire la table de vérité de la mémoire à écriture prioritaire, en déduire l’équation logique.
Q2. Tracer le schéma logique puis le chronogramme.
Q3. Concevoir le schéma électrique d’une mémoire à écriture prioritaire en technologie électrique.
Exercice 11- Bascule RS
Corrigé page ??
La bascule RS est un composant souvent utilisée en technologie électronique câblée permettant
de mémoriser une information. le schéma ci-dessous décrit le schéma logique interne de la bascule
RS.
≥1
R
Q
S
≥1
Q
Q1. Construire la table de vérité de la bascule RS puis le chronogramme.
Q2. La combinaison R = 1 et S = 1 est déconseillée, que se passe-t-il ?
22
9 Systèmes à événements discrets
9.9 Machine à états- State machine diagram
Il n’est pas facilement réalisable de décrire le comportement d’un système séquentiel, à partir
d’une simple table de vérité. Le nombre de combinaison possible à étudier devenant très rapidement
un obstacle à toute synthèse. (2n combinaisons pour n variables).
Plusieurs outils, en général graphiques, ont été développés pour faciliter cette description.
Les élèves ayant fait une terminale S-Si ont utilisé un outil particulier, le GRAFCET. Nous allons
utiliser deux diagrammes du langage SysML pour décrire les systèmes à événement discret.
Le diagramme des machines à états du langage SysMl permet de décrire l’évolution des états d’un
système en fonction de événements extérieurs.
9.9.1 Syntaxe de base
On distingue 3 états principaux
– l’état initial représenté par un cercle plein noir .
Cet état (pseudo état) est nécessaire, il indique le point d’entrée dans un graphe.
– l’état final représenté par un cercle plein noir cerclé
.
Ce pseudo état n’est pas toujours nécessaire, il décrit l’état final d’un comportement.
– l’état proprement dit. Il représente un phase de vie du système, le système reste dans l’état
décrit tant que les conditions d’évolution ne sont pas remplies. Il est représenté par un cadre
précisant l’état et/ou les actions à réaliser pendant cette phase de vie.
Un état est représenté par un cadre (figure 9.19).
Les transitions les transitions d’un état à l’autre (ou sur lui même) sont représentées par un lien
orienté, la condition de transition est décrite sur le lien. Une transition représente le passage
instantané d’un état vers un autre. Une transition ne peut donc pas avoir de durée. On appelle
état source l’état de départ d’une transition et état destination l’état d’arrivée. Une transition
n’est évaluée que si l’état source est actif.
9.9.2 Les transitions
La syntaxe d’un transition peut être relativement complexe et comporter, jusqu’à trois éléments
distincts
– l’événement : c’est la condition principale qui déclenche le passage d’un état à une autre. cela
peut être,
– le changement d’état d’une variable (un appui sur un bouton, une température atteinte,. . .) :
when(T > T0 ).
S’il n’y a pas de confusion, when n’est pas précisé.
– une condition temporelle : after(2s) ;
– la condition de garde : c’est une condition booléenne qui complète l’événement et qui en
contraint l’effet. Si une transition comporte un événement et un condition de garde : événement[garde] entre un état source et un état de destination, pour que le système évolue, il faut
que l’événement soit vrai et que la condition de garde soit vraie.
– l’action ou activité : décrit les actions qui sont exécutées pendant le franchissement.
– Chaque terme de la transition est optionnel.
9.9 Machine à états- State machine diagram
23
La transition est franchie lorsque les conditions de franchissement associées sont vraies :
– Si l’événement apparaît (déclencheur) et si la condition de garde est vraie à ce moment alors la
transition est franchissable : si l’état source était actif alors il se désactive et l’état de destination
s’active. L’activité, si elle existe, est exécutée avant celles situées dans l’état de destination. La
condition de garde n’est prise en compte qu’au moment de l’occurrence de l’évènement.
– Si aucun évènement est écrit alors il est toujours vrai.
– Si aucune condition de garde est écrite alors elle est toujours vraie.
– Une transition qui ne contient aucune condition de franchissement est dite automatique, elle
est franchie dès que la tache à l’intérieur de l’état source est terminée.
a ) Transition réflexive
Arc orienté qui relie le même état (source = destination). Cela permet d’exécuter à nouveau les
activités associées à exit et à entry de nouveau.
b ) Transition alternative
Lorsqu’un choix se présente entre deux ou plusieurs évolutions, il est possible d’utiliser le mot
clef else pour préciser l’alternative. On peut aussi préciser l’alternative en utilisant le pseudo état de
point de décision
dans le transition (figure 9.18).
État 1
État 1
événement
événement[else]
État 3
événement[condition]
État 2
[else]
État 3
[condition]
État 2
F IGURE 9.18 – Transition alternative
La clause else ne peut se trouver que dans une condition de garde.
9.9.3 Les blocs
Un bloc est donc une entité qui précise l’état du système lorsque le bloc est actif.
Le graphisme de base est un rectangle précisant l’état et/ou les actions à réaliser pendant cette
phase de vie (figure 9.19(a)). Cette description peut être précisée en nommant le bloc (figure 9.19(b)).
Il est parfois nécessaire de préciser le comportement d’un état, on peut ainsi le détailler en prenant en compte 3 phases (figure 9.19(c)) :
– ce qui doit se passer en entrant dans l’état, cette phase est introduite par le mot clef :entry. Les
taches ou actions décrites dans cette partie sont exécutées à chaque fois que l’on rentre dans le
bloc, quelle que soit la durée de ce bloc.
24
9 Systèmes à événements discrets
– ce qui doit se passer tant que l’état est actif, le mot clef do introduit cette phase. Les taches du
do sont réalisées tant que l’état est actif. Une action réalisée dans le do ne prend fin que si un
événement est présent.
– ce qui doit se passer en quittant le bloc, cette phase est décrite dans le mot clef exit. Les taches
ou actions décrites dans cette partie sont exécutées à chaque fois que l’on rentre dans le bloc,
quelle que soit la durée de ce bloc.
Nom
entry : liste des taches exécutées en entrant
do : liste des taches exécutées
pendant le déroulement
Nom
État
État
(a) graphisme de base
(b) Bloc nommé
exit : liste des taches exécutées en sortant
(c) Bloc avec liste des taches
F IGURE 9.19 – graphismes d’un bloc
a ) États composites
Un bloc peut aussi contenir une sous machine à état. Cette encapsulation permet de décrire des
fonctionnements plus complexes sans trop alourdir le graphisme. Un tel état est appelé état composite ou super état (voir exemple ??).
– L’activation de l’état composite entraîne l’activation du pseudo-état initial interne(rond noir).
– La désactivation de l’état composite entraîne la désactivation de l’état actif.
– Chaque sous-état peut aussi être un état composite et ainsi de suite. . .
– Un état composite peut contenir des activités associées à entry, do et exit. entry et do sont traités
avant l’activation du pseudo-état initial de la région, exit est traité au moment de la désactivation de l’état composite.
b ) États orthogonaux
Un bloc peut aussi contenir plusieurs états dits orthogonaux, les états orthogonaux sont exécutés
simultanément dès l’activation de l’état encapsulant (figure 9.20).
Quand un état orthogonal est terminé, les autres états orthogonaux peuvent rester actifs.
Une transition sortant de l’état englobant termine simultanément tous les états orthogonaux.
Transition fork et join Les deux pseudos états fork et join sont représentés par une barre épaisse,
– le fork permet de d’activer plusieurs états orthogonaux.
– le join de regrouper plusieurs transitions issues de plusieurs états orthogonaux.
9.9 Machine à états- State machine diagram
25
Boisson sélectionnée
Fin préparation
Préparation
entry : Placer gobelet
do : ajouter sucre
do : remplir
exit : signal sonore
Restitution monnaie
entry : monnaie= credit - boisson(prix)
do : rendre monnaie
F IGURE 9.20 – États orthogonaux
Boisson sélectionnée
Fin préparation
Préparation
entry : Placer gobelet
do : ajouter sucre
do : remplir
exit : signal sonore
Restitution monnaie
entry : monnaie= credit - boisson(prix)
do : rendre monnaie
F IGURE 9.21 – Etats orthogonaux, fork et join
c ) Prise en compte de l’historique
Il est parfois nécessaire de mémoriser l’état actuel avant de le quitter afin de le retrouver lors du
retour dans l’état et de poursuivre le déroulement.
F IGURE 9.22 – États historiques
26
9 Systèmes à événements discrets
L’historique, est précisé par le pseudo-état H ou H* .
– shallow history H : 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 H* : idem que précédemment mais avec la propagation de l’historique à tous les
sous-états composites de niveaux hiérarchiques inférieurs
9.9.4 Quelques exemples
a ) Lampe - bouton poussoir
Une lampe L est éclairée par une impulsion sur un bouton poussoir Bp , une impulsion sur ce
même bouton, l’éteint.
La figure 9.23 montre deux possibilités analogues pour décrire ce fonctionnement
sm : Lampe [description]
sm : Lampe [description]
Éteinte
Éteinte
entry : L = 0
Bp
Bp
Bp
Bp
Eclairée
entry : L = 1
(a)
Eclairée
entry : L = 1
exit : L = 0
(b)
F IGURE 9.23 – Lampe et bouton poussoir :deux descriptions d’un même fonctionnement
On note dans cet exemple
– l’utilisation de entry et exit ;
– les multiples représentations d’une même description.
Proposer une autre méthode pour décrire ce fonctionnement.
b ) Lampe temporisée
Un éclairage extérieur est mis en route par le passage d’une personne sous le détecteur (d ), il
fonctionne alors pendant 30 s. Si une nouvelle personne se présente alors que l’éclairage est actif,
celui-ci redémarre pour 30 s.
La figure 9.24 décrit le fonctionnement attendu, la boucle ré-entrante dans l’état « Éclairée » permet de relancer l’attente.
On note dans cet exemple
– l’utilisation de after pour représenter une temporisation ;
– l’utilisation d’une transition réflexive ;
– l’action décrite dans le do, n’est pas arrêté par la transition réflexive.
9.9 Machine à états- State machine diagram
27
sm : Lampe [description]
Éteinte
entry : L = 1
a f t er (30s)
d
Eclairée
d
entry : Lancer Tempo
do : L = 1
F IGURE 9.24 – Lampe temporisée
c ) Fonctionnement d’une porte motorisée
La porte peut être dans l’un des trois états : « Ouverte », « Fermée » ou « Verrouillée ».
Le système peut répondre aux événements « Ouvrir », « Fermer », « Verrouiller » et « Déverrouiller ».
Le matin, la porte est déverrouillée et le soir, elle est verrouillée. La commande est réalisée par un
bouton à clef placé à l’extérieur.
Les boutons "Ouvrir" et "Fermer" sont placés à l’intérieur, dans le local de surveillance.
Un détecteur permet de vérifier que le passage est libre.
Un voyant orange clignotant est alimenté lorsque la porte se déplace.
sm : Porte électrique [Fonctionnement global]
Verrouillée
Verrouiller
Déverrouiller
Ouvrir/Voyant_clignotant
Ouverte
Fermée
Fermer[passage_vide]/voyant_clignotant
F IGURE 9.25 – Porte électrique
– À la mise sous tension (état initial) la porte est verrouillée.
– L’événement Déver r oui l l er met la porte dans l’état « Fermée ».
– L’événement Ver r oui l l er met la porte dans l’état « Verrouillée ».
28
9 Systèmes à événements discrets
– La condition de passage Ouvr i r /voy ant cl i g not ant met la porte dans l’état « Ouverte ». Pendant le déplacement, l’action /voy ant cl i g not ant a lieu.
– L’évolution de l’état « Ouverte » à l’état ne peut se faire que si l’événement Fer mer est vrai et que
la condition de garde [passag e vi d e] est vraie. Pendant le déplacement, l’action /voy ant cl i g not ant
a lieu.
d ) Voiture automatique
Le fonctionnement d’une voiture peut être décrit par deux états élémentaires, « À l’arrêt », « En
Marche ».
Si l’état « À l’arrêt » peut suffire à décrire cet état, l’état « En Marche » lui comporte lui un grand
nombre d’états, qui peuvent aussi être décomposé. La figure 9.26 montre un premier niveau de décomposition, qui utilise un état composite (super état) pour décrire l’état en marche.
stm [State Machine] IRQFWLRQQHPHQWYpKLFXOH
jO
DUUrW
FRQWDFWPLV / GpPDUUHU
FOHIUHWLUpH / DUUrWGXYpKLFXOH
HQPDUFKH
entry / DXWRFRQWU{OH
do / )RXUQLUODSXLVVDQFH
exit / $UUrWGHVDFFHVVRLUHV
SRVLWLRQQHXWUH
SRLQWPRUW
HQDYDQW
PDUFKHDYDQW [YLWHVVH>=0]
PDUFKHDUULqUH[YLWHVVH<=0]
SRVLWLRQQHXWUH
HQDUULqUH
F IGURE 9.26 – Descrition succincte d’une voiture automatique
9.9 Machine à états- State machine diagram
29
e ) Micro-onde
Le fonctionnement d’un micro-onde peut être décrit par la machine à états de la figure 9.27.
À la mise en route, le micro-onde est arrêté, l’utilisateur règle le temps de cuisson, lance la cuisson en appuyant sur marche. Si la porte est fermée, la cuisson est lancée, la condition de garde [in
(Fermée)] n’autorise le passage que si la porte se touve dans l’état Fermée.
Dès que la porte est ouverte, la condition de garde [not in (Fermée)] est vraie, et la cuisson est
stoppée, le timer est mis en pause.
Lorsque le temps écoulé est supérieur au temps de cuisson programmé [Timer≥Temps_cuisson],
le micro-onde se retrouve dans l’état initial.
On notera dans cet exemple :
– les deux états orthogonaux ;
– d’un état composite dans un état composite ;
– l’utilisation du mot clef in pour préciser qu’un événement ou une condition de garde dépend
d’un autre état.
Micro-onde
En Marche
Générateur
entry : Remise_à_zéro_Timer ;
Mémoriser_Temps_cuisson ;
marche
[in (Fermée)]
Arrêt
Cuisson
Repos
arrêt
entry : Lancer_Timer
[Timer≥Temps_cuisson]
entry : Timer
en pause
do : Générer_microondes
[not in (Fermée)]
Porte
porte_ouverte
Ouverte
Fermée
porte_fermée
F IGURE 9.27 – Machine à états micro-onde
30
9 Systèmes à événements discrets
9.9.5 Exercices
Exercice 12- Mémoires à écriture prioritaire et à effacement prioritaire
Corrigé page ??
Q1. traduire le fonctionnement des mémoires à écriture prioritaire et à effacement prioritaire par un
diagramme d’états
Exercice 13- Portail BFT
Corrigé page ??
– Cycle d’ouverture. A la première impulsion sur le bouton marche ou la télécommande, le verrou
électromagnétique sur le petit portillon se débloque puis le portail et le portillon s’ouvrent.
L’ouverture dure 15s. Le portail reste ensuite ouvert.
– Cycle de fermeture. Une deuxième impulsion sur le bouton marche ou la télécommande à partir de la position ouverte déclenche la fermeture du grand vantail, le petit vantail débute son
cycle de fermeture 3s plus tard. La fermeture dure 15s
– Inversion de cycle. Une impulsion sur la télécommande ou le bouton marche pendant un cycle,
arrête ce cycle. une nouvelle impulsion déclenche le cycle opposé.
– Sécurité. Si le faisceau de la cellule photoélectrique est coupé pendant le cycle de fermeture, le
cycle s’interrompt et le cycle d’ouverture démarre.
Q1. Décrire le fonctionnement par un diagramme d’états
9.9 Machine à états- State machine diagram
31
Exercice 14- Cuve chauffée - Machine à état
Corrigé page ??
On reprend la description de la cuve chauffée.
Le niveau d’une cuve est contrôlé par 2 capteurs de niveau (n 1 , n 2 ) et un capteur de température à deux seuils (t 2 , t 1 ).
– Une vanne V motorisée permet le remplissage de la cuve.
– Une résistance chauffante R assure le
chauffage.
V
n2
cuve
n1
R
t2
t1
Dans cette cuve chauffée, le niveau doit être
maintenu au niveau haut et la température à la
température haute.
Le chauffage ne peut avoir lieu si le niveau est
sous le niveau bas, de même le remplissage ne
peut se faire si la température est trop basse (sauf
si la cuve est sous le niveau bas).
– Les sondes de température sont à l’état logique 1 dès que la température est supérieure à la température à détecter.
– Les capteurs de niveau sont à l’état logique
1 lorsque le liquide est présent devant le
capteur.
En cas de panne de capteur ou d’état incohérent, une alarme est déclenchée et toutes les actions stoppées. le retour en fonctionnement normal ne se fait qu’après une validation par un bou-
ton à clef (clef v al ).
Un robinet de vidage (non représenté) permet de prélever le liquide chauffé.
Nous avons vu dans un TD précédent, que le
fonctionnement peut être décrit par la table de
vérité suivante :
n1 n2 t1 t2
V R Al
0
0
0
0
1 0
0
0
0
0
1
0 0
1
0
0
1
1
1 0
0
0
0
1
0
1 0
0
0
1
0
0
0 0
1
0
1
0
1
0 0
1
0
1
1
1
0 0
1
0
1
1
0
0 0
1
1
0
0
0
1 1
0
1
0
0
1
0 0
1
1
0
1
1
1 0
0
1
0
1
0
1 1
0
1
1
0
0
0 1
0
1
1
0
1
0 0
1
1
1
1
1
0 0
0
1
1
1
0
0 1
0
et les équations logiques ci-dessous :
V = n2 · t1 + t2
R = n1 · t2
Al = n 1 · n 2 + t 1 · t 2
On se propose de décrire se fonctionnement
par une machine à états.
Q1. Identifier les états
Q2. Traduire le fonctionnement par une machine
à état.
32
9 Systèmes à événements discrets
On peut dans un premier temps considérer 5 états :
– Au repos : la cuve est pleine à la bonne température ;
– En chauffage : le liquide est en cours de chauffage ;
– En remplissage : la vanne de remplissage est ouverte :
– En remplissage et chauffage ;
– En Alarme.
Fonctionnement normal
En repos
n 2 == 1 t 2 == 1
t 2 == 1 n 2 == 1
n 2 == 0&&t 1 == 1 n 1 == 0
t 1 == 0&&n 1 == 1
n 1 == 1 t 1 == 0
En remplissage
t 1 == 0 n 1 == 0
n 1 == 1 t 1 == 1
En chauffage
t 1 == 1 n 1 == 1
t 2 == 1 n 2 == 0
n 2 == 1 t 2 == 0
En chauffage
et remplissage
v al
(n 2 == 1&&n 1 == 0)(t 2 == 1&&t 1 == 0)
En Alarme
F IGURE 9.28 – Machine à état de la cuve chauffée
Téléchargement