Logique sequentielle - Systèmes à événements discrets

De WikiMéca
Aller à : navigation, rechercher

centre d'intérêt:logique

Définitions[modifier]

Système à logique combinatoire / séquentielle[modifier]

Dans un système à logique combinatoire, à une combinaison des entrées correspond un état de sortie unique.

Dans un système à logique séquentielle, l'état de la sortie dépend non seulement de l'état des entrées mais aussi de la position du système dans une séquence d'événement et d'états programmés à l'avance. Dans ce cas, la sortie ne dépend pas uniquement de l'état de l'entrée. Ce fonctionnement implique l'utilisation de mémoires internes au système, appelées aussi bascules.


Exemple :[modifier]

Imaginons la commande d'un moteur électrique, dont la commande est constituée de deux boutons poussoirs "m" (marche) et "a" (arrêt). La mise en marche du moteur est représenté par la variable de sortie ME.

Si on réalise une table de vérité on obtient ceci :

m a ME Commentaires
0 0 ? Dans ce cas, ME peut valoir 0 ou 1 en fonction de ce qu'il s'est passé avant
0 1 0
1 0 1
1 1 0 Dans ce cas, on force l'arrêt

La sortie de la première ligne (entrées à 0) est donc dépendante des événements qui ont eu lieu avant. Il est donc nécessaire que le système mémorise un état pour fonctionner de cette façon.

On remarque que la représentation par table de vérité (ou par tableau de Karnaugh) n'est plus suffisante.

Diagramme de séquence[modifier]

Le diagramme de séquence est un diagramme SysML permettant de montrer une séquence de changements d'états faisant intervenir plusieurs inter-acteurs.

Elements du diagramme de séquence[modifier]

Ligne de vie[modifier]

Lignes verticales pointillées à la verticale des blocs en interaction

Message[modifier]

Lien unidirectionnel horizontal entre deux lignes de vie, ce qui déclenche une activité chez le receveur du message. Les liens en pointillés sont des retours à un message initial. Le retour n'est pas obligatoire.

Activité[modifier]

Rectangles alongés verticaux sur une ligne de vie. Ces activités montrent que l'élément en haut de la ligne de vie est activé.

Exemple : balance de cuisine Halo[modifier]

Diagramme sequence Halo.png

Diagramme d'état[modifier]

Le diagramme d'état représente pour une partie du système, le comportement de celui-ci à partir de ses états internes et des événements auxquels il réagit.

Elements du diagramme d'état[modifier]

État[modifier]

Un état se représente par un rectangle à coins arrondis. Il possède en général un identifiant séparé du reste du contenu par un trait horizontal.

Dans la partie inférieure apparaissent les transitions internes (voir ensuite).

Un état initial est représenté par un rond noirci duquel part une flèche.

Un état final est représenté par un rond noirci dans un cercle plus grand sur lequel arrive une flèche.

Un état composite est un enchaînement d'états englobés dans un état de niveau supérieur.

Transitions externes[modifier]

Ce sont les possibilités d'évolution entre les états. Elles sont représentées par des flèches qui indiquent le sens de l'évolution.

Ces flèches portent en général un message entre crochets qui indique une condition logique permettant de franchir la transition. (les opérateurs logiques utilisés sont notés : && (et), || (ou), / (not) ).

Elles peuvent également passer par les branchements conditionnels (losange) qui permettent de changer la destination de la transition en fonction de conditions logiques (voir diagramme ci-dessous).

Transitions internes[modifier]

Elles se trouvent à l'intérieure d'un état sous forme d'une liste dans la quelle:

  • "entry" précède l'action à faire à l'entrée dans l'état;
  • "do" précède l'action à réaliser pendant toute la durée de validité de l'état;
  • "exit" précède l'action à faire à la sortie l'état.

Exemple : Balance Halo : Diagramme d'état "pesage"[modifier]

Diagramme d'état pesage balance Halo.png

Exemple : Balance Halo : Diagramme d'état "tarage"[modifier]

Diagramme d'état tarage balance Halo.jpg