Le but de ce chapitre est de vous montrer comment mettre en oeuvre un Grafcet à l'aide de composants d'électronique ToR (portes et bascules). Vous pouvez, si vous ne l'avez pas encore fait, consulter mon document traitant de ces composants et des bases théoriques nécessaires à leur utilisation (algèbre de Boole,...).
Nous allons d'abord voir les cas simples, par une méthode qui ne vérifie pas intégralement toutes les règles du Grafcet. Si j'en parle, c'est parce que les cas nécessitant plus de précautions sont rares et faciles à identifier.
Il suffit d'utiliser une bascule RS par étape. Une étape est allumée si l'étape précédente est active et que la réceptivité d'entrée est vraie. Dans le cas d'un Grafcet linéaire, on désactivera une étape quand la suivante est active. Ceci simplifie le câblage, mais ne respecte pas toutes les règles du Grafcet (en fait cette méthode fonctionne dans une très grande majorité de cas, nous traiterons les cas litigieux plus loin dans ce document).
Soit le Grafcet :
|
On
peut gérer de différentes manières l'étape
initiale. Dans la plupart des cas, le plus simple est d'utiliser des bascules
se mettant à 0 à la mise sous tension, et d'initialiser
l'automatisme à l'aide d'un bouton que je noterai ici "init", qui peut
également servir à réinitialiser le Grafcet en cours de
fonctionnement sans éteindre le système.
|
Il suffit de répéter cela pour chaque étape et relier le tout. Le schéma de câblage du système complet sera donc (j'ai gardé la même disposition que le Grafcet, mais retourné de 90 degrés, les électroniciens préfèrent les entrées à gauche et les sorties à droite) :
L'étude de chaque étape est simple, la principale difficulté est le routage (c'est à dire relier le tout), surtout si l'on veut faire un circuit imprimé (où les croisements de pistes sont impossibles). D'autant plus que chaque composant doit être alimenté, mais je n'ai pas représenté ici les alimentations. Mais il existe désormais de bons logiciels de routage.
On peut déjà conclure que si la mise en oeuvre d'un Grafcet par câblage n'est pas très compliquée, la modification est pour le moins difficile. En général, on préférera refaire un nouveau câblage si l'on désire modifier le Grafcet. De même, le câblage a intérêt à être complètement testé dès sa réalisation, la recherche d'erreurs après coup étant bien plus difficile.
Exercice : câbler ce Grafcet de 5 étapes gérant une amenée de pièces :
|
Cahier
des Charges : à l'appui de d (départ), on actionne un vérin monostable par l'action SV, jusqu'à ce que la pièce soit positionnée sur le tapis. Puis on attend 10 secondes (retour du vérin), puis on enclenche le moteur du tapis roulant (MT) jusqu'à ce que la pièce arrive sur le capteur a. Comme la pièce précédente était peut-être en a au début du cycle, il faut attendre un front montant de a, que je gère en attendant que a soit d'abord relâché puis à nouveau appuyé. La temporisation sera réalisée par un composant réglable (en fait un circuit RC avec une résistance variable), qui donne 1 à sa sortie si son entrée est à 1 pendant au moins le temps requis.
cliquez ici pour la solution
|
Quand la transition est franchissable, il suffit d'allumer deux étapes au lieu d'une. Le seul problème est la désactivation de l'étape précédente : il faut être sûr que les deux étapes suivantes ont eu le temps de prendre en compte l'information d'activation avant de désactiver la précédente (si l'on désactive dès qu'une des deux est active, la seconde ne s'activera plus).
je ne traite ici ni l'amont, ni l'aval, ni les actions, uniquement les liaisons
entre 5 et ses suivantes.
|
![]() |
Il n'y a aucun problème particulier.
![]() Comme au dessus, je ne traite ici que les liaisons entre 5 et ses suivantes. |
![]() |
Je ne fais pas le schéma, il est évident : il faut que les (deux en général) étapes précédentes soient actives, et la réceptivité vraie, pour activer l'étape suivante, celle ci désactivant les étapes précédentes.
|
Vu
le temps que je mets pour faire un schéma (le seul outil dont je dispose
est paintbrush, et comme je suis en vacances je ne dispose que d'un portable
à écran monochrome, nom parfaitement choisi puisqu'il n'est
même pas noir et blanc mais gris et gris), je me contente de l'expliquer
(ça vous fera un bon exercice).
|
|
Câblez
ce Grafcet (il ne pose pas de problème particulier). Ce Grafcet regroupe
les différents cas de divergence - convergence.
cliquez ici pour la solution
|
Soit le Grafcet suivant, et sa réalisation d'après la méthode précédente :
![]() |
![]() |
Ici, la solution est simple : une seule bascule suffit. Mais cet exemple montre
bien le problème de ces câblages : une étape
désactive la précédente tant qu'elle même est
active, au lieu de ne le faire qu'au moment du franchissement de la transition.
|
![]() |
Le problème vient de la désactivation. Tous les composants ne peuvent pas avoir tous exactement un même temps de réponse. Donc puisqu'on active une étape quand la précédente est active et la réceptivité est vraie, si simultanément on désactivait la précédente il est possible que la suivante n'ai pas eu le temps de s'activer avant que le signal ne disparaisse. La solution choisie est sure, mais l'information de désactivation est envoyée bien plus longtemps que nécessaire. Pour être sûr du résultat il faudrait mémoriser (dans une bascule) l'état de chaque transition. En réalisation électronique ce n'est pas le prix qui poserait problème mais la complication du circuit (déjà assez complexe sans cela). En réalisation pneumatique ou électrique s'ajouterait le prix des composants.
Donc une solution respectant mieux les règles du Grafcet consisterait à utiliser une bascule pour chaque transition. Elle est allumée quand l'étape précédente et la transition sont vraies, sa sortie active l'étape suivante et désactive la précédente. Quand doit on éteindre la bascule représentant la transition ? Le problème reste donc entier. Une bonne solution est de le faire quand le franchissement a été effectué, c'est à dire quand la suivante est active et que la précédente ne l'est pas. Attention, ce cas peut arriver sans que l'on soit passé par cette transition (convergence en OU par exemple), mais dans ce cas on éteint une transition qui l'était déjà, ce qui n'est pas grave.
Faisons donc le schéma de passage entre une étape 5 et une
étape 6, reliées par une transition de réceptivité
a :
Cette méthode permet de régler le cas où l'étape 5 risque d'être réactivée avant la désactivation de 6.
On peut remarquer que l'on aurait obtenu à peu près le même
schéma en modifiant le Grafcet pour qu'il soit compatible avec la
première méthode, c'est à dire empêcher qu'il y ait
deux étapes successives actives en même temps : il suffit
d'intercaler une étape comme représenté ci-contre. C'est
une méthode qui permet d'avoir un Grafcet plus proche du câblage,
donc un câblage plus clair.
|
![]() |
La méthode précédente peut encore dans certains cas ne pas respecter la règle de simultanéité. Pour cela, une seule solution : synchroniser le fonctionnement des composants. Pour cela, il suffit de prendre la première méthode, mais d'utiliser des bascules MS (ou JK, voir mon document sur les bascules pour un peu plus de détails). Une bascule MS prend en compte les commandes Set et Reset qu'on lui applique non pas immédiatement, mais au prochain front montant de son entrée de synchronisation (horloge). La désactivation d'une étape se fait plus simplement : par la même information que celle qui active la suivante (les deux seront prises en compte en même temps : au prochain front de l'horloge. Il suffit de choisir une horloge suffisamment rapide pour ne pas ralentir l'automatisme (en général ce point ne pose pas de problème en P.C. électronique), mais plus lente que le temps de réaction du composant le plus lent.
Faisons donc le schéma de passage entre l'étape 5 (d'action X) et
l'étape 6, reliées par une transition de
réceptivité a :
On peut immédiatement voir que le schéma résultant est grandement simplifié (je n'ai pas représenté l'horloge qui doit être reliée à chaque bascule, comme l'alimentation, plus la gestion de l'initialisation). On peut remarquer qu'une bascule MS est en fait composée de deux bascules RS, et que cette méthode revient à peu près au même que les autres modifications que j'ai proposées (en plus sûr et plus clair). La principale différence est que l'on fixe la durée de l'information de désactivation par un signal d'horloge.
Patrick TRAU,ULP - IPST,Août 97