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.
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 :
| Étape | Signification |
|---|---|
| Attente | La cabine reste immobile |
| Appel | Un utilisateur demande un étage |
| Vérification | Le système contrôle les sécurités |
| Montée | Le moteur entraîne la cabine vers le haut |
| Descente | Le moteur entraîne la cabine vers le bas |
| Arrêt | La cabine atteint l’étage demandé |
| Ouverture porte | La porte s’ouvre automatiquement |
| Temporisation | La porte reste ouverte quelques secondes |
| Fermeture porte | La porte se referme |
| Retour attente | Le 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.
Un ascenseur fonctionne selon une logique simple en apparence, mais exige une organisation rigoureuse.
Le système doit répondre à plusieurs questions :
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.
Avant de construire un Grafcet, il faut toujours identifier les entrées et les sorties.
Les entrées sont les informations reçues par l’automate.
| Symbole | Désignation | Rôle |
|---|---|---|
| BP0 | Bouton appel RDC | Demande d’aller au rez-de-chaussée |
| BP1 | Bouton appel étage 1 | Demande d’aller à l’étage 1 |
| BP2 | Bouton appel étage 2 | Demande d’aller à l’étage 2 |
| FC0 | Fin de course RDC | Détecte la cabine au RDC |
| FC1 | Fin de course étage 1 | Détecte la cabine à l’étage 1 |
| FC2 | Fin de course étage 2 | Détecte la cabine à l’étage 2 |
| PF | Porte fermée | Autorise le déplacement |
| PO | Porte ouverte | Confirme l’ouverture |
| OB | Obstacle | Détecte une présence dans la porte |
| SUR | Surcharge | Empêche le déplacement en cas de surcharge |
Les sorties sont les commandes envoyées par l’automate.
| Symbole | Désignation | Rôle |
|---|---|---|
| KM | Moteur montée | Déplace la cabine vers le haut |
| KD | Moteur descente | Déplace la cabine vers le bas |
| OUV | Ouverture porte | Commande l’ouverture |
| FER | Fermeture porte | Commande la fermeture |
| AL | Alarme | Signale un défaut |
| VOY | Voyant appel | Confirme la demande utilisateur |
Prenons un ascenseur qui dessert uniquement :
La cabine est au RDC. La porte est fermée. Le système attend une demande.
É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.
Un ascenseur à trois niveaux introduit une difficulté supplémentaire : le système doit choisir entre montée et descente.
La décision dépend de la position actuelle et de l’étage demandé.
| Position cabine | Étage demandé | Action |
|---|---|---|
| Niveau 0 | Niveau 1 | Monter |
| Niveau 0 | Niveau 2 | Monter |
| Niveau 1 | Niveau 0 | Descendre |
| Niveau 1 | Niveau 2 | Monter |
| Niveau 2 | Niveau 0 | Descendre |
| Niveau 2 | Niveau 1 | Descendre |
Le Grafcet peut donc intégrer une étape de choix de direction.
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.
L’état initial doit être clair.
Exemple :
Cabine au RDC
Porte fermée
Aucun appel actif
Moteur arrêté
Pour un ascenseur à trois étages :
BP0 : demande RDC
BP1 : demande étage 1
BP2 : demande étage 2
FC0 : cabine au RDC
FC1 : cabine étage 1
FC2 : cabine étage 2
Un ascenseur doit vérifier :
Porte fermée
Aucun obstacle
Aucune surcharge
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
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
La sécurité constitue une partie majeure du Grafcet.
Un ascenseur doit éviter :
Déplacement autorisé = PF ET NON OB ET NON SUR
Cela signifie que le moteur peut être commandé uniquement si :
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.
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.
La porte est fermée avant tout déplacement.
Aucun obstacle détecté au niveau de la porte.
Aucune surcharge cabine avant le démarrage.
Montée et descente jamais activées ensemble.
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.
E0 : attente au RDC
Action :
Moteur arrêté
Porte fermée
Transition :
BP1 ET PF
E1 : montée vers étage 1
Action :
KM = 1
Transition :
FC1
E2 : arrêt à l’étage 1
Action :
KM = 0
Transition :
1
E3 : ouverture porte
Action :
OUV = 1
Transition :
PO
E4 : porte ouverte pendant 5 secondes
Action :
T1 = 5 s
Transition :
T1 écoulée
E5 : fermeture porte
Action :
FER = 1
Transition :
PF
Retour à l’étape initiale.
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.
Le Grafcet doit d’abord comparer :
Position cabine
Étage demandé
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é
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é
Une fois l’étage atteint :
Arrêt moteur
Ouverture porte
Temporisation
Fermeture porte
Retour attente
On ajoute un capteur obstacle OB. Si un obstacle est détecté pendant la fermeture, la porte doit se rouvrir.
Pendant l’étape de fermeture :
FER = 1
Deux transitions sont possibles :
Si PF = 1 : fermeture terminée
Si OB = 1 : retour ouverture porte
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.
Un capteur SUR détecte la surcharge. Si la surcharge est active, l’ascenseur doit rester immobile et déclencher une alarme.
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
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.
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.
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.
Cabine au niveau 0
Arrêt intermédiaire
Destination finale
Surcharge détectée
Déplacement interdit
Signal de sécurité
Appel mémorisé étage 1
Appel mémorisé étage 2
Le système optimise les déplacements
| Situation | Transition logique | Étape suivante |
|---|---|---|
| Appel étage 1 depuis RDC | BP1 ET FC0 ET PF | Montée |
| Arrivée étage 1 | FC1 | Arrêt |
| Porte ouverte | PO | Temporisation |
| Temporisation terminée | T1 | Fermeture |
| Porte fermée | PF | Attente |
| Obstacle fermeture | OB | Réouverture |
| Surcharge | SUR | Défaut |
| Surcharge supprimée | NON SUR | Attente |
| Erreur | Pourquoi c’est problématique | Correction |
|---|---|---|
| Oublier PF dans la transition | Le moteur peut démarrer porte ouverte | Ajouter PF avant déplacement |
| Commander KM et KD ensemble | Ordre contradictoire | Ajouter interverrouillage |
| Oublier la temporisation | Porte trop rapide | Ajouter T = 5 s |
| Oublier les capteurs d’étage | Arrêt imprécis | Ajouter FC0, FC1, FC2 |
| Oublier l’obstacle | Fermeture dangereuse | Retour ouverture si OB |
| Oublier la surcharge | Déplacement non sécurisé | Ajouter étape défaut |
Une fois le Grafcet validé, il peut être traduit dans un automate programmable.
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
On peut écrire une logique de type :
SI E1 = 1 ET FC1 = 1 ALORS
E1 = 0
E2 = 1
FIN_SI
Le langage SFC est très proche du Grafcet. Il permet de représenter directement les étapes et transitions dans certains logiciels d’automatisme.
L’ascenseur dessert trois niveaux. Il doit :
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
Le Grafcet ascenseur permet d’apprendre plusieurs compétences techniques :
C’est un exercice complet, car il combine mécanique, électricité, logique de commande et sécurité.
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é.
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 SECURITE_OK =
PF = 1
ET OB = 0
ET SUR = 0
DEPLACEMENT_AUTORISE =
SECURITE_OK
ET KM ≠ KD 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 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; // 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 ) // 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 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.
Dans la langue française, certains verbes semblent interchangeables alors qu’ils traduisent des réalités très différentes.…
Le test de logique mathématique recrutement s’est progressivement imposé dans les processus d’embauche modernes. Il…
Le test psychotechnique recrutement occupe aujourd’hui une place centrale dans de nombreux processus d’embauche. Autrefois…
Pollo AI : la nouvelle génération des vidéos IA pensée pour les créateurs modernes Le…
Le test de logique recrutement occupe aujourd’hui une place de plus en plus importante dans…
Le secteur des vidéos générées par intelligence artificielle connaît actuellement une accélération remarquable. Chaque semaine,…
This website uses cookies.