Anda di halaman 1dari 10

Du Grafcet au Ladder

Automates programmables
Du Grafcet au Ladder

Anthony Juton - version 3.0

Du Grafcet au Ladder

Le but de ce guide est de vous permettre de programmer simplement un automate en langage ladder partir d'un grafcet. Le langage ladder, un peu fastidieux parfois crire, reste le plus utilis pour la programmation des systmes automatiss industriels. Le guide s'appuie sur la programmation d'automates Omron, sur les parties opratives trIrobot. Cependant, nombre de notions gnrales sont valables pour tous les automates.

Ce guide ne comporte pas de tutorial spcifique vous guidant pas--pas dans la programmation de l'automate. Il propose simplement de suivre le guide d'introduction d'Omron-Cx-Programmer disponible sur le rseau (cf Bibliographie).

Avant de lancer le logiciel, votre programme doit tre formalis proprement sous la forme d'un GRAFCET. Sur ce Grafcet, chaque tape aura un numro bien sr (1,2,3) mais aussi chaque transition (t0_1 par exemple pour la transition de l'tape 0 vers l'tape 1).

A chaque fois que vous souhaitez faire une modification de votre programme, il faudra commencer par modifier votre Grafcet. Programme et Grafcet doivent se correspondent parfaitement. La mthode expose ci-dessous pour transformer un Grafcet en Ladder doit tre respecte strictement.

Du Grafcet au Ladder.............................................................................................................. 3 1.1 Cration d'un nouveau projet ............................................................................................. 3

Chargement de la table E/S..................................................................................................... 4 Cration de la table des symboles............................................................................................ 4 1.2 Cration des sections et programme................................................................................... 5 1re tape : la section de calcul des transitions.......................................................................... 6 2nde tape : la section d'volution des tats des tapes. ............................................................ 6 3me tape : la section de calcul des sorties. ............................................................................. 8 1.3 1.4 Compilation, tlchargement, excution et dbogage .......................................................... 8 variables internes et Timers ............................................................................................... 8

Timers ................................................................................................................................... 8 Variables internes ................................................................................................................... 9 2 3 Premiers exercices .................................................................................................................. 9 Programmer sous Cx-Programmer des graphes hirarchiss .....................................................10

Bibliographie ................................................................................................................................10

Du Grafcet au Ladder

1 DU GRAFCET AU LADDER

Pour tre programmable en Ladder, votre Grafcet doit respecter scrupuleusement les rgles du grafcet (cf cours II2). Votre Grafcet crit, vous pouvez passer la phase de programmation.

Le Ladder est aujourd'hui le langage le plus rpandu pour la programmation des automates. Il consiste en un ensemble de rseaux de contacts, semblables des schmas lectriques. La barre de gauche reprsente VCC et celle de droite GND. Dans l'exemple prsent ci-dessous, la bobine S est aliment si les interrupteurs a et (/b ou c) sont ferms. Ce rseau correspond donc l'quation S=a.(/b+c).

c
Les rseaux sont excuts du premier (celui du haut de la premire section) vers le dernier (celui du bas de la dernire section), squentiellement.

1.1

CREATION D'UN NOUVEAU PROJET

Se rfrer au guide Omron. Vous choisirez comme automate (PLC en anglais) un CJ1M (device type) connect par Ethernet (Network type). Dans la configuration du rseau (Ethernet>settings), vous entrerez alors l'adresse IP de votre automate 192.192.xx.xx et le masque de sous-rseau (255.255.255.0) Cette adresse est l'identifiant de votre automate sur le rseau, elle est indique par une tiquette situe sous l'automate.

Du Grafcet au Ladder

Votre nouveau projet comporte notamment une table de symboles rassemblant les symboles communs tous les programmes de votre projet. Certains symboles sont prsents d'office, ce sont les bits et variables auxquels est dj affecte une fonction (mot indiquant le temps de cycle, bit de premier cycle) une table entres/sorties correspondant aux modules et priphriques de votre automate. une liste de programmes. Dans un projet, vous pouvez avoir plusieurs programmes, correspondant chacun un Grafcet. Ces programmes peuvent tourner en parallle, tre activs, dsactivs selon les besoins. Nous verrons cela plus tard.

Chargement de la table E/S


Si c'est votre premier projet, charger la table E/S de l'automate, API>Transfert>Transfert depuis l'API ou grce l'icne . Ne chargez que la table E/S.

Vous avez alors dans la table E/S de votre projet les diffrents modules de votre automate (Ethernet, bloc 16 entres et bloc 16 sorties.)

Cration de la table des symboles


Un tableau appel table des symboles vous permet d'entrer les noms de toutes les entres et sorties que vous utiliserez. Vous le trouvez en cliquant sur Symboles, dans la partie programme de votre projet.

Du Grafcet au Ladder

L'automate CJ1M que vous programmez est un automate modulaire. Il est pourvu ici d'un bloc de 15 entres Tout ou Rien l'emplacement 0 et d'un bloc de 15 sorties Tout ou Rien l'emplacement 1. Bit associ une entre : 0.00 0.15 Bit associ une sortie : 1.00 1.15 C'est aussi ici que vous matrialiserez les tapes en leur affectant un bit (H0.0 H511.15) et un nom (X0, X1). De mme pour les transitions, vous leur affecterez un bit (A448.0 A959.15) et un nom (t0_1, t1_2). Vous pouvez enregistrer votre table des symboles pour la rutiliser ensuite dans tous vos projets. Pour cela, cliquez sur Symboles avec le bouton droit puis choisissez Fichiers rutilisables>Enregistrez sous.

1.2

CREATION DES SECTIONS ET PROGRAMME

Arrive maintenant la phase de programmation. Vous devez diviser votre ensemble de rseaux de contacts en plusieurs sections (voir page 1-11 du guide)

Vous crerez trois sections : section1- calcul des transitions section2- volution des tats (active, inactive) des tapes section3- calcul des sorties

Du Grafcet au Ladder

La transposition d'un Grafcet en Ladder n'est pas une tche complexe. Elle demande de travailler avec mthode et de respecter scrupuleusement les rgles dictes. Pour un fonctionnement correct, il faut d'abord calculer toutes les transitions, ensuite faire voluer les tats des tapes et enfin calculer l'tat des sorties.

1re tape : la section de calcul des transitions.


Dans cette section, vous devez avoir autant de rseaux de contacts que de transitions. Nous rappelons que pour tre franchie (donc passage 1 de la variable associe tx_y), toutes les tapes prcdant la transition doivent tre actives et la rceptivit doit tre vraie. Dans l'exemple qui suit, la transition t0_1 est franchie si l'tape 0 est active (donc le bit X0 est 1) et si la rceptivit a.(/b+c) est vraie, ce qui se traduit par le rseau de contacts ci-dessous.

X0
0 t0_1 1 t1_0 /a a.(/b+c)

t0_1

Quand vous avez crit les rseaux de toutes les transitions, vous pouvez passer la section suivante.

2nde tape : la section d'volution des tats des tapes.


Dans cette section, chaque cycle, suivant les valeurs des transitions calcules dans la section prcdente, on fait voluer l'tat des tapes. Une tape est active si le bit associ est 1. Elle est inactive si le bit associ est 0. Il doit y avoir ici autant de rseau que d'tapes. Une tape est active si

Du Grafcet au Ladder

elle tait active dans le cycle prcdent et que les transitions suivantes ne sont pas franchie. l'une des transitions prcdentes est franchie actuellement. L'activation est prioritaire sur la dsactivation.

On obtient le rseau suivant :

0 t0_1 1 t1_0 /a a.(/b+c)

t0_1

X1

X1

t1_0

Si il y en a plusieurs, les conditions d'activation se mettront en parallle (cas d'une convergence audessus de l'tape) et les conditions de dsactivation en srie (cas d'une divergence au-dessous de l'tape).

Lors du premier cycle de l'automate, il faut mettre l'tat actif les tapes initiales (cela rajoute une condition d'activation) et l'tat inactif toutes les autres. (cela rajoute une condition de dsactivation mais qui cette fois est prioritaire.). On utilise le bit interne P_First_Cycle vrai seulement pendant le premier cycle automate pour assurer cette mise l'tat initial des tats des tapes. On obtient les rseaux suivants :
P_First_Cycle

0 t0_1 1 t1_0 /a a.(/b+c)

t1_0

X0

X0

t0_1

t0_1

P_First_Cycle X1

X1

t1_0

Du Grafcet au Ladder

Dsormais, les bits d'tapes (X0, X1) nous donnent une image des tapes actives et inactives. Il reste juste calculer l'tat des sorties, suivant les actions associes aux tapes.

3me tape : la section de calcul des sorties.


Dans cette section, on calcule l'tat de chaque sortie. Suite cette section, la section nomme END provoquera la mise jour des sorties sur le bornier de l'automate.

On ne peut avoir qu'une bobine et donc qu'un rseau par sortie. Sinon, il pourrait y avoir un rseau demandant l'activation d'une sortie puis le rseau suivant demandant sa dsactivation, ce qui ne serait pas simple grer. (En Ladder, les rseaux tant excuts squentiellement, c'est le dernier qui a parl qui s'impose) A vous de lister l'ensemble des tapes qui activent une sortie. Par exemple, si la lampe L est allume pendant l'tape 1 et l'tape 3, on aura le rseau suivant :

X1

X3

Remarque : pensez utiliser les raccourcis clavier pour le trac des rseaux indiqu dans la fentre, plus CTrl+ pour les traits horizontaux. Les autres raccourcis sont indiqus dans le guide

d'introduction d'Omron.

1.3

COMPILATION, TELECHARGEMENT, EXECUTION ET DEBOGAGE

Pour compiler et charger le programme, vous vous rfrerez au guide de mise en uvre, partir de la page 2-0. Ensuite, lancez l'excution du programme en mode "monitor" et suivez le guide Omron pour utiliser les fonctions de debug : Watch Windows ( partir de la page 2-5) et Forage ( partir de la page 211).

1.4

VARIABLES INTERNES ET TIMERS

Timers
A partir de la page 1-28 sont dcrites les procdures pour insrer un timer (ou temporisateur) dans un programme. Attention, pour utiliser une temporisation dans un programme, il faut d'abord lancer le timer dans l'tape (c'est une action associe l'tape) puis regarder l'tat de la variable associ au 8

Du Grafcet au Ladder

timer dans la transition. Attention, le mme terme est utilis la fois pour dsigner la valeur actuelle du timer (T0000 T4095 suivant le timer choisi, mot de 16 bits) et le drapeau indiquant la fin du dcompte (simple bit indiquant si la temporisation est finie ou non). Suivant le contexte o vous l'utilisez, c'est l'un ou l'autre qui est pris en compte. Il ne peut y avoir d'ambigut.

Variables internes
Dans votre automates, une large plage de mmoire est disponible pour vos variables internes. Pour les tapes et transitions, vous avez dj utilis les zones mmoires accessibles bit bit (mots mmoires H000 H511 et A660 A959). Pour ces mots, on peut accder un seul bit de la manire suivante Hxxx.yy avec xxx allant de 000 511 et yy de 00 15. Par exemple pour accder au bit numro 4 du mot mmoire H211 : H211.04

Vous disposez aussi d'une mmoire de 512 mots (16 bits) nomms W000 W511. Pour les utiliser, il vous suffit de crer dans la table des symboles une variable et de lui affecter un de ces mots.

2 PREMIERS EXERCICES
Pour commencer vous familiariser avec le ladder et Cx-programmer, vous ferez les exercices suivants :

Exercice 1 Dans l'tat initial, la lampe verte est allume. Quand j'appuie sur le bouton blanc, la lampe verte s'teint et la lampe blanche s'allume. Quand j'appuie sur le bouton vert, je reviens dans l'tat initial. Tracer le GRAFCET associ ce cahier des charges. Le programmer en ladder.

Exercice 2 Dans l'tat initial, les deux lampes sont teintes. Quand je tourne le slecteur sur la position gauche, la lampe verte s'allume. Quand je tourne le slecteur sur la position droite, la lampe blanche s'allume. Je reviens dans l'tat initial aprs 4s. Tracer le GRAFCET associ ce cahier des charges. Le programmer en ladder.

Du Grafcet au Ladder

3 PROGRAMMER SOUS CX-PROGRAMMER DES GRAPHES HIERARCHISES


Une programmation propre, en Grafcet comme en C, passe par une division du programme en un ensemble de tche ou de sous-programme testables de faon unitaire. Vous pouvez concevoir un programme comprenant plusieurs grafcet interagissant entre eux. Pour programmer cela, voici quelques conseils:

A chaque graphe, on associe un programme. Comme pour la programmation classique des grafcet, chaque programme est constitu de 3 sections : Calculs des transitions Evolution des tapes Mise jour des sorties Une grande rigueur doit tre apport dans la rpartition des variables internes. On peut attribuer les bits mmoire internes de la manire suivante par exemple : h0.0 h0.15 et h2.0 h2.15 et et ainsi de suite Remarque, pour les programmes, on commence utiliser les bits de la zone mmoire auxiliaire (Axxx) partir du bit A660.0. En effet, dans la zone auxiliaire, entre A000.0 et A459.15, nombre de bits sont utiliss par les fonctions de l'automate et ne sont donc pas libres pour le programme utilisateur. A700.0 A700.15 et A702.0 A702.15 pour le graphe de production normale (tapes 0 et 1) pour le graphe de chargement (tapes 20 24)

Les variables utiliss par tous les programmes (la position du plateau, le contenu des emplacements) sont dfinis en variables "globales", dans la table des symboles accessible tous les programmes. Attention, il ne faut pas que deux programmes actifs en mme temps aient le droit de modifier une mme variable, sans prendre de grandes prcautions (le plus simple est de n'autoriser qu'un programme modifier la variable et les autres la lire). En variables locales, on dfinira les variables lies aux tapes et transitions, y compris celles que l'on utilise en lecture seule.

BIBLIOGRAPHIE
API_du_Grafcet_au_Ladder_v3.pdf : le prsent document cours_II2.pdf : le cours d'automatismes industriels de DUT 1re anne. R120-FR2-01+CX-Progr+IntroGuide.pdf : le guide d'introduction au logiciel OMRON CX-Programmer W340FR13_CJ_CS_Manuel_Programmation.pdf : le manuel regroupant l'ensemble des fonctions de l'automate OMRON CJ1. Ces quatres documents sont disponibles aux adresses suivantes : http://iutcachanupsud.free.fr http://formation.u-psud.fr

10