Nous traitons ici des exemples génériques, c'est à
dire que les problèmes évoqués ici se posent assez
souvent, et la méthode utilisée pour les résoudre
pourra être réutilisée.
Effectuer d'abord un Grafcet linéaire comprenant une seule voie
d'arrivée A. Puis l'améliorer en prévoyant les retours
des actionneurs en temps masqué (attention toutefois de ne pas endommager
le pousseur). Puis prévoir deux tapis d'alimentation A et B (en
cas de pièces en a ET b, prendre celle en a). Puis prévoir
une priorité tournante (en cas de conflit, prendre la voie qui n'a
pas été servie la fois précédente) attention,
si plusieurs pièces arrivent sur la même voie et aucune sur
l'autre, ne pas bloquer le système. Puis modifier la règle
de priorité en donnant en cas de conflit la priorité à
celui qui n'en a pas profité lors du dernier conflit.
![]() priorité voie A, retour V masqué |
Pour gérer la priorité tournante, remplacer
la réceptivité de la deuxième transition (notée
*) par :
![]() qui signifie : arrivé en y avec une pièce en a et soit pas de pièce en b, soit priorité. sinon on continue et quoi qu'il arrive on s'arrête en z (le chariot n'a pas de parachute), en rajoutant un second Grafcet définissant quelle voie est prioritaire : ![]() |
Améliorations :
a) permettre au chariot de rechercher une pièce dès qu'il a posé la précédente : séparer le problème en deux : chariot et partie basse.Prévoir deux Grafcet différents, pouvant évoluer simultanément, mais synchronisés pour le dépose de la pièce (par des Xi ou une ressource)
b) faire attendre le chariot en y plutôt qu'en x (pour améliorer
le temps de réponse). Pour la partie basse, l'attente se fait plateau
en haut, mais ce ne peut pas être l'état initial (il risque
de descendre pendant la nuit). Prendre celà en compte :
Les deux étapes initiales ne testent que leurs conditions initiales
respectives (partie haute ou partie basse).
Un seul capteur détecte la présence d'un bidon en début
de chaîne : pp. On désire faire les 3 opérations simultanément,
sauf s'il n'y a pas de bidon sous le poste. S'il vous semble obligatoire
de rajouter des capteurs, vous n'avez RIEN compris au Grafcet puisqu'il
vous faut un système combinatoire (il vaut mieux alors câbler
en combinatoire chaque poste : avance tapis ET présence bidon =>
effectuer l'action). On suppose que le tapis est vide lors de l'initialisation.
![]() |
L'étape 1 est constamment active. La dernière transition est appelée "transition puits", mais il était possible de la relier à l'étape 1. En fonctionnement normal, toutes les étapes du Grafcet sont actives. Du point de vue commande, chaque opération comportera plusieurs étapes (R = descendre l'entonnoir, ouvrir le robinet,...) dont une seule sera active à la fois). Chaque activation représente un bidon dans le circuit. |
Au fond du puits de mine ndeg. i, un mineur remplit un chariot Xi.
Quand il est plein (le chariot), il (le mineur) appuie sur un bouton di.
Immédiatement, le chariot se déplace dans la direction Bi
jusqu'au poste de déchargement, composé d'un tapis roulant
en mouvement continu, et d'un vérin V qui retourne la benne. Si
le poste de déchargement est libre, le chariot avance jusqu'au capteur
c, est déchargé puis s'en retourne en ai. Si le
poste est occupé, il attend son tour en bi. Le poste
de déchargement, commun à plusieurs voies, n'est utilisable
que par une voie à la fois. On l'appelle une "ressource physique".
Traiter le cas de 2 voies (pas nécessairement de la même longueur).
Supposer que la ressource est occupée en utilisant le capteur c est IDIOT : et s'il est entre bi et c ? Et si le temps de freinage l'a arrêté juste à côté de c ? Il faut utiliser les facilités séquentielles du Grafcet autant que possible (ne tester un capteur que quand c'est nécessaire). Un capteur ne doit servir que comme condition de passage d'une étape à une autre, mais pas pour vérifier un état du système qui découle du séquencement effectué (par exemple, une transition vérifie la présence d'une pièce, aucune action ne déplace la pièce puis on re-vérifie la présence : Ce n'est censé que si l'on prévoit dans le Grafcet ce qu'il faut faire si la pièce a disparu). Ici, on utilise donc une étape (la ressource), qui est active quand la ressource physique est disponible. Dès utilisation, on la désactive, pour la réactiver quand on libère la ressource physique.
On pouvait également résoudre le problème
par des Grafcets séparés (un pour chaque chariot, un pour
le déchargement) synchronisés par des Xi. La seule différence
est que n'ayant plus de divergence sous l'étape 3, on risque d'oublier
de traiter le cas d'arrivée simultanée en b1 et b2, cas arrivant
assez rarement pour que l'on ne détecte pas le problème en
phase d'essais, mais se produira de temps en temps en fonctionnement réel
sans que l'on puisse reproduire le problème lorsqu'un spécialiste
sera présent (seule solution : graphe des états accessibles).