🔄 Modélisation et Commande des Systèmes à Événements Discrets - S5

Année: 2022-2023 (Semestre 5)
Crédits: 2 ECTS
Type: Automatique et Systèmes
Enseignant: Vignolles


PART A: PRÉSENTATION GÉNÉRALE

Objectifs du cours

Ce cours introduit la modélisation et la commande des systèmes à événements discrets (SED), systèmes dont l’évolution est déclenchée par des événements discrets plutôt que par le temps continu. Ces systèmes sont omniprésents dans l’industrie (lignes de production, systèmes de transport), l’informatique (protocoles, workflows) et la robotique. Le cours couvre les automates finis et les réseaux de Petri, outils fondamentaux pour modéliser, analyser et commander ces systèmes.

Compétences visées

Organisation


PART B: EXPÉRIENCE, CONTEXTE ET FONCTION

Contenu pédagogique

Le cours s’organise autour de deux formalismes complémentaires: les automates et les réseaux de Petri.

1. Systèmes à Événements Discrets

Caractéristiques principales:

Les SED évoluent par sauts discrets déclenchés par des événements:

Exemples typiques:

Différence avec systèmes continus:

Critère Systèmes continus Systèmes discrets
États Continus (réels) Discrets (entiers)
Temps Évolution continue Événements instantanés
Modèle Équations différentielles Automates, Petri
Exemple Régulation température Ligne d’assemblage

2. Automates à États Finis

Définition:

Un automate est défini par:

Représentation graphique:

    [e1] --a--> [e2] --b--> [e3]
     |                       |
     +----------c------------+

États = cercles, transitions = flèches étiquetées, état initial = flèche entrante.

Exemple TD: Distributeur de boissons:

États:

Événements:

Déterminisme vs non-déterminisme:

Automate déterministe: une seule transition possible pour chaque couple (état, événement). Automate non-déterministe: plusieurs transitions possibles.

Opérations sur automates:

Produit synchrone: combine deux automates avec synchronisation sur événements communs.

Utilisé pour modéliser des systèmes composés de plusieurs sous-systèmes interagissant.

Accessibilité: un état est accessible s’il existe un chemin depuis l’état initial.

Co-accessibilité: un état est co-accessible s’il existe un chemin vers un état marqué.

Trim: automate ne contenant que les états accessibles et co-accessibles.

3. Réseaux de Petri

Structure de base:

Un réseau de Petri comprend:

Règle de tir:

Une transition est franchissable si toutes les places d’entrée contiennent au moins un jeton.

Après franchissement:

Exemple: Producteur-Consommateur:

    (Buffer vide) --produire--> (Buffer plein) --consommer--> (Buffer vide)

Places: Buffer vide (1 jeton initial), Buffer plein (0 jeton) Transitions: produire, consommer

Propriétés importantes:

Bornage: nombre maximal de jetons dans une place.

Vivacité: une transition est vivante si elle peut toujours être franchie dans le futur (pas de blocage définitif).

Réinitialisabilité: possibilité de revenir au marquage initial.

Blocage (deadlock): marquage où aucune transition n’est franchissable.

Analyse par graphe de marquages:

Graphe représentant tous les marquages atteignables et les transitions entre eux.

Permet de:

4. Modélisation de Systèmes Industriels

Système de tri de pièces (TP):

Composants:

États du système:

Logique de commande (automate programmable):

IF (STATE_TRI = 0) THEN
    T_ON := 0;  // Tapis arrêté
    C_ON := 0;
    IF ((P_g1=1) AND (P_g2=1) AND (P_g3=1)) THEN
        STATE_TRI := 1;  // Tous les bacs vides, démarrer
    END_IF;
END_IF;

IF (STATE_TRI = 1) THEN
    T_ON := 1;  // Démarrer tapis
    C_ON := 1;
    IF (Pp_entreeTapis = 1) THEN
        STATE_TRI := 2;  // Pièce détectée
    END_IF;
END_IF;

IF (STATE_TRI = 3) THEN
    IF ((p_autre=1) AND (p_metal=1)) THEN
        STATE_TRI := 5;  // Pièce métallique
    ELSIF (p_autre=1) THEN
        STATE_TRI := 6;  // Autre pièce
    ELSE
        STATE_TRI := 4;  // Rebut
    END_IF;
END_IF;

Temporisations:

Les timers permettent d’attendre la stabilisation des capteurs:

5. Grafcet et Automates Programmables

Grafcet (Graphe Fonctionnel de Commande Étape-Transition):

Représentation graphique pour automatismes industriels:

Règles d’évolution:

  1. Étape initiale active au démarrage
  2. Transition franchie si étape amont active ET condition vraie
  3. Activation étape aval et désactivation étape amont

Conversion Grafcet → Automate programmable:

Le grafcet se traduit directement en code pour API (Automate Programmable Industriel) en langage structuré ou ladder.

6. Synthèse de Superviseurs

Principe:

Concevoir un contrôleur (superviseur) qui restreint le comportement du système pour respecter des spécifications.

Spécifications typiques:

Événements contrôlables vs non-contrôlables:

Contrôlables: le superviseur peut empêcher leur occurrence (ex: démarrer machine). Non-contrôlables: arrivent spontanément (ex: pièce arrivée, panne).

Méthode:

  1. Modéliser le système (automate ou Petri)
  2. Définir les spécifications (états ou comportements interdits)
  3. Calculer le superviseur (restreindre les transitions)
  4. Vérifier les propriétés (non-blocage, contrôlabilité)

PART C: ASPECTS TECHNIQUES

Travaux Pratiques

TP1: Système de tri automatique

Objectif: modéliser et simuler un système de tri de pièces sur tapis avec le logiciel AutomDiscrete.

Cahier des charges:

Modélisation par automate:

États du système: 7 états (0 à 6)

Événements:

Implémentation logiciel AutomDiscrete:

Outil graphique permettant:

Code généré (extrait):

Variables:

Tests et validation:

Travaux Dirigés

TD1: Automates de base

Exercices:

TD2: Réseaux de Petri

Exercices:

TD: Système manufacturier

Modélisation d’une cellule flexible avec:

Outils Logiciels

AutomDiscrete:

Autres outils:

Méthodologie de Conception

Étapes pour modéliser un système:

  1. Identifier les états: situations distinctes du système
  2. Lister les événements: actions déclenchant changements
  3. Définir les transitions: conditions de passage entre états
  4. Spécifier les actions: sorties associées aux états ou transitions
  5. Valider: simulation et vérification propriétés

Choix entre automates et Petri:

Utiliser automates si:

Utiliser réseaux de Petri si:


PART D: ANALYSE ET RÉFLEXION

Compétences acquises

Modélisation:

Analyse:

Conception:

Applications pratiques

Les SED sont omniprésents dans l’industrie et l’informatique:

Industrie manufacturière:

Transport et logistique:

Informatique:

Robotique:

Liens avec autres cours

Cours Semestre Lien avec SED
Logique Séquentielle S5 Machines d’états, FSM
Systèmes Bouclés S5 Automatique, commande
Programmation Orientée Objet S7 Patterns état (State pattern)
Temps Réel S8 Ordonnancement, synchronisation
Réseaux de Pétri S8 Approfondissement Petri

Perspectives et extensions

Systèmes hybrides: Combinaison de dynamique continue (équations différentielles) et événements discrets. Exemple: thermostat (température continue, chauffage on/off).

Diagnostic et supervision: Utilisation d’automates observateurs pour détecter pannes et anomalies.

Optimisation: Minimisation temps de cycle, maximisation throughput avec Petri temporisés.

Vérification formelle: Model checking pour prouver l’absence de bugs dans protocoles et systèmes critiques.

Recommandations

Pour réussir le cours:

  1. Bien comprendre la différence états/événements
  2. Pratiquer la modélisation graphique (dessiner les automates)
  3. Tester systématiquement avec simulation
  4. Analyser les cas limites (bacs pleins, erreurs capteurs)

Ressources complémentaires:

Mon opinion

Ce cours offre une perspective différente de l’automatique classique (systèmes continus). Il est particulièrement utile pour comprendre les systèmes industriels réels où la notion d’événements discrets est naturelle.

Points forts:

Complémentarité: Les SED complètent parfaitement les cours de systèmes continus. Dans la réalité, beaucoup de systèmes sont hybrides (ex: robot avec contrôle position continue + séquences de tâches discrètes).

Importance professionnelle: Compétences très recherchées dans l’automatisation industrielle, la robotique, et les systèmes embarqués. Les grafcets sont le langage standard des automaticiens.

Applications futures: Ces concepts se retrouvent dans les cours de S8 (Temps Réel, Réseaux de Pétri avancés) et dans les projets industriels (automatisation, supervision).


Bilan personnel: Ce cours a apporté une vision complémentaire de l’automatique, centrée sur les événements plutôt que le temps. La modélisation par automates et réseaux de Petri est intuitive et directement applicable aux systèmes industriels. Le TP sur le système de tri a permis de concrétiser ces concepts avec un cas réel d’automatisation.