Automate Programmable Industriel

Grafcet ascenseur : cours détaillé, méthode et exercices corrigés

Le Grafcet d’un ascenseur est l’un des meilleurs exemples pour comprendre la logique séquentielle en automatisme. Il oblige à raisonner avec précision : une cabine attend, reçoit un appel, choisit un sens de déplacement, vérifie les sécurités, se déplace, s’arrête au bon étage, ouvre les portes, temporise, puis revient en attente.

Ce sujet est particulièrement utile pour les élèves en électrotechnique, maintenance industrielle, automatisme, BTS industriel, bac professionnel MELEC, MSPC, CIRA ou toute formation liée aux automates programmables. Il permet de passer d’un fonctionnement concret à une représentation logique exploitable dans un programme automate.

Qu’est-ce qu’un Grafcet appliqué à un ascenseur ?

Un Grafcet est une représentation graphique d’un automatisme séquentiel. Il décrit les différentes phases d’un système sous forme d’étapes, de transitions et d’actions.

Dans le cas d’un ascenseur, chaque étape correspond à un état précis :

ÉtapeSignification
AttenteLa cabine reste immobile
AppelUn utilisateur demande un étage
VérificationLe système contrôle les sécurités
MontéeLe moteur entraîne la cabine vers le haut
DescenteLe moteur entraîne la cabine vers le bas
ArrêtLa cabine atteint l’étage demandé
Ouverture porteLa porte s’ouvre automatiquement
TemporisationLa porte reste ouverte quelques secondes
Fermeture porteLa porte se referme
Retour attenteLe cycle recommence

L’intérêt du Grafcet est de rendre visible la logique complète du système. Au lieu d’écrire directement un programme complexe, on construit d’abord une méthode claire, étape par étape.

Principe de fonctionnement d’un ascenseur automatisé

Un ascenseur fonctionne selon une logique simple en apparence, mais exige une organisation rigoureuse.

Le système doit répondre à plusieurs questions :

  • Où se trouve la cabine ?
  • Quel étage est demandé ?
  • Faut-il monter ou descendre ?
  • La porte est-elle fermée ?
  • Existe-t-il un obstacle ?
  • Le capteur de l’étage demandé est-il atteint ?
  • La cabine peut-elle repartir ?

Chaque réponse devient une condition dans le Grafcet.

Exemple :

Si l’utilisateur appuie sur le bouton étage 2
ET si la cabine est au rez-de-chaussée
ET si la porte est fermée
ALORS le moteur de montée peut être activé.

Ce raisonnement prépare directement le passage vers un automate programmable industriel.

Les entrées et sorties d’un ascenseur

Avant de construire un Grafcet, il faut toujours identifier les entrées et les sorties.

Entrées du système

Les entrées sont les informations reçues par l’automate.

SymboleDésignationRôle
BP0Bouton appel RDCDemande d’aller au rez-de-chaussée
BP1Bouton appel étage 1Demande d’aller à l’étage 1
BP2Bouton appel étage 2Demande d’aller à l’étage 2
FC0Fin de course RDCDétecte la cabine au RDC
FC1Fin de course étage 1Détecte la cabine à l’étage 1
FC2Fin de course étage 2Détecte la cabine à l’étage 2
PFPorte ferméeAutorise le déplacement
POPorte ouverteConfirme l’ouverture
OBObstacleDétecte une présence dans la porte
SURSurchargeEmpêche le déplacement en cas de surcharge

Sorties du système

Les sorties sont les commandes envoyées par l’automate.

SymboleDésignationRôle
KMMoteur montéeDéplace la cabine vers le haut
KDMoteur descenteDéplace la cabine vers le bas
OUVOuverture porteCommande l’ouverture
FERFermeture porteCommande la fermeture
ALAlarmeSignale un défaut
VOYVoyant appelConfirme la demande utilisateur

Grafcet simple d’un ascenseur à deux niveaux

Prenons un ascenseur qui dessert uniquement :

  • le rez-de-chaussée ;
  • l’étage 1.

Situation initiale

La cabine est au RDC. La porte est fermée. Le système attend une demande.

Séquence attendue

  1. L’utilisateur appuie sur BP1.
  2. La porte reste fermée.
  3. Le moteur montée démarre.
  4. La cabine atteint l’étage 1.
  5. Le moteur s’arrête.
  6. La porte s’ouvre.
  7. Une temporisation se lance.
  8. La porte se referme.
  9. Le système revient en attente.

Représentation textuelle

Étape 0 : Attente au RDC
Transition : BP1 = 1 ET PF = 1

Étape 1 : Montée cabine
Action : KM = 1
Transition : FC1 = 1

Étape 2 : Arrêt à l’étage 1
Action : KM = 0
Transition : automatique

Étape 3 : Ouverture porte
Action : OUV = 1
Transition : PO = 1

Étape 4 : Temporisation porte ouverte
Action : T = 5 s
Transition : T écoulée

Étape 5 : Fermeture porte
Action : FER = 1
Transition : PF = 1

Retour Étape 0

Ce premier Grafcet montre la logique minimale. Il reste volontairement simple pour bien distinguer les étapes.

Grafcet d’un ascenseur à trois étages

Un ascenseur à trois niveaux introduit une difficulté supplémentaire : le système doit choisir entre montée et descente.

Niveaux desservis

  • Niveau 0 : RDC
  • Niveau 1 : premier étage
  • Niveau 2 : deuxième étage

Principe de décision

La décision dépend de la position actuelle et de l’étage demandé.

Position cabineÉtage demandéAction
Niveau 0Niveau 1Monter
Niveau 0Niveau 2Monter
Niveau 1Niveau 0Descendre
Niveau 1Niveau 2Monter
Niveau 2Niveau 0Descendre
Niveau 2Niveau 1Descendre

Le Grafcet peut donc intégrer une étape de choix de direction.

Méthode de construction du Grafcet d’ascenseur

Pour réussir un exercice de Grafcet, il faut éviter de commencer directement par le schéma. La bonne méthode consiste à préparer le fonctionnement.

Étape 1 : définir l’état initial

L’état initial doit être clair.

Exemple :

Cabine au RDC
Porte fermée
Aucun appel actif
Moteur arrêté

Étape 2 : lister les demandes possibles

Pour un ascenseur à trois étages :

BP0 : demande RDC
BP1 : demande étage 1
BP2 : demande étage 2

Étape 3 : identifier les capteurs de position

FC0 : cabine au RDC
FC1 : cabine étage 1
FC2 : cabine étage 2

Étape 4 : ajouter les sécurités

Un ascenseur doit vérifier :

Porte fermée
Aucun obstacle
Aucune surcharge

Étape 5 : écrire les transitions

Les transitions doivent être précises.

Exemple :

BP2 ET FC0 ET PF ET NON OB ET NON SUR

Cette condition signifie :

Demande étage 2
Cabine au RDC
Porte fermée
Aucun obstacle
Aucune surcharge

Étape 6 : associer les actions

Chaque étape active une ou plusieurs sorties.

Exemple :

Étape montée : KM = 1
Étape descente : KD = 1
Étape ouverture : OUV = 1
Étape fermeture : FER = 1

Gestion des sécurités dans un Grafcet d’ascenseur

La sécurité constitue une partie majeure du Grafcet.

Un ascenseur doit éviter :

  • le démarrage porte ouverte ;
  • le déplacement avec obstacle ;
  • le déplacement en cas de surcharge ;
  • l’activation simultanée montée et descente ;
  • l’arrêt imprécis entre deux étages.

Condition générale de déplacement

Déplacement autorisé = PF ET NON OB ET NON SUR

Cela signifie que le moteur peut être commandé uniquement si :

  • la porte est fermée ;
  • aucun obstacle est détecté ;
  • la cabine n’est pas en surcharge.

Interverrouillage montée / descente

Le moteur de montée et le moteur de descente ne doivent jamais être actifs ensemble.

KM = 1 uniquement si KD = 0
KD = 1 uniquement si KM = 0

Cette règle protège le système mécanique et évite les ordres contradictoires.

Illustration du Grafcet d’un ascenseur automatisé

Cette illustration résume le cycle logique d’un ascenseur : appel utilisateur, vérification des sécurités, déplacement de la cabine, arrêt à l’étage, ouverture des portes, temporisation et retour en attente.

Vue simplifiée de l’ascenseur

Étage 2
Étage 1
RDC
CABINE
État E0
MONTER
BP2 🔘
BP1 🔘
BP0 🔘

Séquence Grafcet simplifiée

E0 — Attente cabine
Transition : appel étage + porte fermée
E1 — Choix de direction
E2 — Montée
KM = 1
E3 — Descente
KD = 1
Transition : capteur étage demandé actif
E4 — Arrêt moteur
E5 — Ouverture porte
E6 — Temporisation 5 secondes
E7 — Fermeture porte puis retour attente

Conditions de sécurité intégrées au Grafcet

PF = 1

La porte est fermée avant tout déplacement.

OB = 0

Aucun obstacle détecté au niveau de la porte.

SUR = 0

Aucune surcharge cabine avant le démarrage.

KM ≠ KD

Montée et descente jamais activées ensemble.

Exercice corrigé 1 : Grafcet ascenseur deux étages

Énoncé

Un ascenseur dessert le RDC et le premier étage. Il est initialement au RDC, porte fermée. Lorsqu’un utilisateur appuie sur le bouton BP1, l’ascenseur monte jusqu’à l’étage 1, s’arrête, ouvre la porte pendant 5 secondes, puis referme la porte.

Réaliser le Grafcet.

Correction

Étape initiale

E0 : attente au RDC

Action :

Moteur arrêté
Porte fermée

Transition :

BP1 ET PF

Étape de montée

E1 : montée vers étage 1

Action :

KM = 1

Transition :

FC1

Étape d’arrêt

E2 : arrêt à l’étage 1

Action :

KM = 0

Transition :

1

Étape ouverture

E3 : ouverture porte

Action :

OUV = 1

Transition :

PO

Étape temporisation

E4 : porte ouverte pendant 5 secondes

Action :

T1 = 5 s

Transition :

T1 écoulée

Étape fermeture

E5 : fermeture porte

Action :

FER = 1

Transition :

PF

Retour à l’étape initiale.

Exercice corrigé 2 : ascenseur trois étages avec montée et descente

Énoncé

Un ascenseur dessert trois niveaux : 0, 1 et 2. Il doit monter ou descendre selon l’étage demandé. Les portes doivent rester fermées pendant le déplacement. L’ouverture se fait automatiquement à l’arrivée.

Élaborer la logique du Grafcet.

Correction

Le Grafcet doit d’abord comparer :

Position cabine
Étage demandé

Cas de montée

La montée est commandée si l’étage demandé est supérieur à la position actuelle.

Exemples :

FC0 ET BP1
FC0 ET BP2
FC1 ET BP2

Action :

KM = 1

Transition d’arrêt :

FC étage demandé

Cas de descente

La descente est commandée si l’étage demandé est inférieur à la position actuelle.

Exemples :

FC2 ET BP1
FC2 ET BP0
FC1 ET BP0

Action :

KD = 1

Transition d’arrêt :

FC étage demandé

Séquence après arrivée

Une fois l’étage atteint :

Arrêt moteur
Ouverture porte
Temporisation
Fermeture porte
Retour attente

Exercice corrigé 3 : ajout d’un obstacle porte

Énoncé

On ajoute un capteur obstacle OB. Si un obstacle est détecté pendant la fermeture, la porte doit se rouvrir.

Correction

Pendant l’étape de fermeture :

FER = 1

Deux transitions sont possibles :

Si PF = 1 : fermeture terminée
Si OB = 1 : retour ouverture porte

Grafcet logique

E5 : fermeture porte
Transition 1 : PF → retour attente
Transition 2 : OB → ouverture porte

Cette correction améliore le réalisme du Grafcet. Elle correspond à une logique de sécurité courante sur les portes automatiques.

Exercice corrigé 4 : ascenseur avec surcharge

Énoncé

Un capteur SUR détecte la surcharge. Si la surcharge est active, l’ascenseur doit rester immobile et déclencher une alarme.

Correction

Avant chaque déplacement, on ajoute :

NON SUR

La transition devient :

Appel ET PF ET NON OB ET NON SUR

Si la surcharge est détectée :

SUR = 1

Action :

AL = 1
Moteur bloqué

Le Grafcet peut donc ajouter une étape défaut :

E Défaut : surcharge détectée
Action : alarme active
Transition : NON SUR
Retour attente

Exercice corrigé 5 : appel mémorisé

Énoncé

Un utilisateur appuie sur BP2 alors que la cabine se trouve au RDC. Pendant la montée, un autre utilisateur appuie sur BP1. Le système doit s’arrêter à l’étage 1 avant de continuer vers l’étage 2.

Correction

Il faut mémoriser les appels :

M0 : demande RDC
M1 : demande étage 1
M2 : demande étage 2

Lorsqu’un bouton est appuyé :

BP1 → M1 = 1
BP2 → M2 = 1

Lorsque l’étage est servi :

FC1 ET porte ouverte → M1 = 0
FC2 ET porte ouverte → M2 = 0

La montée devient priorisée :

Si montée active ET M1 = 1 ET FC1 = 1
Alors arrêt étage 1
Puis reprise montée si M2 = 1

Cet exercice prépare aux systèmes d’ascenseurs plus réalistes, où plusieurs appels doivent être traités sans perdre les demandes.

Illustrations des Exercices Corrigés — Grafcet Ascenseur

Ces schémas illustrent les principaux exercices de Grafcet appliqués aux ascenseurs : déplacement simple, gestion multi-étages, sécurités, obstacle porte, surcharge et mémorisation des appels.

Exercice 1 — Ascenseur à Deux Étages

Étage 1
RDC
CABINE
E0
KM = 1
E0 — Attente au RDC
BP1 appuyé
E1 — Montée cabine
FC1 détecté
E2 — Arrêt moteur
E3 — Ouverture porte

Exercice 2 — Ascenseur à Trois Étages

RDC

Cabine au niveau 0

Étage 1

Arrêt intermédiaire

Étage 2

Destination finale

Le Grafcet doit comparer la position actuelle de la cabine avec l’étage demandé afin de déterminer : la montée ou la descente.

Exercice 3 — Gestion de l’Obstacle Porte

E5 — Fermeture Porte
OB = 1
Obstacle détecté
Transition sécurité activée
Retour ouverture porte
Utilisateur protégé

Exercice 4 — Gestion de la Surcharge

SUR = 1

Surcharge détectée

Moteur bloqué

Déplacement interdit

🔔
Alarme active

Signal de sécurité

Exercice 5 — Mémorisation des Appels

M1 = 1

Appel mémorisé étage 1

M2 = 1

Appel mémorisé étage 2

Priorité de trajet

Le système optimise les déplacements

Lorsque plusieurs utilisateurs appuient sur différents boutons, le Grafcet doit mémoriser les appels et organiser les arrêts afin d’éviter les déplacements inutiles et améliorer les performances du système.

Tableau de synthèse des transitions

SituationTransition logiqueÉtape suivante
Appel étage 1 depuis RDCBP1 ET FC0 ET PFMontée
Arrivée étage 1FC1Arrêt
Porte ouvertePOTemporisation
Temporisation terminéeT1Fermeture
Porte ferméePFAttente
Obstacle fermetureOBRéouverture
SurchargeSURDéfaut
Surcharge suppriméeNON SURAttente

Tableau des erreurs fréquentes

ErreurPourquoi c’est problématiqueCorrection
Oublier PF dans la transitionLe moteur peut démarrer porte ouverteAjouter PF avant déplacement
Commander KM et KD ensembleOrdre contradictoireAjouter interverrouillage
Oublier la temporisationPorte trop rapideAjouter T = 5 s
Oublier les capteurs d’étageArrêt imprécisAjouter FC0, FC1, FC2
Oublier l’obstacleFermeture dangereuseRetour ouverture si OB
Oublier la surchargeDéplacement non sécuriséAjouter étape défaut

Comment transformer le Grafcet en programme automate ?

Une fois le Grafcet validé, il peut être traduit dans un automate programmable.

En Ladder

Chaque étape devient souvent une mémoire interne.

Exemple :

E1 = étape montée
E2 = étape arrêt
E3 = étape ouverture

La sortie moteur montée devient :

KM = E1

La transition devient une condition de changement d’étape :

E1 ET FC1 → activation E2

En langage structuré

On peut écrire une logique de type :

SI E1 = 1 ET FC1 = 1 ALORS
E1 = 0
E2 = 1
FIN_SI

En SFC

Le langage SFC est très proche du Grafcet. Il permet de représenter directement les étapes et transitions dans certains logiciels d’automatisme.

Cas pratique complet : ascenseur trois étages sécurisé

Cahier des charges

L’ascenseur dessert trois niveaux. Il doit :

  • mémoriser les appels ;
  • monter ou descendre selon la demande ;
  • empêcher tout déplacement porte ouverte ;
  • bloquer le mouvement en cas de surcharge ;
  • rouvrir la porte si un obstacle apparaît ;
  • ouvrir la porte à l’arrivée ;
  • refermer après 5 secondes.

Solution logique résumée

E0 : attente
Transition : demande présente ET PF ET NON SUR

E1 : choix direction
Transition montée : étage demandé > étage actuel
Transition descente : étage demandé < étage actuel

E2 : montée
Action : KM = 1
Transition : étage demandé atteint

E3 : descente
Action : KD = 1
Transition : étage demandé atteint

E4 : arrêt moteur
Action : KM = 0, KD = 0

E5 : ouverture porte
Action : OUV = 1
Transition : PO

E6 : temporisation 5 s
Action : T = 5 s
Transition : T écoulée ET NON OB

E7 : fermeture porte
Action : FER = 1
Transition PF : retour attente
Transition OB : retour ouverture
Transition SUR : défaut

E8 : défaut surcharge
Action : AL = 1
Transition : NON SUR
Retour attente

Pourquoi ce sujet est important en automatisme ?

Le Grafcet ascenseur permet d’apprendre plusieurs compétences techniques :

  • lire un cahier des charges ;
  • identifier les entrées et sorties ;
  • organiser une séquence ;
  • gérer les sécurités ;
  • créer des transitions propres ;
  • prévoir les défauts ;
  • préparer un programme automate.

C’est un exercice complet, car il combine mécanique, électricité, logique de commande et sécurité.

Annexe technique — Codes de programmation pour Grafcet ascenseur

Cette annexe présente des exemples de programmation associés au Grafcet d’un ascenseur : logique booléenne, langage Ladder textuel, pseudo-code automate et langage structuré.

1. Variables utilisées

BP0 : bouton appel RDC
BP1 : bouton appel étage 1
BP2 : bouton appel étage 2

FC0 : capteur cabine RDC
FC1 : capteur cabine étage 1
FC2 : capteur cabine étage 2

PF  : porte fermée
PO  : porte ouverte
OB  : obstacle porte
SUR : surcharge cabine

KM  : moteur montée
KD  : moteur descente
OUV : ouverture porte
FER : fermeture porte
AL  : alarme

2. Conditions de sécurité

SECURITE_OK =
PF = 1
ET OB = 0
ET SUR = 0

DEPLACEMENT_AUTORISE =
SECURITE_OK
ET KM ≠ KD

3. Pseudo-code général du Grafcet ascenseur

SI appel_detecte = 1 ET SECURITE_OK = 1 ALORS

    SI etage_demande > etage_actuel ALORS
        KM = 1
        KD = 0
    FIN_SI

    SI etage_demande < etage_actuel ALORS
        KM = 0
        KD = 1
    FIN_SI

FIN_SI

SI capteur_etage_demande = 1 ALORS
    KM = 0
    KD = 0
    OUV = 1
FIN_SI

SI porte_ouverte = 1 ALORS
    lancer_temporisation(5 secondes)
FIN_SI

SI temporisation_terminee = 1 ET OB = 0 ALORS
    OUV = 0
    FER = 1
FIN_SI

SI PF = 1 ALORS
    FER = 0
    retour_attente = 1
FIN_SI

4. Exemple en langage structuré

CASE Etape OF

0:
    KM := FALSE;
    KD := FALSE;
    OUV := FALSE;
    FER := FALSE;

    IF Appel = TRUE AND PF = TRUE AND OB = FALSE AND SUR = FALSE THEN
        Etape := 1;
    END_IF;

1:
    IF Etage_Demande > Etage_Actuel THEN
        KM := TRUE;
        KD := FALSE;
        Etape := 2;
    ELSIF Etage_Demande < Etage_Actuel THEN
        KM := FALSE;
        KD := TRUE;
        Etape := 3;
    ELSE
        Etape := 4;
    END_IF;

2:
    KM := TRUE;
    IF Capteur_Etage_Demande = TRUE THEN
        KM := FALSE;
        Etape := 4;
    END_IF;

3:
    KD := TRUE;
    IF Capteur_Etage_Demande = TRUE THEN
        KD := FALSE;
        Etape := 4;
    END_IF;

4:
    KM := FALSE;
    KD := FALSE;
    OUV := TRUE;

    IF PO = TRUE THEN
        Etape := 5;
    END_IF;

5:
    TON_Porte(IN := TRUE, PT := T#5S);

    IF TON_Porte.Q = TRUE THEN
        OUV := FALSE;
        Etape := 6;
    END_IF;

6:
    FER := TRUE;

    IF OB = TRUE THEN
        FER := FALSE;
        Etape := 4;
    ELSIF PF = TRUE THEN
        FER := FALSE;
        Etape := 0;
    END_IF;

END_CASE;

5. Exemple Ladder textuel

// Réseau 1 : autorisation de déplacement

| BP1 |---| PF |---|/OB|---|/SUR|----------------( SECURITE_OK )

// Réseau 2 : commande montée

| SECURITE_OK |---| BP1 |---| FC0 |---|/FC1|--------( KM )

// Réseau 3 : arrêt à l'étage 1

| FC1 |--------------------------------------------( RESET KM )

// Réseau 4 : ouverture porte

| FC1 |---|/KM|---|/KD|-------------------------------( OUV )

// Réseau 5 : temporisation porte ouverte

| OUV |--------------------------------------------( TON T1 5s )

// Réseau 6 : fermeture porte

| T1.Q |---|/OB|------------------------------------( FER )

// Réseau 7 : obstacle pendant fermeture

| FER |---| OB |------------------------------------( RESET FER )
| FER |---| OB |------------------------------------( OUV )

// Réseau 8 : surcharge

| SUR |--------------------------------------------( AL )
| SUR |--------------------------------------------( RESET KM )
| SUR |--------------------------------------------( RESET KD )

6. Mémorisation des appels

// Mémorisation des demandes

SI BP0 = 1 ALORS
    M0 := TRUE;
FIN_SI

SI BP1 = 1 ALORS
    M1 := TRUE;
FIN_SI

SI BP2 = 1 ALORS
    M2 := TRUE;
FIN_SI

// Effacement après service

SI FC0 = 1 ET PO = 1 ALORS
    M0 := FALSE;
FIN_SI

SI FC1 = 1 ET PO = 1 ALORS
    M1 := FALSE;
FIN_SI

SI FC2 = 1 ET PO = 1 ALORS
    M2 := FALSE;
FIN_SI

Lecture rapide de l’annexe

Le Grafcet fournit la logique séquentielle. Le code automate traduit cette logique en conditions, mémoires internes, sorties moteur, temporisations et sécurités. Dans un vrai projet industriel, chaque transition du Grafcet devient une condition de passage entre étapes, tandis que chaque étape active une ou plusieurs sorties.

error: Content is protected !!