précédent suivant haut Contents

VI Cas génériques


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.

1 - priorité (problème C)

schéma du dispositif

Soit un chariot se déplaçant sur deux rails (action D vers la droite, G vers la gauche). Il comporte une pince pouvant prendre une pièce (PP, fin quand fpp) s'il se trouve sur le tapis A (capteur y) et qu'une pièce est présente (capteur a) (idem en z si b). Puis il retourne en x, pose la pièce (action DP, fin quand fdp) sur le plateaux supposé en position haute (fv+). Celui−ci descend (V−, jusqu'à fv−), un second vérin pousse la pièce (P+, fin quand fp+), puis le pousseur recule en fp−, le plateau remonte en fv+ Le tapis de sortie C est supposé toujours en mouvement. Les tapis A et B sont commandés par des systèmes non traités ici.

Effectuer d'abord un Grafcet linéaire comprenant une seule voie d'arri­vée A. Puis l'améliorer en prévoyant les retours des action­neurs en temps masqué (attention toutefois de ne pas endomma­ger 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 prio­rité 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 prio­rité à celui qui n'en a pas profité lors du dernier conflit.

Grafcet
priorité voie A, retour V masqué

Pour gérer la priorité tournante, remplacer la réceptivité de la deuxième transition (notée *) par :

réceptivité

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 :

grafcet

Chaque fois qu'une condition séquentielle (dépendant de ce qui s'est passé auparavant) intervient dans une réceptivité, il vaut mieux ne pas compliquer le grafcet, mais "calculer" cette condition par un petit Grafcet annexe.

Franchement, je préférerais une divergence en OU cherchant la pièce en A ou en B, car, même si c’est la même action (aller à droite), ça reste pour moi une phase différente. Par contre, tout le reste du cycle est commun aux deux types de pièces.

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.

Amélioration :

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.

version améliorée

Les deux étapes initiales ne testent que leurs conditions initiales respectives (partie haute ou partie basse).

On peut aussi prévoir deux Grafcet différents, pouvant évoluer simultanément, mais synchronisés pour la dépose de la pièce (par des Xi ou une ressource). voir ici.

2 - travail à la chaîne (problème A)

Soit une chaîne de remplissage de bidons d'huile. Un tapis roulant se déplaçant par saccades (cadencé par un système supposé externe à notre Grafcet, s'arrêtant à chaque nouvel appui de la came sur le capteur av) est alimenté manuellement (de temps en temps il manque des bidons). Trois postes sont prévus : remplissage (R), bouchage (B) et enfoncement (E).

schéma du dispositif

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.

Grafcet

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.

Cette méthode utilise au mieux le séquencement du Grafcet, on peut maintenant rajouter des capteurs, mais qui n'auront pour fonction que de vérifier le bon fonctionnement du système. Dans tous les cas similaires, on utilisera cette démarche : faire le Grafcet pour une pièce seule, puis le modifier pour gérer l'ensemble des pièces, en vérifiant bien que jamais une même étape ne corresponde à 2 pièces, on décompose donc le système en tronçons et on ne laisse entrer dans un tronçon que s'il est libre. Exemples : atelier flexible (on suit la pièce pour chaque opération jusqu'au produit fini), montage (monter 2 pièces ensemble correspond à une convergence en ET : de 2 étapes actives on arrive à 1), chariots filo-guidés (si un tronçon est occupé, essayer de le contourner par une voie libre)...

3 - ressource (problème B)

schéma du dispositif

Au fond du puits de mine n°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).

Grafcet 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 sensé 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).

en 3 grafcetsSi les deux chariots arrivent en même temps (extrêmement rare), nous sommes en 3 et 13 simultanément. Et 30 est actif. La priorité est donnée au chariot 1 (donc si pas X3). Par contre, si l’un arrive un tout petit peu avant, il passe en 4 ou 14, ce qui désactive 30 et fera donc attendre l’autre.

J’ai utilisé à l’extrême le principe (primordial d’après moi) : chaque « sous-Grafcet » gère sa partie, avec ses capteurs et actionneurs. Donc il vérifie la fin d’une de ses actions par ses capteurs. Par contre, à chaque fois qu’il veut vérifier ce qui se passe dans une autre partie, il regarde l’état du Grafcet (Xi), c'est à dire pas quel capteur, mais dans quel étape on est. Ici le capteur c est associé au poste de déchargement, les Grafcets des chariots devront donc vérifier X32 pour être sûr qu’on vient d’arriver sur c. Avec ce découpage, nous pouvons programmer une partie commande sur chaque chariot. Et saurons sur quelle PC brancher quels actionneurs et capteurs. J'ai aussi un traitement sûr des transmissions d'états : J'allume 33 pour dire que j'ai fini, je le laisse allumé jusqu'à ce que l'autre Grafcet a bien pris en compte cette information. Je peux aussi vous proposer une version avec une synchronisation moins poussée, mais qui fonctionne.

Emmanuel Boutin, enseignant à l'IUT de St Nazaire, propose cet exercice à ses étudiants de licence pro. En période de confinement, il a mis une vidéo sur Youtube.

Passer à 3 chariots devient très facile. Essayez ! On suppose disposer d’aiguillages qui s’orientent automatiquement à l’aller, et restent dans cet état au retour du chariot. Comme j'ai fait ça, au tableau au temps béni où l'on n'y avait pas encore inventé le confinement pour cause de COVID, je l'avais photographié. On remarquera mes aimants jaune et rouge pour montrer où sont les chariots, les autres servant pour voir les étapes actives (c'est de la pédagogie d'avant le numérique, et ce n'était pas si mal que ça)


précédent suivant haut Contents