Professional Documents
Culture Documents
I introduction..................................................................................................................................................1 II dfinitions....................................................................................................................................................2 III exemple simple ...........................................................................................................................................4 IV rgles d'volution.......................................................................................................................................5 V configurations courantes............................................................................................................................6 VI Cas gnriques..............................................................................................................................................8 1 priorit..............................................................................................................................................8 2 travail la chane...........................................................................................................................10 3 ressource (ou smaphore)...............................................................................................................11 Mise en Oeuvre du GRAFCET.......................................................................................................................13 Quelle technologie choisir pour mettre en oeuvre un Grafcet ?..................................................................15 Ralisation par cblage .....................................................................................................................................17 Cas sans problmes...............................................................................................................................17 Grafcet linaire........................................................................................................................17 Divergence simple en ET .........................................................................................................19 Divergence exclusive en OU...................................................................................................19 Convergence en ET ..................................................................................................................20 Convergence simple en OU.....................................................................................................20 Exercice rcapitulatif...............................................................................................................20 Cas o cette mthode est mauvaise .......................................................................................................21 Grafcet deux tapes...............................................................................................................21 mmorisation de la transition ...................................................................................................22 Bascules synchrones................................................................................................................23 utilisation d'un squenceur..............................................................................................................................24 utilisation d'un squenceur....................................................................................................................24 P.C. lectronique......................................................................................................................24 P.C. pneumatique.....................................................................................................................24 P.C. lectrique..........................................................................................................................25 Cration d'une carte micro programme...................................................................................................26 Utilisation d'un automate................................................................................................................................27 MISE EN OEUVRE DU GRAFCET SUR AUTOMATES ..........................................................................28 Les fonctions de base d'un automate..............................................................................................................29 L'AF (automate fictif)...........................................................................................................................29 Langage boolen du PB 100 ou April 15 .............................................................................................30 Adresses...................................................................................................................................30 Langage booleen......................................................................................................................30 la temporisation ........................................................................................................................31 Le langage contacts du TSX..............................................................................................................31 Les rseaux .............................................................................................................................32 Temporisation..........................................................................................................................32 i
ii
iii
_____________________________________________________________________________________________________________
I introduction
Le Grafcet est un outil graphique de dfinition pour l'automatisme squentiel, en tout ou rien. Mais il est galement utilis dans beaucoup de cas combinatoires, dans le cas o il y a une squence respecter mais o l'tat des capteurs suffirait pour rsoudre le problme en combinatoire. Il utilise une reprsentation graphique. C'est un langage clair, strict mais sans ambigut, permettant par exemple au ralisateur de montrer au donneur d'ordre comment il a compris le cahier des charges. Langage universel, indpendant (dans un premier temps) de la ralisation pratique (peut se "cbler" par squenceurs, tre programm sur automate voire sur ordinateur). Ce document prcise le langage Grafcet. Vous n'y trouverez pas d'exemples simples (qui font pourtant partie de la majorit des applications relles), il y en a un tas l'universit de BREST. Voici d'autres liens importants sur le Grafcet : un serveur Qubecois extraordinaire : DSC le serveur "officiel" du Grafcet (AFCET, au LURPA Cachan) un autre cours, par Emmanuel Geveaux Remarque : le Grafcet est un langage d'origine franaise, et certains pays pensent que ce qu'ils n'ont pas invent ne peut pas tre de haut niveau. Regardez ce trs bon site expliquant comment on programme un automate sans Grafcet.
_____________________________________________________________________________________________________________
I introduction
_____________________________________________________________________________________________________________
II dfinitions
Un Grafcet est compos d'tapes, de transitions et de liaisons. Une LIAISON est un arc orient (ne peut tre parcouru que dans un sens). A une extrmit d'une liaison il y a UNE (et une seule) tape, l'autre UNE transition. On la reprsente par un trait plein rectiligne, vertical ou horizontal. Un verticale est parcourue de haut en bas, sinon il faut le prciser par une flche. Une horizontale est parcourue de gauche droite, sinon le prciser par une flche.
Une ETAPE correspond une phase durant laquelle on effectue une ACTION pendant une certaine DUREE (mme faible mais jamais nulle). L'action doit tre stable, c'est dire que l'on fait la mme chose pendant toute la dure de l'tape, mais la notion d'action est assez large, en particulier composition de plusieurs actions, ou l'oppos l'inaction (tape dite d'attente). On reprsente chaque tape par un carr, l'action est reprsente dans un rectangle gauche, l'entre se fait par le haut et la sortie par le bas. On numrote chaque tape par un entier positif, mais pas ncessairement croissant par pas de 1, il faut simplement que jamais deux tapes diffrentes n'aient le mme numro.
Si plusieurs liaisons arrivent sur une tape, pour plus de clart on les fait arriver sur une barre horizontale, de mme pour plusieurs liaisons partant de l'tape. Cette barre horizontale n'est pas une nouvelle entit du Grafcet, elle fait partie de l'tape, et ne reprsente qu'un "agrandissement" de la face suprieure (ou infrieure) de l'tape. On accepte de remplacer cette barre par un point si cela ne cre aucune ambigut.
Une tape est dite active lorsqu'elle correspond une phase "en fonctionnement", c'est dire qu'elle effectue l'action qui lui est associe. On reprsente quelquefois une tape active un intant donn en dessinant un point l'intrieur. Une TRANSITION est une condition de passage d'une tape une autre. Elle n'est que logique (dans son sens Vrai ou Faux), sans notion de dure. La condition est dfinie par une RECEPTIVITE qui est gnralement une expression boolenne (c..d avec des ET et des OU) de l'tat des CAPTEURS. On reprsente une transition par un petit trait horizontal sur une liaison verticale. On note droite la rceptivit, on peut noter gauche un numro de transition (entier positif, indpendant des numros d'tapes). Dans le cas de plusieurs liaisons arrivant sur une transition, on les fait converger sur une grande double barre
_____________________________________________________________________________________________________________
II dfinitions
II dfinitions _____________________________________________________________________________________________________________ horizontale, qi n'est qu'une reprsentation du dessus de la transition. De mme pour plusieurs liaisons partant sous une transition.
_____________________________________________________________________________________________________________
II dfinitions
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
IV rgles d'volution
La modification de l'tat de l'automatisme est appele volution, et est rgie par 5 rgles : R1 : Les tapes INITIALES sont celles qui sont actives au dbut du fonctionnement. On les reprsente en doublant les cts des symboles. On appelle dbut du fonctionnement le moment o le systme n'a pas besoin de se souvenir de ce qui c'est pass auparavant (allumage du systme, bouton "reset",...). Les tapes initiales sont souvent des tapes d'attente pour ne pas effectuer une action dangereuse par exemple la fin d'une panne de secteur. R2 : Une TRANSITION est soit valide, soit non valide (et pas moiti valide). Elle est valide lorsque toutes les tapes immdiatement prcdentes sont actives (toutes celles relies directement la double barre suprieure de la transition). Elle ne peut tre FRANCHIE que lorsqu'elle est valide et que sa rceptivit est vraie. Elle est alors obligatoirement franchie. R3 : Le FRANCHISSEMENT d'une transition entrane l'activation de TOUTES les tapes immdiatement suivante et la dsactivation de TOUTES les tapes immdiatement prcdentes (TOUTES se limitant 1 s'il n'y a pas de double barre). R4 : Plusieurs transitions SIMULTANEMENT franchissables sont simultanment franchies (ou du moins toutes franchies dans un laps de temps ngligeable pour le fonctionnement). La dure limite dpend du "temps de rponse" ncessaire l'application (trs diffrent entre un systme de poursuite de missile et une ouverture de serre quand le soleil est suffisant). R5 : Si une tape doit tre la fois active et dsactive, elle RESTE active. Une temporisation ou un compteur actionns par cette tape ne seraient pas rinitialiss. Cette rgle est prvue pour lever toute ambigut dans certains cas particuliers qui pourraient arriver dans certains cas :
La partie COURS s'arrte ici. Toute autre rgle que vous auriez pu entendre autre part ne fait pas partie du Grafcet. Il faudra TOUJOURS que votre Grafcet vrifie ce qui a t dit ci dessus (sinon ce n'est pas du Grafcet). Je tiens prciser que le Grafcet devra tre mis en oeuvre (cbl ou programm) et donc une traduction de ce Grafcet en un schma ou une suite d'instructions sera ncessaire. Le rsultat de cette traduction, mme s'il ressemble quelquefois un Grafcet, ne peut pas imposer de nouvelles rgles au Grafcet (qui dirait par exemple que le cas propos aprs la rgle 5 est interdit en Grafcet)
_____________________________________________________________________________________________________________
IV rgles d'volution
_____________________________________________________________________________________________________________
V configurations courantes
divergence en OU : Convergence en OU :
si 1 active et si a seul, alors dsactivation de 1 et activation de 2, 3 inchang. si a et b puis 1 active alors dsactivation 1, activation 2 et 3 quel que soit leur tat prcdent. (rgle 4)
Si 1 active et a sans b, alors activation de 3 et dsactivation de 1, 2 reste inchang Si 1 et 2 et a et b alors 3 seule active
On appelle BARRE DE OU la barre symbolisant les entres / sorties multiples d'tapes. Divergence en ET : Convergence en ET :
On appelle couramment BARRE DE ET la double barre, mais attention ce n'est pas une entit part mais une partie d'une transition. Dtaillons galement le saut avant (si a alors ...) et les boucles (rpter ... jusqu' c). Ce sont les deux seules possibilits avec des OU: il ne peut y avoir de divergence en ou aprs une transition
Passons maintenant quelques problmes plus complexes (tirs de "Comprendre et matriser le Grafcet, Blanchard, ed. Capadues"): 1 soient 4 tapes 1 4 et deux transitions de rceptivit t1 et t2. Construire la portion de Grafcet ralisant : Quand 1 ET 2 actifs alors si t1 passer en 3 (et dsactiver 1 et 2), si t2 passer en 4 (et dsactiver 1 et 2),
_____________________________________________________________________________________________________________
V configurations courantes
V configurations courantes _____________________________________________________________________________________________________________ sinon rester en 1 et 2 La solution cidessous est accompagne d'une reprsentation de type "rseau de Petri" pour bien montrer o doivent se placer les convergences et divergences ( quoi doit tre relie 1?, quoi doit tre relie t1? ...). En fait on trouve la solution facilement en analysant les cas d'volution (quand franchit t'on t1 ?). Il faut souligner que l'ajout d'une tape intermdiaire n'est pas une bonne solution car tout passage d'une tape dure un laps de temps (donc discontinuit sur les sorties = ala technologique)..
2 Problme du mme ordre : Quand (tape 1 et t1) OU (tape 2 et t2) alors passer en 3 ET 4:
3 si {tape 1 et [tape 2 ou (tapes 3 et 4)]} et transition t alors activer l'tape 5 (et dsactiver les autres).
_____________________________________________________________________________________________________________
V configurations courantes
_____________________________________________________________________________________________________________
VI Cas gnriques
1 priorit 2 travail la chane 3 ressource (ou smaphore)
Nous traitons ici des exemples gnriques, c'est dire que les problmes voqus ici se posent assez souvent, et la mthode utilise pour les rsoudre pourra tre rutilise.
1 priorit
Soit un chariot se dplaant sur deux rails (action D vers la droite, G vers la gauche). Il comporte une pince pouvant prendre une pice (PP, fin quand fpp) s'il se trouve sur le tapis A (capteur y) et qu'une pice est prsente (capteur a) (idem en z si b). Puis il retourne en x, pose la pice (action DP, fin quand fdp) sur le plateaux suppos en position haute (fv+). Celuici descend (V, jusqu' fv), un second vrin pousse la pice (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 commands par des systmes non traits ici.
Effectuer d'abord un Grafcet linaire comprenant une seule voie d'arrive A. Puis l'amliorer en prvoyant les retours des actionneurs en temps masqu (attention toutefois de ne pas endommager le pousseur). Puis prvoir deux tapis d'alimentation A et B (en cas de pices en a ET b, prendre celle en a). Puis prvoir une priorit tournante (en cas de conflit, prendre la voie qui n'a pas t servie la fois prcdente) attention, si plusieurs pices arrivent sur la mme voie et aucune sur l'autre, ne pas bloquer le systme. Puis modifier la rgle de priorit en donnant en cas de conflit la priorit celui qui n'en a pas profit lors du dernier conflit.
_____________________________________________________________________________________________________________
VI Cas gnriques
Pour grer la priorit tournante, remplacer la rceptivit de la deuxime transition (note *) par :
qui signifie : arriv en y avec une pice en a et soit pas de pice en b, soit priorit. sinon on continue et quoi qu'il arrive on s'arrte en z (le chariot n'a pas de parachute), en rajoutant un second Grafcet dfinissant quelle voie est prioritaire :
Chaque fois qu'une condition squentielle (dpendant de ce qui s'est pass auparavant) intervient dans une rceptivit, il vaut mieux ne pas compliquer le Grafcet, mais "calculer" cette condition par un petit Grafcet annexe. Amliorations : a) permettre au chariot de rechercher une pice ds qu'il a pos la prcdente : sparer le problme en deux : chariot et partie basse.Prvoir deux Grafcet diffrents, pouvant voluer simultanment, mais synchroniss pour le dpose de la pice (par des Xi ou une ressource) b) faire attendre le chariot en y plutt qu'en x (pour amliorer le temps de rponse). 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 :
_____________________________________________________________________________________________________________
VI Cas gnriques
Les deux tapes initiales ne testent que leurs conditions initiales respectives (partie haute ou partie basse).
2 travail la chane
Soit une chane de remplissage de bidons d'huile. Un tapis roulant se dplaant par saccades (cadenc par un systme suppos externe notre Grafcet, s'arrtant chaque nouvel appui de la came sur le capteur av) est aliment manuellement (de temps en temps il manque des bidons). Trois postes sont prvus : remplissage (R), bouchage (B) et enfoncement (E).
Un seul capteur dtecte la prsence d'un bidon en dbut de chane : pp. On dsire faire les 3 oprations simultanment, 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 systme combinatoire (il vaut mieux alors cbler en combinatoire chaque poste : avance tapis ET prsence bidon => effectuer l'action). On suppose que le tapis est vide lors de l'initialisation.
_____________________________________________________________________________________________________________
2 travail la chane
10
L'tape 1 est constamment active. La dernire transition est appele "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 opration comportera plusieurs tapes (R = descendre l'entonnoir, ouvrir le robinet,...) dont une seule sera active la fois). Chaque activation reprsente un bidon dans le circuit.
Cette mthode utilise au mieux le squencement du Grafcet, on peut maintenant rajouter des capteurs, mais qui n'auront pour fonction que de vrifier le bon fonctionnement du systme. Dans tous les cas similaires, on utilisera cette dmarche : faire le Grafcet pour une pice seule, puis le modifier pour grer l'ensemble des pices, en vrifiant bien que jamais une mme tape ne corresponde 2 pices, on dcompose donc le systme en tronons et on ne laisse entrer dans un tronon que s'il est libre. Exemples : atelier flexible (on suit la pice pour chaque opration jusqu'au produit fini), montage (monter 2 pices ensemble correspond une convergence en ET : de 2 tapes actives on arrive 1), chariots filoguids (si un tronon est occup, essayer de le contourner par une voie libre)...
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. Immdiatement, le chariot se dplace dans la direction Bi jusqu'au poste de dchargement, compos d'un tapis roulant en mouvement continu, et d'un vrin V qui retourne la benne. Si le poste de dchargement est libre, le chariot avance jusqu'au capteur c, est dcharg puis s'en retourne en ai. Si le poste est occup, il attend son tour en bi. Le poste de dchargement, 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 ncessairement de la mme longueur).
_____________________________________________________________________________________________________________
11
Supposer que la ressource est occupe en utilisant le capteur c est IDIOT : et s'il est entre bi et c ? Et si le temps de freinage l'a arrt juste ct de c ? Il faut utiliser les facilits squentielles du Grafcet autant que possible (ne tester un capteur que quand c'est ncessaire). Un capteur ne doit servir que comme condition de passage d'une tape une autre, mais pas pour vrifier un tat du systme qui dcoule du squencement effectu (par exemple, une transition vrifie la prsence d'une pice, aucune action ne dplace la pice puis on revrifie la prsence : Ce n'est cens que si l'on prvoit dans le Grafcet ce qu'il faut faire si la pice a disparu). Ici, on utilise donc une tape (la ressource), qui est active quand la ressource physique est disponible. Ds utilisation, on la dsactive, pour la ractiver quand on libre la ressource physique. On pouvait galement rsoudre le problme par des Grafcets spars (un pour chaque chariot, un pour le dchargement) synchroniss par des Xi. La seule diffrence est que n'ayant plus de divergence sous l'tape 3, on risque d'oublier de traiter le cas d'arrive simultane en b1 et b2, cas arrivant assez rarement pour que l'on ne dtecte pas le problme en phase d'essais, mais se produira de temps en temps en fonctionnement rel sans que l'on puisse reproduire le problme lorsqu'un spcialiste sera prsent (seule solution : graphe des tats accessibles).
_____________________________________________________________________________________________________________
12
_____________________________________________________________________________________________________________
Quelle technologie choisir pour mettre en oeuvre un Grafcet ? Ralisation par cblage Cas sans problmes Grafcet linaire Divergence simple en ET Divergence exclusive en OU Convergence en ET Convergence simple en OU Exercice rcapitulatif Cas o cette mthode est mauvaise Grafcet deux tapes mmorisation de la transition Bascules synchrones utilisation d'un squenceur P.C. lectronique P.C. pneumatique P.C. lectrique Cration d'une carte micro programme Utilisation d'un automate
_____________________________________________________________________________________________________________
13
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
14
_____________________________________________________________________________________________________________
Grafcet linaire
Il suffit d'utiliser une bascule RS par tape. Une tape est allume si l'tape prcdente est active et que la rceptivit d'entre est vraie. Dans le cas d'un Grafcet linaire, on dsactivera une tape quand la suivante est active. Ceci simplifie le cblage, mais ne respecte pas toutes les rgles du Grafcet (en fait cette mthode fonctionne dans une trs grande majorit de cas, nous traiterons les cas litigieux plus loin dans ce document). Soit le Grafcet :
On peut grer de diffrentes manires 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 rinitialiser le Grafcet en cours de fonctionnement sans teindre le systme.
Notons, pour l'tape numro i, son entre Set par Si, son entre Reset par Ri, sa sortie Qi. Etudions l'tape 2. Elle s'allume si l'tape 1 est active et d est vrai (S2=Q1.d). Tout le temps quelle est active, la sortie X est
_____________________________________________________________________________________________________________
15
Ralisation par cblage _____________________________________________________________________________________________________________ allume (X=Q2). Elle s'teint normalement quand la rceptivit de sortie est vraie, mais (comme prcis plus haut) nous allons attendre pour teindre l'tape 2 que l'tape 3 soit active (donc R2=Q3), et donc tre sr que l'tape 3 a eu le temps de prendre en compte l'information. Elle peut galement tre teinte par init, puisqu'elle n'est pas initiale.
Il suffit de rpter cela pour chaque tape et relier le tout. Le schma de cblage du systme complet sera donc (j'ai gard la mme disposition que le Grafcet, mais retourn de 90 degrs, les lectroniciens prfrent les entres 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 reprsent ici les alimentations. Mais il existe dsormais de bons logiciels de routage. On peut dj conclure que si la mise en oeuvre d'un Grafcet par cblage n'est pas trs complique, la modification est pour le moins difficile. En gnral, on prfrera refaire un nouveau cblage si l'on dsire modifier le Grafcet. De mme, le cblage a intrt tre compltement test ds sa ralisation, la recherche d'erreurs aprs coup tant bien plus difficile.
_____________________________________________________________________________________________________________
16
Ralisation par cblage _____________________________________________________________________________________________________________ Cahier des Charges : l'appui de d (dpart), on actionne un vrin monostable par l'action SV, jusqu' ce que la pice soit positionne sur le tapis. Puis on attend 10 secondes (retour du vrin), puis on enclenche le moteur du tapis roulant (MT) jusqu' ce que la pice arrive sur le capteur a. Comme la pice prcdente tait peuttre en a au dbut du cycle, il faut attendre un front montant de a, que je gre en attendant que a soit d'abord relch puis nouveau appuy. La temporisation sera ralise par un composant rglable (en fait un circuit RC avec une rsistance variable), qui donne 1 sa sortie si son entre est 1 pendant au moins le temps requis.
Divergence simple en ET
Quand la transition est franchissable, il suffit d'allumer deux tapes au lieu d'une. Le seul problme est la dsactivation de l'tape prcdente : il faut tre sr que les deux tapes suivantes ont eu le temps de prendre en compte l'information d'activation avant de dsactiver la prcdente (si l'on dsactive ds 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. Ce cblage simple ne rpond pas aux rgles du Grafcet si 5 peut tre ractiv avant que 6 et 7 n'aient t dsactives. Il en est de mme si l'tape 7 par exemple peut tre active d'une autre manire (convergence en OU). Ces cas sont cependant trs rares dans la pratique.
Divergence exclusive en OU
Il n'y a aucun problme particulier.
_____________________________________________________________________________________________________________
Divergence simple en ET
17
Comme au dessus, je ne traite ici que les liaisons entre 5 et ses suivantes.
Si la divergence n'est pas exclusive (les deux rceptivits peuvent tre vraies en mme temps), c'est un peu plus compliqu, le mieux est de traiter les trois cas (l'une seule, l'autre seule, les deux).
Convergence en ET
Je ne fais pas le schma, il est vident : il faut que les (deux en gnral) tapes prcdentes soient actives, et la rceptivit vraie, pour activer l'tape suivante, celle ci dsactivant les tapes prcdentes.
Convergence simple en OU
Vu le temps que je mets pour faire un schma (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 mme pas noir et blanc mais gris et gris), je me contente de l'expliquer (a vous fera un bon exercice). On allume 8 si (6 et a) ou (7 et b). On teint 6 et 7 tant que l'on a 8. Evidement ceci ne fonctionne que si l'on ne peut pas avoir simultanment 6 et 7 actives, mais j'ai bien dit (dans le titre cidessus) que je ne traite que le cas simple, qui de plus se trouve tre aussi le plus courant.
Exercice rcapitulatif
Cblez ce Grafcet (il ne pose pas de problme particulier). Ce Grafcet regroupe les diffrents cas de divergence convergence. ..... >>
_____________________________________________________________________________________________________________
Convergence en ET
18
Quand 10 est actif (Q10) et bpauto vrai, en mme temps on essaie d'allumer 11 par S11 et de l'teindre par R11. Mme en prenant une bascule priorit dclenchement, l'tat de 11 sera celui du dernier signal sur ses broches, ce qui risque d'tre alatoire. Ici, la solution est simple : une seule bascule suffit. Mais cet exemple montre bien le problme de ces
_____________________________________________________________________________________________________________
19
cblages : une tape dsactive la prcdente tant qu'elle mme est active, au lieu de ne le faire qu'au moment du franchissement de la transition.
Le problme vient de la dsactivation. Tous les composants ne peuvent pas avoir tous exactement un mme temps de rponse. Donc puisqu'on active une tape quand la prcdente est active et la rceptivit est vraie, si simultanment on dsactivait la prcdente 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 dsactivation est envoye bien plus longtemps que ncessaire. Pour tre sr du rsultat il faudrait mmoriser (dans une bascule) l'tat de chaque transition. En ralisation lectronique ce n'est pas le prix qui poserait problme mais la complication du circuit (dj assez complexe sans cela). En ralisation pneumatique ou lectrique s'ajouterait le prix des composants.
mmorisation de la transition
Donc une solution respectant mieux les rgles du Grafcet consisterait utiliser une bascule pour chaque transition. Elle est allume quand l'tape prcdente et la transition sont vraies, sa sortie active l'tape suivante et dsactive la prcdente. Quand doit on teindre la bascule reprsentant la transition ? Le problme 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 prcdente 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 dj, ce qui n'est pas grave. Faisons donc le schma de passage entre une tape 5 et une tape 6, relies par une transition de rceptivit a :
Cette mthode permet de rgler le cas o l'tape 5 risque d'tre ractive avant la dsactivation de 6.
On peut remarquer que l'on aurait obtenu peu prs le mme schma en modifiant le Grafcet pour qu'il soit compatible avec la premire mthode, c'est dire empcher qu'il y ait deux tapes successives actives en mme temps : il suffit d'intercaler une tape comme reprsent cicontre. C'est une mthode qui permet d'avoir un Grafcet plus proche du cblage, donc un cblage plus clair.
Exercice : Cbler le Grafcet de la chane de remplissage de bidons propos dans mon document prsentant le Grafcet . Attention, en fonctionnement normal (tous bidons prsents), toutes les tapes du Grafcet sont actives !
_____________________________________________________________________________________________________________
mmorisation de la transition
20
Bascules synchrones
La mthode prcdente peut encore dans certains cas ne pas respecter la rgle de simultanit. Pour cela, une seule solution : synchroniser le fonctionnement des composants. Pour cela, il suffit de prendre la premire mthode, mais d'utiliser des bascules MS (ou JK, voir mon document sur les bascules pour un peu plus de dtails). Une bascule MS prend en compte les commandes Set et Reset qu'on lui applique non pas immdiatement, mais au prochain front montant de son entre de synchronisation (horloge). La dsactivation d'une tape se fait plus simplement : par la mme information que celle qui active la suivante (les deux seront prises en compte en mme temps : au prochain front de l'horloge. Il suffit de choisir une horloge suffisamment rapide pour ne pas ralentir l'automatisme (en gnral ce point ne pose pas de problme en P.C. lectronique), mais plus lente que le temps de raction du composant le plus lent. Faisons donc le schma de passage entre l'tape 5 (d'action X) et l'tape 6, relies par une transition de rceptivit a :
On peut immdiatement voir que le schma rsultant est grandement simplifi (je n'ai pas reprsent l'horloge qui doit tre relie chaque bascule, comme l'alimentation, plus la gestion de l'initialisation). On peut remarquer qu'une bascule MS est en fait compose de deux bascules RS, et que cette mthode revient peu prs au mme que les autres modifications que j'ai proposes (en plus sr et plus clair). La principale diffrence est que l'on fixe la dure de l'information de dsactivation par un signal d'horloge.
_____________________________________________________________________________________________________________
Bascules synchrones
21
_____________________________________________________________________________________________________________
il est aliment par + et , ce qui permet d'alimenter les composants l'intrieur, mais aussi de transmettre cette alimentation (pour le squenceur suivant). Le squenceur reprsente une tape et sa transition de sortie. L'tape est active par A (envoy par l'tape prcdente), et est dsactive par D (envoy par l'tape suivante). Tant que l'tape est active, sa sortie Q est allume, ainsi que DP qui servira dsactiver la prcdente. Quand R est vrai (correspond la rceptivit), le squenceur envoie le signal AS (activation tape suivante), et ce jusqu' ce qu'il soit teint par D.
Donc ce squenceur correspond exactement la mthode prsente plus haut, dans les cas simples. Son seul avantage est de clarifier le cblage : en cas partie linaire de Grafcet, les squenceurs n'auront qu' tre mis cte cte (on dit empils), sans ncessiter de liaisons supplmentaires. Attention, ceci ne simplifie que les parties linaires, pour les divergences, convergences et cas particuliers il faudra utiliser les cblages dcrits prcdemment, avec un rsultat tout aussi confus. Attention ! Ce squenceur n'est srement pas disponible dans le commerce, et pour cause : je viens de l'inventer. Exercice : cblez le Grafcet de 5 tapes grant une amene de pices propos dans le chapitre Grafcet linaire en utilisant ce squenceur.
P.C. pneumatique
Le cblage en pneumatique est exactement similaire au cas lectronique (ce qui voulaient s'en passer devront nanmoins lire tout ce qui se trouve au dessus). On utilise des portes ET et OU, les bascules RS tant remplaces par des distributeurs bistables ( commande pneumatique videment). Les diffrences sont : temps de rponse au minimum 1000 fois plus important, bruit important, maintenance prventive lourde (vrification tuyaux, connections...),
_____________________________________________________________________________________________________________
22
prix des composants 10 100 fois suprieur, compatible avec des ambiances difficiles (humidit, parasites...) Je suis ouvert (un peu), ceux qui connaissent d'autres points (plus positifs) rajouter ici, qu'ils m'envoient un freeware var linktext = "mail."; var nom = "Patrick.Trau"; var srv = "ipstulp.ustrasbg.fr"; document.write("" + linktext + "") //> Vu le prix d'un cblage, on cherche toujours minimiser le nombre de composants, et en gnral on cherchera limiter le nombre d'tapes. Par exemple, on reprsentera par une seule tape une phase o l'on fait plusieurs actions successives, mais o les capteurs disponibles permettent de rendre ce "sous problme" combinatoire. Ce n'est qu'avec une grande exprience que l'on arrivera optimiser le cot (mais qui restera en gnral bien suprieur une solution lectronique). En pneumatique, il existe des squenceurs (au fonctionnement exactement similaire celui prsent en solution lectronique) qui sont trs utiles : ils simplifient grandement le cblage et rduisent de beaucoup le nombre de connexions effectuer (par contre, ils sont chers).
P.C. lectrique
On peut galement directement cbler une Partie Commande en lectrique (220 V par exemple). La bascule est ralise l'aide d'un relais autoaliment. Il a mme exist des squenceurs (RH je crois). Il est aujourd'hui hors de question de s'en servir (mme dans l'ducation nationale on les a jets, ce qui prouve bien que c'est totalement dpass).
_____________________________________________________________________________________________________________
P.C. lectrique
23
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
24
_____________________________________________________________________________________________________________
Les fonctions de base d'un automate Programmation d'un Grafcet dans le langage de base Programmation directe en Grafcet quelques liens : la programmation des automates quand on est rfractaire au Grafcet (de l'autre ct de l'Atlantique)
_____________________________________________________________________________________________________________
25
_____________________________________________________________________________________________________________
Ces fonctions sont disponibles sur tous les automates, des plus simples aux plus volus. Je vais dfinir un langage fictif (qui me servira pour la suite, dans la dfinition des mthodes). Ce chapitre continuera par une prsentation succinte des instructions des diffrents matriels et langages utiliss dans la suite du document pour appliquer les mthodes prsentes.
26
Langage booleen
Le langage est trs simple : on peut simuler les fonctions ET, OU et les bascules bistables : On dsire allumer la sortie 020 si (l'entre 000 est 1 ET 001 est 0) ou 002 est 1 ou 003 est 0. que je noterai en AF : S020<= (E000 ET /E001) OU E002 ou E003. Le programme correspondant sera :
0C30 0C31 0C32 0C33 0C34 0C35 0C36 0C37 SI 000 SI/ 001 ET A00 SI A00 SI 002 SI/ 003 OU 020 SAUT C30
La fonction ET possde ici 2 entres : 000 et /001. Le rsultat (0 ou 1) est mis dans la variable interne A00. La fonction OU possde ici 3 entres : A00, 002, /003. Le rsultat est mis sur la sortie 020. Attention : un programme est une suite d'instructions, qui sont excutes l'une aprs l'autre. Si une entre change aprs le passage sur l'instruction qui la prend en compte et que l'on ne repasse plus sur les instructions, la sortie n'est pas modifie. C'est la raison de la dernire ligne du programme : repasser sans arrt sur l'ensemble du programme. Par rapport un cblage, on a donc deux dsavantages : temps de rponse (un changement des entres sera pris en compte au maximum aprs le temps d'un passage sur l'ensemble du programme, c'est ce qu'on appele le temps de scrutation, qui sera ici infrieur la milliseconde) et non simultanit (on n'effectue qu'un instruction la fois). Mais ces temps tant en gnral trs infrieurs aux temps de raction des capteurs et actionneurs (inertie d'un moteur par exemple), ceci n'est que rarement gnant. L'avantage est que c'est programmable, donc facilement modifiable. Les fonctions ET et OU acceptent autant d'entres que l'on dsire. Si on n'en utilise qu'une, on a une simple recopie de valeur (ex: SI A00 OU A01). Le SAUT peut tre prcd de plusieurs SI ou SI/. si la conjonction (ET) des conditions est vraie, alors le saut est fait, sinon on continue sur la ligne suivante. Sur PB 15, seuls les sauts vers l'avant (SAUT Axx avec
_____________________________________________________________________________________________________________
27
Les fonctions de base d'un automate _____________________________________________________________________________________________________________ xx=nb de lignes ne pas faire +1) sont possibles, seule la dernire ligne du programme peut contenir un saut en arrire (sans SI). Les fonctions MU (mise un) et MZ (mise zro) permettent de traiter les bistables. Il peuvent eux aussi tre prcds par un ou plusieurs SI : SI A00 SI B0C MU AF3 (2) SI A00 SI B0C ET AF3
(1)
si A00=1 et B0C=1 alors (1) et (2) mettent AF3 1. Sinon, (2) met AF3 0, mais (1) ne le fait pas (AF3 garde la mme valeur qu'avant, 0 ou 1). Une autre fonction utile est le DE :
DE A00 MZ BFF
donnera le mme rsultat que MZ A00 MZ A01 MZ A02 ... MZ BFE MZ BFF
la temporisation
Il faut avant tout donner la condition qui dclenchera la tempo, par un ou plusieurs SI. Puis TP et le nom de la variable qui sera mise 1 au bout de la tempo. Puis donner la base de temps (sur PB15 09FF, 09FE, 09FD pour 1 sec, 1/10, 1/100; sur PB100 BT F, BT E pour 1 sec, 1/10). Puis donner l'adresse o l'on stocke la dure, et l'adresse rserve au compteur. Ces adresses sont n'importe quelle ligne de programme (mais sur laquelle on ne devra pas passer) sur PB100, et entre 0800 et 0817 sur PB15). SI 000 TP 020 09FF 0800 0801 SAUT C30 0800 0801 0005 0000 si appui sur le capteur 000 allumer la sortie 020 aprs un certain dlai le dlai sera donn en Secondes adresse dure adresse rserve compteur
Exemple: 0C30
En appuyant le contact, la sortie sera allume 5 secondes aprs. Elle restera allume jusqu' ce qu'on lche l'entre. le compteur sera alors automatiquement remis zero. Si on appuie moins de 5 secondes, rien ne se passe. Cetteinstruction n'arrte pas le programme, il faut constamment passer sur les lignes d'instruction pour que la sortie soit bien affecte en bout de tempo.
la temporisation
28
Les rseaux
Les schmas sont effectus l'un aprs l'autre, de haut en bas (et non suivant leur label). Chaque rseau est scrut par colonne de gauche droite. ex:
Dans ce cas l'entre B12 est l'ancienne valeur de la bobine (variable interne) B12. Si l'on veut utiliser le rsultat de ce rseau, il faut utiliser B12 dans le rseau suivant. On note un capteur par le signe | |, un contact inverse par |/|. Une bobine est note < > , une bobine inverse < / > (commande par un niveau 0). Un bistable est allum par < S > , teint par < R > . Un saut un autre rseau est not < J >. On a intrt de n'utiliser que des sauts avants (vers la fin du programme). L'automate fixe automatiquement les entres au dbut de cycle et n'affecte les sorties qu'en fin de cycle (les variables internes sont videment immdiatement modifies).
Temporisation
On reprsente la tempo par le signe : E correspond l'armement de la tempo, C au contrle. D passe 1 en fin de tempo, R est 1 tant que la tempo est en cours. En appuyant la touche ZM, on peut donner : TB: la base de temps, PRESET: la dure.
Les rseaux
29
Les fonctions de base d'un automate _____________________________________________________________________________________________________________ 2 AND 3 OR LOD OUT 203 END
faire le calcul (le rsultat remplace le sommet de la pile) OU entre le sommet de la pile et le prcdent, le rsultat remplace le prcdent et la pile a baiss d'un tage Copie du sommet de la pile sur la sortie (sans changement dans la pile !!!) fin du programme, saut automatique en premire ligne
La bascule : si sommet de la pile (dernier calcul ou LOD) vaut 1, SET rsultat ou RST rsultat allumera ou teindra le rsultat, sinon il restera inchang le saut : si sommet de la pile (dernier calcul ou LOD) vaut 1, JMP sautera au prochain JEND (saut avant uniquement, pas d'imbrications)
assembleur (PC)
L'assembleur ne sera que rarement utile : personellement je conseillerai plutt C. Nanmoins ce n'est pas une possibilit ngliger, notament dans les cas ncessitant un traitement temps rel. On trouvera un descriptif plus complet dans le document "mmento 8088"
_____________________________________________________________________________________________________________
30
Les fonctions de base d'un automate _____________________________________________________________________________________________________________ On se limitera aux instructions suivantes : LABEL: donne un nom une ligne de programme MOV reg,val met la valeur VAL dans le registre REG (ici DX ou AL) OUT DX,reg envoie sur le port de sortie dont l'adresse est dans DX la valeur contenue dans le registre REG (ici AL) IN reg,DX met dans le registre REG (ici AL) la valeur disponible sur le port d'entre dont l'adresse est dans DX TEST reg,val masque le contenu de REG par VAL (fonction ET) sans changer REG. Le(s) bit(s) de REG correspondant un 1 de VAL seront inchangs, les autres sont mis 0 JZ label saute l'adresse LABEL si le rsultat du test prcdent tait 0 (le bit non masqu valait 0) JNZ label saute LABEL si le rsultat du test prcdent tait non nul. JMP label saute LABEL (sans condition) Je pense que ces petites explications suffiront pour comprendre les programme que je donnerai plus bas
En langage volu
Vous pouvez consulter si ncssaire mon livre sur le Language C ou mon document sur le Pascal. Tous les langages conviennent : ils savent tous faire ET, OU et NON, mettre une mmoire 1 ou 0 sous condition (IF). Le Pascal permet un programme plus clair que tous les autres condition d'utiliser la notion d'ensembles (estce que l'tape X appartient l'ensemble des tapes actives ?). Dans les autres langages il faudra faire des boucles et des masquages, pour cela le C sera certainement le plus pratique (ainsi que pour grer directement une carte d'entres sorties). Rappel : les sauts sont possibles dans tous les langages classiques, contrairement ce que certains enseignants essayent de faire croire.
Conclusion
Ces fonctions de base sont prsentes dans tous les automates (mme si elles sont mises en oeuvre par des langages trs diffrents, y compris graphiques), sauf les sauts qui peuvent tre plus limits (au minimum bouclage automatique sur l'ensemble du programme, mais sans sauts dans le programme). Nous utiliserons ces seules fonctions pour voir comment programmer un grafcet, mais le principe reste valable quel que soit l'automate. Souvent, d'autres possibilits existent, en particulier temporisations, comptage, comparaisons,... Voir les documentations correspondantes si ncessaire.
_____________________________________________________________________________________________________________
En langage volu
31
_____________________________________________________________________________________________________________
Mthode globale
Cette mthode marche sur tout automate, pour tout Grafcet. Nous l'appliquerons au cas particulier de l'AF mais le principe est rigoureusement le mme sur n'importe quel langage d'automate (y compris les langages graphiques comme le langage contacts du TSX), ainsi qu'en langage machine ou mme langage volu tel Pascal ou C
Principe
On utilise une variable binaire pour reprsenter l'tat d'activation de chaque tape, et une variable pour le franchissement de chaque transition. De plus on fige les entres pour une dure du cycle. Il est capital de bien prciser, sur une feuille de papier, quoi correspond chaque entre, sortie et variable interne.
initialisation (mise 1 tape(s) initiale(s), 0 les autres, mise 0 des sorties,...) +> lecture des entres (et copie dans des variables internes) | calcul des conditions d'volution (quelles transitions seront franchies) | dsactivation des tapes dsactiver | activation des tapes | combinatoire (si ncessaire: tempos, comptage, actions conditionnelles...) | affectation des sorties (en fonction des tapes actives) ++ (saut aprs l'initialisation)
Remarque sur la phase de lecture des entres : celleci est inutile sur la plupart des automates simples (ils bloquent les entres le temps d'un cyle, ce qui les empche des programmes du genre : boucler tant que capteur lach). C'est la seule solution pour respecter l'algbre de Boole : a.(b+c) doit tre quivalent a.b + a.c mme si a change au milieu de calcul. L'ordre des phases est capital pour respecter les rgles du Grafcet (surtout 4 et 5), il ne peut tre modifi que dans les cas simples (en particulier quand on n'a pas besoin des rgles 4 et 5).
_____________________________________________________________________________________________________________
32
Programme en AF :
Dbut : V21<=1 V22<=0 Boucle : V00<=E00 V01<=E01
initalisation : tape 1 active tape 2 non active lecture des entres : copie de l'tat du capteur m dans V00 copie de l'tat du capteur a dans B01 conditions d'volution : transition 1 passante si tape 1 active et capteur m transition 2 passante si tape 2 active et capteur a dsactivation :si transition 1 passante, dsactiver l'tape 1 si transition 2 passante, dsactiver l'tape 2 activation : si transition 1 passante, activer l'tape 2 si transition 2 passante, activer l'tape 1 (teindre sinon)
SI V11 ALORS V21<=0 Si V12 ALORS V22<=0 SI V11 ALORS V22<=1 SI V12 ALORS V21<=1 S20<=V22 SAUT Boucle
affectation des sorties : allumer L si tape 2 active boucler (mais ne pas rinitialiser)
Quelques remarques : cette mthode marche quel que soit le nombre d'tapes actives simultanment. Le fait de bloquer les capteurs pour un cycle allonge le temps de raction mais donne un rsultat conforme au grafcet (si par exemple le capteur change entre le passage sur la dsactivation et l'activation). La dsactivation de TOUTES les tapes doit prcder l'activation : essayez 2 tapes qui se suivent, toutes les 2 actives, suivies de la mme rceptivit (front montant sur un capteur par exemple). Le programme obtenu est long et lent, mais conu rapidement (pas ou peu de rflexion).
_____________________________________________________________________________________________________________
33
copie de l'tat du capteur a dans B01 conditions d'volution : transition 1 passante si tape 1 active et capteur m
dsactivation : si transition 1 passante, dsactiver l'tape 1 si transition 2 passante, dsactiver l'tape 2 activation : si transition 1 passante, activer l'tape 2 si transition 2 passante, activer l'tape 1 affectation des sorties : allumer L si tape 2 active (teindre sinon) boucler (mais ne pas rinitialiser)
0C45 SI 0C46 OU
Application en ST62xx
Toujours pour ce mme cas, supposons : entres : port A (bit 0 = m, bit 1 = a, bits 2 7 inutiliss) sorties : port B (uniquement bit 0 pour notre seule sortie) variables internes : capt : mmorisation des entres, etap pour les tapes (bits 0 et 1 uniquement), trans pour les transitions (bits 0 et 1 uniquement).
;dfinition des adresses PortA .def 0C0h ;registre de donnes du port A PortB .def 0C1h ;registre de donnes du port B DirA .def 0C4h ;registre de direction du port A DirB .def 0C1h ;registre de direction du port B capt .def 0A0h ;pour figer les entres (adresse choisie parmi les 64 disponibles) etap .def 0A1h ;tapes actives trans .def 0A2h ;transitions (franchissables ou non) ;dfinition des constantes BitM .equ 00h ;entre m branche sur le bit 0 BitA .equ 01h ;entre a branche sur le bit 1 ;initialisation LDI DirA,00h ;tout en entre LDI DirB,01h ;seul bit 0 en sortie, les autres inutiliss ici LDI PortB,00h ;teindre les sorties LDI etap,01h ;tape 1 active boucle : ;scrutation des entres LD A,PortA LD capt,A ;conditions d'volution LDI trans,00h JRR 0,etap,trans2 ;saut plus loin si tape inactive JRR BitM,capt,trans2 ;saut plus loin si capteur teind SET 0,trans ;allume la transition (bit 0) trans2: JRR 1,etap,desact1 JRR BitA,capt,desact1
_____________________________________________________________________________________________________________
Application en ST62xx
34
Ce grafcet a surtout un intrt didactique : tous les ET et OU pour un minimum d'tapes. Choix des variables (i entre 1 et 4) : tape i : ETi, transition i : TRi , entre Ei mmorise dans Vi Programme correspondant en AF :
initialisation : ET1<=1 ET2<=ET3<=ET4<=0 entrees: V1<=E1 V2<=E2 V3<=E3 evolution: TR1<=ET1 ET V1
_____________________________________________________________________________________________________________
35
SAUT C34
{ Ce programme correspond au GRAFCET 2 du poly "mise en oeuvre du grafcet sur automate" } PROGRAM grafcet_2 (input,output); CONST adresse_port=$330; TYPE liste_capteurs=(e1,e2,e3); ensemble_capteurs=SET OF liste_capteurs; liste_actions=(sortie1,sortie2,sortie3); ensemble_actions=SET OF liste_actions;
_____________________________________________________________________________________________________________
36
37
Mthode locale
Cette mthode est beaucoup plus rapide ( l'excution), prend beaucoup moins de place, mais ne fonctionne que pour un grafcet une seule tape active la fois. De plus l'automate doit pouvoir faire des sauts en avant et en arrire (ce n'est pas le cas des automates d'entre et moyenne gamme comme le Micro 1, APRIL 15, TSX 17 47...).
Principe
Supposons tre dans l'tape I, les sorties tant dj affectes. On attend alors (en fonction des capteurs) que l'on doive quitter l'tape. Puis on choisit quelle doit tre la suivante (au cas o l'on avait un OU divergent), on modifie les sorties si ncessaire et on saute l'tape suivante (qui sera traite exactement de la mme manire).
Exemple simple
On reprend le grafcet (1), avec la mme affectation des entres et des sorties. Il ne faut plus figer les entres, il n'est plus ncessaire de reprsenter les tapes par des variables puisque seule une tape est active, et elle correspond l'endroit o l'on se trouve dans le programme.
initialisation: S20<=0; etape1: SI (/E1) SAUT etape1 ;attendre capteur m S20<=1 ;mise jour des sorties etape2: SI (/E2) SAUT etape2 S20<=0 SAUT etape1
Evidement, le programme est plus simple (mais c'est uniquement le cas dans les cas simples). Le programme est le plus rapide qui puisse exister : un instant donn on ne teste que les capteurs ncessaires, sans aucun autre calcul. Lors d'un volution on ne modifie que les sorties ncessaires. Le temps de rponse est donc minimal avec cette mthode. Son seul problme est qu'elle ne fonctionne qu'avec des Grafcets une tape active la fois (sans ET, tous les OU doivent tre exclusifs) (mais voir plus bas pour rsoudre ce problme)
_____________________________________________________________________________________________________________
Mthode locale
38
et1
et2
tape 1 : attendre capteur m (rester dans ces 2 lignes tant que m=0 passage tape 1 2 : allumer L puis aller tape 2 tape 2 : attendre capteur a passage 2 1 : teindre L puis aller tape 1
on obtient donc le grafcet (3) suivant (il est rare que le graphe des tats accessibles soit plus simple que l'initial) :
Les OU divergents DOIVENT tre exclusifs (sinon vous avez oubli un cas dans la table). Si vous dsirez essayer de crer un graphe des tats accessibles, je vous conseille d'essayer celui l :
_____________________________________________________________________________________________________________
39
(c'est le Grafcet du remplissage de bidons, dans mon cours sur le Grafcet Vous devez arriver un Graphe 8 tapes (tout le monde sait faire un Grafcet 8 tapes !). Je ne donne pas la rponse ici, ce serait trop facile (n'empche que j'ai mme russi un jour le faire sans intersection) Programe en AF :
initialisation : S1<=S2<=S3<=0 etape1: SI (/E1) SAUT etape1 S2<=S1<=1 etape2: SI (/E2) SAUT etape2 ;seul E2 ncessaire pour sortir de l'tape 2 S2<=0 ;dans les 2 cas teindre S2 SI (/E3) SAUT passage2a3 ;je traite ce cas plus loin S1<=0 ;dernire sortie mettre jour SAUT etape1 passage2a3: S3<=1 ;mise jour sorties etape3: SI (E2) SAUT etape3 S3<=0 ;mise jour sorties, inutile de modifier S1 ici S2<=1 SAUT etape2
Pour la mise jour des sorties, on sait toujours d'o l'on vient et o l'on va, on ne modifie donc que celles qui doivent l'tre.
cas du PB100
Choix des variables : entre Ei : 00i, sortie Si : 02i
DE 021 MZ 023 et1 SI/ 001 SAUT et1 p12 MU 022 MU 021 et2 SI/ 002 SAUT et2 MZ 022 SI/ 003 SAUT p23 p21 MZ 021 SAUT et1 p23 MU 023
_____________________________________________________________________________________________________________
cas du PB100
40
commencer par dfinir la direction des ports, si ma carte le permettait dx,adresse_port_s al,0 dx,al ;sorties toutes 0 dx,adresse_port_e ;je laisse cette adresse par dfaut dans DX
in al,dx test al,c0 jz et1 mov mov out mov dx,adresse_port_s al,00000011B dx,al ;modif sorties dx,adresse_port_e
s_et2:
et2:
in al,dx test al,c1 jz et2 test al,c2 jnz s_et1 mov mov out mov dx,adresse_port_s al,00000101B dx,al dx,adresse_port_e
s_et3:
et3:
in al,dx test al,c2 jnz et3 jmp s_et2 fin: mov ax,4C00h int 21h ; fin du programme code ends end s_et1
application en C
#define port_e 0x300 #define port_s 0x301 #define e1 0x01 //sur quel bit aije branch l'entre ?
_____________________________________________________________________________________________________________
41
int lecture(void) {return(inport(port_e)); } void ecriture(int i) {outport(port_s, i); } void main(void) { int capteurs; etape1: ecriture(0); do capteurs=lecture(); while (!(capteurs&e1)); etape2: ecriture(s1|s2); do capteurs=lecture(); while (!(capteurs&e2); if (capteurs&e3) goto etape1; etape3: ecriture(s3|s1); co capteurs=lecture() while (capteurs&e2); goto etape2; }
Remarque sur le masquage : capteurs & e2 fait un ET bit bit entre les deux variables. Pour qu'un bit du rsultat soit 1, il faut que les bits du mme niveau des DEUX variables soient 1. Or e2 contient un seul bit 1, celui correspondant l'entre E2. Si le rsultat vaut 0 (Faux), c'est que E2 tait 0, sinon (diffrent de 0 mais pas ncessairement 1), c'est qu'il tait allum En C (comme toujours) le code est compact, facile crire mais ncessite une conaissance plus pousse du fonctionnement de l'ordinateur (ici binaire et masquages).
Conclusions
Cette seconde mthode donne un programme est bien plus court dans ce cas, mais en gnral le graphe des tats accessibles est bien plus complexe que le grafcet initial. On se dbrouille en gnral dans ces cas complexes, de manire minimiser la taille et le temps, en faisant un compromis entre les deux mthodes. Il n'empche que faire par un programme la table des tats accessibles est relativement ais, et donc on peut en dduire immdiatement le programme rsultant (toujours automatiquement) puisque la mthode est trs simple (et correspond directement la table)
_____________________________________________________________________________________________________________
Conclusions
42
_____________________________________________________________________________________________________________
Certains automates sont prvus pour tre programms plus facilement partir d'un Grafcet. C'est le cas du TSX ( l'aide d'une cartouche ROM) et du PB 15, mais pas du Micro1 par exemple. Mais ces implantations ne sont pas bien pratiques, c'est pourquoi on utilisera gnralement (si on en a les moyens) une gnration automatique du programme l'aide d'un logiciel spcifique (en gnral sur PC).
PB APRIL 15
Chaque tape doit tre reprsente par une variable interne. On doit utiliser les premires (donc partir de A00). Les variables internes suivantes peuvent tre utilises pour d'autres utilisations, par exemple pour un calcul de receptivit (on utilise en gnral les variables en dcroissant partir de A3F). La premire ligne du programme doit comporter l'instruction PRED, qui initialise le Grafcet. Puis on dfinit toutes les transitions : quelles est l'tape(s) prcdente (antrieure), quelle est la variable contenant la receptivit puis quelle est l'tape(s) postrieure. Puis on affecte les sorties, et on boucle (sans bien sur repasser sur PRED qui rinitialiserait). Exemple du grafcet 2 : Choix des variables : tape i : A0i, entre Ei : 00i , sortie Si : 02i
0C30 PRED 0C31 EANT A01 RCEP 001 EPOS A02 EPOS A03 EANT A03 SI 002 SI/ 003 ET A3F RCEP A3F EPOS A04 EANT A04 RCEP /002 EPOS A03 EANT A02 EANT A03 SI 003 SI 002 ET A3E EPOS A01 SI OU SI OU SI OU A02 021 A03 022 A04 023 2 tapes antrieures tape antrieure 1 rceptivit 2 tapes postrieures : 2 et 3
SAUT C31
_____________________________________________________________________________________________________________
43
Programmation directe en Grafcet _____________________________________________________________________________________________________________ Le langage vrifie toutes les rgles du grafcet, et entre autre accepte plusieurs tapes actives simultanment, ou plusieurs grafcets simultans (n'oubliez pas dans ce cas de numroter diffrement les tapes). Par contre il ncessite une transcription du Grafcet, et n'est pas trop pratique pour le dboguage (quelles tapes sont actives un instant donn ?) Dernier point lucider, PRED : Cet ordre remet les variables internes (et lesregistres de tempos et compteurs) dans le dernier tat sauv. Les variables internes sont mmorises dans des mots 16 bits aux adresses 0C00 0C03. 0C00 contient A00 en bit de poids fort, jusqu' A0F en bit de poids faible. Dans notre cas, mettre A01 1 et tout les autres 0 revient donc mettre 4000 (hexa) dans 0C00 et 0000 dans 0C01 0C03. On mmorise alors cet tat en appuyant sur la touche MEM puis en validant par VAL/+.
sur TSX
Il faut tout d'abord dessiner le grafcet. Analysons le cas du grafcet 1 :
Les traits verticaux vont de haut en bas uniquement. Par contre on peut remplacer un trait par 2 flches, en prcisant l'tape d'o l'on vient et o l'on va. C'est ce que l'on utilise pour une remonte. (ici pour aller de l'tape 2 l'tape1). Cette notation ne respecte pas les rgles du Grafcet (une laison est entre une tape et une transition) et peut ncessiter de rajouter une tape au niveau d'une convergence ou divergence.
Une fois le grafcet entr, on dfinit les transitions et les actions correspondant aux tapes. Pour ceci, placer le curseur sur une transition dfinir, appuyer la touche ZM (zoom). Un rseau contacts apparat, avec une bobine reprsentant la transition. Il faut alors reprsenter le schma qui, en fonction des capteurs, "allumera" la receptivit. On valide le rseau par ENT (touche ENTER). Pour les actions, il faut pointer une tape, appuyer ZM, donner le schma qui allumera les bobines de sortie. On entre un rseau complet, on peut donc faire du combinatoire sur les sorties (test arrt d'urgence) ou dclencher une tempo. Mais les sorties ne peuvent tre actives que par une bobine <S>, ce qui force dsactiver la sortie par une bobine <R> l'tape suivante. Une autre possibilit (que je conseille fortement) est de grer les actions grce au "traitement postrieur", voir document complet sur le TSX Soient : Capteurs m=I1,0, a=I1,1 Sortie L=O0,0. Les rseaux entrer sont donc:
transition 1 | I1,0 | |||< # >| | | tape 1 | O 0,0 | |< R >| | | transition 2 | I1,1 | |||< # >| | | tape 2 | O 0,0 | |< S >| | |
_____________________________________________________________________________________________________________
sur TSX
44
_____________________________________________________________________________________________________________
L'automate MICRO1
1 Description gnrale 2 Connexions 3 Adresses 4 Structure du programme 5 Langage 5.1 LOD (load charger) 5.2 OUT (sortir) 5.3 AND (et) 5.4 OR (ou) 5.5 NOT (non) 5.6 AND LOD / OR LOD 5.7 SET (allumer) 5.8 RST (reset teindre) 5.9 TIM (timer temporisation) 5.10 JMP (jump saut avant) et JEND (fin de saut) 5.11 MCS (Master Control Set) et MCR (Master Control Reset) 5.12 SOT (Single OutpuT sortie impulsionnelle) 5.13 CNT (counter compteur) 5.14 Comparateurs (associs aux compteurs CNT) 5.15 SFR (ShiFt Register registre dcalage) 6 Entre d'un programme 7 Monitoring
1 Description gnrale
L'automate programmable IDEC MICRO1 (distribu par Chauvin Arnoux) est un automate de faible prix (4000F) permettant de traiter des petits problmes d'automatisme faible cot (mme prix que 10 relais et 3 tempos, chez le mme fabriquant). Il se compose d'une unit centrale (UC) comportant le contrleur, la mmoire (EEPROM : ne s'efface pas quand elle n'est pas alimente), 8 entres (extensible 16 voire 64), 6 sorties (extensible 12) relais acceptant du 220V 2A par commun, c'est dire 2A totales pour les 3 premires sorties, 2A pour chacune des 3 autres. Le programme est mis au point sur la console de programmation, puis est transfr dans l'UC, qui ne ncessite plus la prsence de la console pour fonctionner.
2 Connexions
Entres : La borne +COM dlivre du 24V, permettant d'alimenter 8 capteurs (interrupteurs), numrots 0 7. Sorties : La premire borne COM permet d'amener l'nergie de sortie pour les bornes 200, 201 et 202. Les bornes 203, 204 et 205 possdent chacune sa propre alimentation (borne de gauche). Les diffrentes alimentations ne sont pas ncessairement identiques (par exemple, une en 220V~, une en 5V, une en 24V). Console : elle est branche sur la prise situe droite de l'UC (sous une petite trappe). Elle peut tre clipse sur l'UC (glisser vers le haut pour dclipser). Si la console est absente, l'UC, son allumage, met toutes les variables internes et sorties 0 puis dmarre automatiquement le dernier programme entr ( condition d'avoir t la console en mode RUN).
_____________________________________________________________________________________________________________
L'automate MICRO1
45
3 Adresses
Entres : 0 7 Sorties : 200 205 Mmoires internes : 400 597, sauf les nombres se terminant par 8 ou 9 (400 407, 410 417,...) Mmoires usage spcifique : 600 717 (ex 714 vaut 1 durant 1/2s toutes les secondes, 715 toutes les 0,1s, 713 mis 1 teint toutes les sorties...) Compteurs : 0 46 (45 et 46 spcifiques) Temporisations : 0 79 Sorties impulsionnelles : 0 95 Lignes de programme : 0 599
4 Structure du programme
L'automate excute les lignes du programme de manire squentielle (l'une aprs l'autre, en commenant par la ligne numro 0. Le programme se termine par l'instruction END. Aucune ligne de ce programme, avant le END, ne peut tre vide. Au passage sur une ligne de programme, les variables internes sont immdiatement mises jour, mais les sorties ne sont rellement modifies que sur le passage de l'instruction END. Comme en informatique, chaque instruction dcrit une action effectuer l'instant de son excution uniquement. Ceci implique, pour les cas d'automatismes habituels, o l'tat des sorties doit continuellement tre recalcul en fonction des entres, de toujours boucler sur l'ensemble du programme. C'est ce que fait l'instruction END, qui, aprs la mise jour effective des sorties, lit l'tat des entres puis remonte au dbut du programme (ligne 0). Les entres seront figes le temps d'un cycle du programme (jusqu'au END), ce qui permet d'valuer des expressions logiques complexes sans qu'une entre ne change d'tat en cours de calcul.
5 Langage
Le MICRO1 fonctionne en notation polonaise, avec une pile (LIFO) de 8 registres (en cas d'introduction de plus de 8 valeurs dans la pile, les plus anciennes sont perdues). Les paragraphes 5.1 5.6 prsentent les fonctions combinatoires de base. Elles permettent de traiter simplement tout problme combinatoire. Les fonctions de base du squentiel (bascules et timer) sont traites de 5.7 5.9, puis sont traites des fonctions plus puissantes ou plutt informatiques (mais aussi plus complexes).
3 Adresses
46
L'automate MICRO1 _____________________________________________________________________________________________________________ Ceci met l'tat de l'entre 0 dans la mmoire 400 et sur la sortie 200
5.4 OR (ou)
Idem AND, mais effectue un OU logique
_____________________________________________________________________________________________________________
44
L'automate MICRO1 _____________________________________________________________________________________________________________ effectue (criture type "algorithmique") : 200<=(1.2)+(3.4) Remarque : appuyer sur la touche SHF (shift=majuscule) avant LOD pour ne pas entrer un 1 (qui est sur la mme touche).
48
L'automate MICRO1 _____________________________________________________________________________________________________________ Remarque : un timer n'arrte pas le programme (une autre partie de l'automatisme peut fonctionner pendant ce temps) mais met 1 sa sortie, au bout du temps prdfini, condition d'avoir maintenu son entre 1 et de repasser chaque cycle sur l'instruction TIM.
Exemple :
MCS instructions LOD 1 l'entre 1 contrle une plus petite partie du programme MCS instructions MCR terminaison des 2 MCS
_____________________________________________________________________________________________________________
49
Exemple :
50
OUT SFR n'est pas possible). LOD NOT 400 TIM 0 20 OUT 400 LOD NOT 597 LOD 400 LOD SFR 12 SFR 10 3 LOD SFR 10 OUT 200 LOD SFR 11 OUT 201 LOD SFR 12 OUT 202 LOD NOT 597 SET SFR 10 SET 597
Exemple :
Timer : 400 vaut 1 un cycle toutes les 2 secondes Reset, uniquement lors du premier cycle Pulse : un dcalage toutes les 2 s Data : on entre en premier bit l'tat du dernier Notre registre commence en position 10 avec 3 bits (jusqu'au 12)
affecter une sortie chaque bit utilis du registre comme toutes les mmoires internes, 597 vaut 0 au premier cycle au premier cycle, mettre le 1er bit 1 mettre 597 1 dfinitivement, pour ne plus rinitialiser
Ceci cre un chenillard (sur 3 bits) qui boucle jusqu' extinction de l'UC Remarque : SFR peut tre utilis pour grer un Grafcet linaire, ou mme plus complexe. SFR NOT (mmes entres, mme sortie) effectue un dcalage en sens inverse. Il peut s'utiliser (et c'est l sa principale utilit) sur les mmes bits qu'un SFR, permettant d'avancer et reculer.
51
Transfrer le programme de la console l'UC : mettre l'UC en mode STOP (interrupteur sur la console, voyant RUN de l'UC teint). appuyer TRS ENTR puis confirmer par ENTR. Attendre l'affichage de END mettre l'UC en mode RUN. On peut dsormais dbrancher la console, l'UC continue fonctionner. Si l'UC est teinte en mode RUN, son rallumage le programme dbutera automatiquement (au bout de quelques secondes), avec toutes les mmoires mises 0. La console, contrairement l'UC, perd le contenu de sa mmoire lorsqu'elle est dbranche. On peut recharger un programme dans la console depuis une UC par TRS READ puis confirmation par ENTR. TRS VERI permet de vrifier la similitude du programme de la console avec celui de l'UC.
7 Monitoring
En plus de la visualisation sur l'UC de l'tat des entres et des sorties, on peut visualiser, en mode RUN, l'tat de l'UC par les fonctions MON : MON numro mmoire READ : affiche l'tat des 8 mmoires partir du numro donn. MON 0 pour les entres, MON 200 pour les sorties, MON 400 pour les mmoires internes 400 407, les flches haut et bas permettent de visualiser les mmoires suivantes. Une mmoire 1 est visualise par un rectangle plein, 0 par un vide. MON TIM numro permet de visualiser le contenu d'un timer, MON CNT numro pour un compteur, MON SFR numro pour les registres dcalage. CLR quitte le mode Monitoring. Les changements d'tat de moins de 0,1s ne sont pas visualiss. Remarque : MON TIM 47 affiche le temps d'un cycle du programme en mmoire (en ms). On peut modifier la valeur limite d'un compteur ou timer par TRS CNT (ou TIM) numro READ. La valeur est affiche. Entrez la nouvelle valeur puis ENTR. Cette valeur est perdue l'extinction de l'UC (plus d'un jour). TRS SET numro mmoire ENTR met un une mmoire (RST, SET SFR, RST SFR sont galement possibles). FUN 93 READ 1 ENTR : affiche une ligne de programme, et l'tat de sa sortie (ex LOD entre 1 ou LOD NOT entre 0 affichent un rectangle plein). On peut se dplacer dans le programme par les flches ou par ADRS. On quitte ce monitoring par 0 puis ENTR.
_____________________________________________________________________________________________________________
7 Monitoring
52
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
53
_____________________________________________________________________________________________________________
_____________________________________________________________________________________________________________
54
Dans ce cas l'entre B12 est l'ancienne valeur du bit interne (bobine) B12. Si l'on veut utiliser le rsultat B12 de ce rseau, il faut utiliser B12 dans le rseau suivant. On note un capteur par le signe Un bit interne est note Une bascule bistable est allume par , un contact complment (vrai si 0) par , un bit interne inverse , teinte par .
Un saut un autre rseau est not . Un saut est effectu immdiatement lors de son valuation (les bobines en sortie dans le mme rseau mais sur les lignes suivantes ne seront donc pas values en cas de saut). On a intrt de n'utiliser que des sauts avants (vers la fin du programme). L'excution du dernier rseau sera automatiquement suivie de l'excution du premier (sauf si sauts). L'automate fixe automatiquement les entres au dbut de cycle et n'affecte les sorties qu'en fin de cycle (les variables internes sont videment immdiatement modifies). Il est ncessaire de refaire un cycle (c'est dire passer du dernier rseau au premier) frquemment (tous les 150 ms maximum).
Temporisation
On reprsente la tempo par le signe : Il existe sur les TSX 17 32 tempos (T0 T31). E correspond l'armement de la tempo, C au contrle. D passe 1 en fin de tempo, R est 1 tant que la tempo est en cours. En appuyant la touche ZM, on peut donner : TB: la base de temps (1mn, 1s, 100ms, 10ms), PRESET: la dure (0 9999). E doit tre 1 tout le temps du comptage, son passage 0 met D 0 et rinitialise le compteur. C (que l'on peut brancher sur E) valide le comptage (si C=0;, le compteur est bloqu mais pas remis 0) On dispose galement de 8 tempos monostables M0 M7, avec une seule entre S, une seule sortie R valant 1 durant le temps prslectionn, partir du front montant de S, indpendamment du moment de passage 0 de S. Un nouveau front montant de S en cours de comptage relance le compteur 0.
Compteur / dcompteur
Il existe sur les TSX 17 32 compteurs (C0 C31). R (reset) met le compteur et les sorties 0. P (preset) met le compteur la valeur finale et la sortie D (done) 1 (sauf si R=1). U (up) incrmente le compteur, D (down) le dcrmente. La sortie F (full) vaut 1 lors du passage du compteur (par U) de 9999 0, E (empty) lors du passage (par D) de 0 9999. Si U=D=1, le compteur est inchang.
La valeur de prselection (Ci,P, entre 0 et 9999) se dfinit en "zoomant" sur le compteur. Les autres fonctions disponibles (comparateurs, oprations arithmtiques et logiques, piles, registres
_____________________________________________________________________________________________________________
Temporisation
55
Description succincte du TSX _____________________________________________________________________________________________________________ dcalage, transcodage binaire, BCD, ASCII...) sont dtailles dans le chapitre 5 du document "Terminal TSX T407 Modes opratoires PL72", au chapitre 2 de "Langage PL72 Synthse" ainsi qu'au chapitre B4 du manuel de rfrence du PL72.
Conclusion
Ces fonctions de base (tempo, compteur) sont prsentes dans tous les automates (mme si elles sont mises en oeuvre par des langages trs diffrents), sauf les sauts qui peuvent tre plus limits (au minimum bouclage automatique sur l'ensemble du programme, mais sans sauts dans le programme). Mais le principe reste valable quel que soit l'automate. Souvent, d'autres possibilits existent, en particulier temporisations, comptage, comparaisons,...
programme : On vient de l'tape 2 Les liaisons verticales vont de haut en bas uniquement. Par contre on peut remplacer une liaison par 2 flches, en prcisant l'tape d'o l'on vient et celle o l'on va. C'est ce que l'on utilise pour une remonte. On va l'tape 1
Une fois le grafcet entr, on dfinit les transitions et les actions correspondant aux tapes. Pour ceci, placer le curseur sur une transition dfinir, appuyer la touche ZM (zoom). Un rseau contacts apparat, avec un bit interne reprsentant la transition. Il faut alors reprsenter le schma qui, en fonction des capteurs, "allumera" la rceptivit. On valide le rseau par ENT (touche ENTER). Pour les actions, on peut (mais je ne le conseille pas) pointer une tape, appuyer ZM, donner le schma qui allumera les bobines de sortie. Sur nos TSX, les sorties ne peuvent tre actives que par un bit interne <S>, ce qui force dsactiver la sortie par un bit interne <R> l'tape suivante. Soient : Capteurs m=I1,0, a=I2,0 Sortie L=O0,0. Les rseaux entrer sont donc: transition 2
transition 1
_____________________________________________________________________________________________________________
Conclusion
56
Une bien meilleure solution est de regrouper toutes les actions dans le "traitement postrieur". Attention, du fait que le TSX fige les entressorties le temps d'un cycle, il ne faut mettre en place qu'une seule "quation" par sortie (sinon seule la dernire sera prise en compte). On n'oubliera donc pas de regrouper (en parallle) les Xi allumant une sortie.
Une tempo (en secondes) est automatiquement lie chaque tape, et permet de tester la dure depuis l'activation de l'tape par un oprateur de type [ < ] (comparaison) par la variable interne Xi,V (i numro d'tape)
Dtails pratiques
Ce chapitre prcise l'utilisation des claviers et les branchements effectuer. Allumez l'automate puis la console (touche ON). Mettez l'automate en mode STOP (sur la platine portant l'automate). Quand le menu principal est affich, choisissez PRG (program) en appuyant la flche qui se trouve sous cette option. Vous pouvez alors soit examiner le programme en mmoire, soit visualiser la suite des options du menu par la flche sous le /. On choisit alors l'option CLM (clear memory), qui nous demande en quel langage on veut travailler (SEQ pour grafcet, LAD pour contacts). Puis aprs quelques secondes, on peut revenir au programme principal par la touche QUIT (qui remonte brutalement) ou 2 fois CLR (qui remonte avant la dernire commande effectue). Pour entrer le programme, choisir PRG puis SEQ ou LAD. On valide un rseau ou tout le programme par la touche ENT. Pour faire tourner le programme, revenez au menu principal (QUIT), choisissez DBG (debug) puis R/S (run/stop), ou mettez en RUN par le contacteur RUN/STOP de la platine.. Quand le programme tourne, on peut revenir sous PRG pour le voir, mais pas le modifier. Les capteurs et les bobines sont alors reprsentes en pointills si 1, en trait plein si 0. Les modifications se font en revisualisant le programme sous PRG, choisir le bon rseau ou partie de Grafcet et choisir l'option MOD. En gnral, une modification ncessite d'effacer le capteur ou trait existant (touche SH + DEL) et remettre le nouveau, dans d'autres cas (traits horizontaux par exemple), on efface une entit en lui superposant une entit identique. Un cycle de programme en langage Grafcet peut tre prcd par un programme en langage contacts (ladder) appel traitement prliminaire, et suivi d'un taitement postrieur. La scrutation des entres se faisant avant le traitement prliminaire, on peut y traiter des conditions sur les entres prliminaires ou effectuer une
_____________________________________________________________________________________________________________
Dtails pratiques
57
Description succincte du TSX _____________________________________________________________________________________________________________ partie d'un calcul au cas o un rseau ne suffirait pas pour une rceptivit. Le traitement postrieur se fait avant l'affectation des sorties, et peut donc modifier des sorties avant leur affectation dfinitive. Ces traitements peuvent utiliser l'tat du Grafcet (par l'intermdiaire des bits Xi). On peut galement les utiliser pour implanter le GEMMA (modes de marche et d'arrt) sans modifier le Grafcet. A la mise en route de l'automate, tous les bits internes (sauf indication contraire) sont mis 0, sauf les tapes initiales.
58
Description succincte du TSX _____________________________________________________________________________________________________________ R/S passe de RUN STOP et inversement (on peut aussi utiliser le contacteur sur la platine). PRG : visualiser le programme et l'tat des variables (trait plein=1, pointill=0), insertion de points d'arrt. CY/ : excution cycle par cycle STP : liste des tapes actives /L point d'arrt sur un label, /o sur une tape. S/L et S/o : blocage sur un label ou une tape.
_____________________________________________________________________________________________________________
59