Vous êtes sur la page 1sur 18

Laboratoires du cours ELE4202 Prsentation du logiciel PL7-Pro

Par Cdric Demers-Roy Septembre 2003

Comme plusieurs automates disponibles sur le march, lautomate TSX-Premium de la socit Tlmcanique (maintenant Schneider automation) possde son propre logiciel de programmation. Comparativement la majorit des autres logiciels toutefois, PL7-Pro fourni une interface graphique pour la programmation des diagrammes relais (Ladder) et pour les diagrammes Grafcet. Cette possibilit de programmation graphique offre plusieurs avantages, mais aussi quelques inconvnients, principalement au niveau de la faon dintroduire certains objets graphiques. Ce fascicule prsente en bref lutilisation de PL7-Pro pour remplir les objectifs du premier laboratoire du cours ELE4202. La prsentation sera divise en cinq sections : linterface gnrale du logiciel, la gestion des adresses et des variables, la programmation des diagrammes relais, la programmation des Grafcets et le transfert des programmes vers lautomate.

Interface gnrale du logiciel


Lors de son ouverture, le logiciel offre une interface semblable celle de nimporte quel programme Windows. On retrouve une barre de menus, une barre doutils et une fentre de travail. Pour atteindre nos objectifs, nous navons pas besoin de connatre tous les dtails des menus et des outils. Seules quelques options nous serons utile au cours du laboratoire. Cette section prsente ces options et leur utilisation dans le cadre du laboratoire.

Figure 1 : Interface gnrale du logiciel PL7_pro Premirement, la barre des menus. La figure 1 prsente cette barre telle quelle se retrouve en haut de lcran aprs louverture du fichier Dmo1_jan2003.stx . Dailleurs, tous les fichiers raliss laide du logiciel PL7 portent lextension STX. La figure montre que le logiciel comporte sept menus : File; Tools; PLC; Debug; Options; Window; Help (?).

Ces menus regroupent toutes les commandes du logiciel et reprennent donc, entre autres, toutes les fonctions associes aux boutons de la barre doutils. La figure 2 illustre le contenu de chacun des menus, mais la plupart de ces options nous seront inutiles.

Figure 2 : Contenu dtaill des menus de linterface gnrale Tout dabord, pour le menu File , seules deux commandes seront utilises : Open et Save (ou Save As ). En effet, la commande New ne devra jamais tre utilise pour une raison : la cration dun nouveau fichier dbute par la configuration de lautomate, configuration qui demande des connaissances approfondies sur ses modules et sur ses caractristiques. Or, dans le cours ELE4202, nous navons pas le temps de voir tout le dtail de la configuration dun automate. Cette tche est relativement simple mais demande beaucoup de temps en recherche des informations ncessaires au sujet de lautomate. Ainsi, pour le laboratoire, nous utiliserons toujours un fichier de base o la configuration est dj effectue. Le menu Tools ne sera peu prs pas utilis, sauf peut tre pour rcuprer la fentre de navigation lorsque vous la fermez par erreur (choix Application Browser du menu). Nous verrons plus tard le dtail de cette fentre de navigation. Cest partir de cette fentre que vous pourrez accder aux diffrentes sections de votre programme. Au dbut de la session, le choix Configuration peut tre utilis pour consulter la configuration utilise pour lautomate et mieux comprendre lusage des modules. Toutefois, vous ne devez jamais modifier cette configuration au risque de ne pas pouvoir faire fonctionner votre programme par la suite Le menu Debug ne sera jamais utilis car il est souvent plus simple dobserver le comportement des diffrents diagrammes directement plutt que de passer par les mmoires internes de lautomate. Cette option nest vraiment utile que pour de trs grosses applications o il est impossible de reprer loeil toutes les liaisons logiques entre les diagrammes. Dans notre cas, il sera toujours possible de le faire.

Le menu PLC contient les fonctions daccs lautomate. Ces fonctions sont essentielles puisque ce sont elles qui font le lien entre le logiciel et lautomate. Dailleurs, un aspect ngatif du logiciel est quil noffre pas la possibilit de simuler lexcution des programmes avant de les transfrer sur lautomate. La procdure de test de votre programme passe donc ncessairement par lautomate Les choix que nous utiliserons dans le menu sont les suivants : Transfer program : permet le transfert du programme vers lautomate; Connect : permet de se connecter lautomate pour voir lvolution du programme; Run : lance lexcution du programme sur lautomate (cette option devient Stop quand lautomate est dj en mode dexcution); Initialize : permet de rinitialiser les mmoires internes de lautomate sans avoir lteindre ou transfrer le programme de nouveau; Memory usage : permet de connatre lespace occup par le programme et les donnes dans la mmoire interne de lautomate (utile dans le cas de gros programmes).

La plupart de ces options sont disponibles sur la barre doutils dont nous verrons le dtail bientt. Le menu Options contient les fonctions permettant dajuster la prsentation de linterface du logiciel. Normalement, nous navons pas modifier ces paramtres. Lexception toutefois est la possibilit de choisir entre Address View et Symbol View . Ces options fixe le mode daffichage des adresses dans les fentres de programmation. En effet, nous verrons plus loin quil est possible de nommer les adresses de lautomate pour mieux les identifier dans les programmes. Vous verrez que de retenir environ cinquante adresses numriques savre laborieux et quil est plus agrable de retenir le nom de chacune qui reflte son usage. Pour les menus daide ( ? ) et Window , il sagit doptions standard tout programme Windows que nous navons pas prsenter ici. Dernier point noter propos des menus : ils sont contextuels, cest--dire quils changent en fonction de la fentre active. Nous prsenterons donc quelques choix particuliers disponibles seulement lors de la programmation lorsque nous en traiterons dans les prochaines sections prsent, traitons brivement de la barre doutils. Les outils sont simplement lattribution des fonctions les plus utilises des menus des boutons accs rapide dont le simple clic effectue lappel de la fonction (comme dans nimporte quel programme Windows). La figure 1 montre cette barre doutils situe dans linterface, mais la figure 3 offre une meilleure vue de ces boutons.

Figure 3 : Dtails de la barre gnrale doutils du logiciel

La liste qui suit prsente chacun des outils avec sa fonction associe : No 1 2 3 4 5 6 7 8 9 10 11 12 Fonction File->New File->Open File->Save File->Print Edit->Undo Edit->Confirm Go to Tools->Application Browser Tools->Cross references Tools->Library PLC->Transfer PLC->Disconnect Description Crer un nouveau fichier (ne pas utiliser!) Ouvrir un fichier existant Sauver le programme en cours Imprimer le programme (vous ne pouvez imprimer

que dans un fichier PDF au laboratoire car le logiciel gnre une quantit phnomnale de pages)

Annuler les modifications (attention : cette commande annule TOUTES les modifications entre le moment dentre en mode ddition et linstant actuel) Confirmer les modifications (ncessaire pour pouvoir passer une autre section de programme) Aller rapidement dune section lautre du programme (essayez, cest pratique) Afficher le navigateur dapplication Chercher des rfrences croises entre les variables (permet de retrouver si une mme variable est utilise
plus dun endroit dans votre programme)

Fait appel une librairie de fonctions


inutilise dans notre laboratoire)

(option

Effectue le transfert du programme vers lautomate Dconnecte le PC de lautomate (ncessaire pour faire
des modifications en mode local au programme; attention : les modifications ralises en mode connect peuvent ne pas tre sauvegarde lors de la commande save toujours travailler votre programme en mode local (dconnect) )

13 14 15 16 17 18 19 20 21

PLC->Connect PLC->Run PLC->Stop Utilities->Animate Window->Cascade Window->Tile Horizontally Window->Tile Vertically Help Help->Whats this

Connecte le PC lautomate

(ncessaire pour voir lvolution de votre programme et pour envoyer des commandes ( run , stop , etc.) lautomate)

Commande lautomate de lancer lexcution Commande lautomate dinterrompre lexcution Permet lanimation des donnes (commande inutilise
dont je ne connais pas la fonction)

Contrle laffichage des fentres lcran. Contrle laffichage des fentres daide

Avec ces outils, il est rare que vous aurez aller dans les menus lors de votre programmation. Certaines options moins utilises comme la configuration et la

consultation de lutilisation de la mmoire de lautomate ne se retrouvent toutefois que dans les menus du logiciel. Maintenant que linterface gnrale est mieux connue, nous pouvons prsenter la fentre de navigation qui servira accder aux diffrentes sections de votre programme. Cette fentre est reprsente la figure 4.

Figure 4 : Fentre de navigation de lapplication dans PL7-Pro v3.4 Cette fentre ressemble un explorateur de fichiers, mais elle sert plutt naviguer travers les diffrents lments dun programme. Un programme STX standard se divise en sept rpertoires principaux : Configuration Program DFB Types Variables Animation Tables Documentation File Runtime Screens

Le premier rpertoire contient les paramtres de configuration de lautomate et du programme en cours. Cest l que vous trouverez les renseignements sur lautomate utilis et sur la configuration du programme (nombre dtapes permises, type de programme, etc.). Le rpertoire Program contient les fentres de programmation. Cest dans cette section que vous allez effectuer la quasi totalit de votre travail de conception logicielle. Ce rpertoire contient lui-mme un ou plusieurs sous rpertoires selon le type de programme en cours. Sur la figure 4, il sagit dune application qui inclut du Grafcet, donc on retrouve une section gr7 qui contient plusieurs lments : Prl, Chart, Macro0 et Post. Ces lments sont les fentres qui contiennent le code du programme ouvert. Licne la droite de chaque lment indique sil sagit dune programmation en

diagramme relais (icne LD) ou en Grafcet (icne G7). Chaque lment a sa fonction comme nous le verrons au cours. Le rpertoire DFB Types nest pas utilis dans nos programmes. Normalement, il peut contenir le code de blocs fonctionnels labors par lusager et inclus dans lapplication en cours. Cette inclusion fait partie de la programmation avance et nous ne verrons pas ce cas dans le laboratoire. Le rpertoire Animation Tables permet lajout de tables servant suivre lvolution des donnes en cours dexcution dun programme sur lautomate. Par exemple, si jinclus ladresse %ID3.0, je pourrai voir lvolution de son contenu lors dun test du programme. Si je regarde la table dattribution des adresses (nous verrons plus loin), je constate que cette adresse contient le dcompte des impulsions du compteur rapide numro 0. Sachant que ce compteur est reli lencodeur en X du montage de palan, le suivi du contenu de cette adresse mindique le parcours du palan selon laxe X (dplacement horizontal). Ainsi, une table danimation est trs pratique pour suivre les valeurs des mmoires lors des tests, particulirement lorsque la valeur nest pas binaire Le rpertoire Documentation File permet de contrler la documentation que PL7 gnre lors de limpression. Cest cet endroit que vous pouvez inclure ou rejeter une section du programme pour son impression. Malheureusement, la gestion du papier nest pas trs efficace dans le logiciel. Pour vous en convaincre, fates gnrer le PDF pour le fichier Dmo3_jan2003.stx . Ce fichier pourtant trs simple gnre 48 pages si toutes les options de documentation sont slectionnes Typiquement, votre programme final pour le projet du laboratoire fera sans doute plus de 150 pages! Cest pour cette raison que nous permettons seulement la gnration dun fichier PDF au laboratoire. De cette faon, vous avez la documentation et vous pouvez choisir les pages imprimer chez vous ou dans les laboratoires du service informatique. Le dernier rpertoire, Runtime Screens , contient une interface graphique optionnelle quil est possible de gnrer pour chaque programme. Typiquement, cette interface permet dafficher des informations sur lexcution du programme quil est impossible ou difficile dobtenir avec la console de contrle. Pour le projet, vous devrez programmer une interface de base afin den voir les avantages. La programmation de cette interface sera couverte plus tard durant la session et un autre document vous sera remis ce moment. Avec les notions que nous venons de couvrir au sujet de linterface du logiciel, vous pourrez voluer plus efficacement lors de la programmation de votre projet. videmment, le logiciel offre beaucoup plus doptions que ce que nous venons de couvrir, mais lessentiel des notions a t vu pour vous rendre autonome dans lutilisation de son interface.

Prsentation de lautomate
Lautomate est constitu dun ensemble de diffrents modules que nous pouvons utiliser lors de la programmation. Cette section prsente brivement chacun des modules. La figure 5 montre la fentre de configuration matrielle de la dmonstration 1 (identique celle de tous les autres fichiers disponibles). Nous voyons que lautomate est constitu dune suite de huit modules dont sept possdent une adresse distincte. Ces adresses sont trs importantes puisquelles fixent lidentification des modules dans le logiciel. Par exemple, une adresse dbutant par 1 est ncessairement associe au module 1, donc au module des entres logiques. Le reste de ladresse indique le type dadresse et llment exact atteindre dans le module.

Figure 5 : Prsentation des modules de lautomate et de leur adresse Le tableau qui suit explique brivement chacun des modules. Adresse Nom X PSY2600 0 Description Module dalimentation. Ce module est indpendant et ne peut pas tre adress de lextrieur de lautomate. Il gre lalimentation de tous les modules de lautomate. TSX57102 Module processeur. Ce module contient le processeur de lautomate ainsi que les mmoires de programmes et de donnes. Tous les programmes seront transfrs ce module qui gre le fonctionnement de tout le reste de lautomate. Les adresses internes de ce module ne doivent pas tre utilises sans savoir vraiment ce que nous faisons car le moindre changement peut bloquer tout le programme. DEY32D2K Module dentres logiques. Ce module permet de brancher les capteurs binaires externes lautomate. Puisquil est ladresse 1, toutes les entres de nos programmes auront une adresse dbutant par 1. En fait, lidentificateur I sera aussi ajout pour signifier quil sagit dune entre. Ladresse des entre logiques sera donc %I1.# o # indique lentre en question. ETY110 Module de communication Internet. Ce module permet daccder lautomate via une interface Internet. Toutefois, un problme de configuration de ce module bloque laccs

CTY2A

4 5

N/D DSY16T2

DSY16R5

lautomate par plus dun usager, nous obligeant donc ne pas lutiliser. Vous ne verrez donc jamais dadresses dbutant par 2 dans nos programmes. Module de compteurs rapides. Ce module permet dacqurir des signaux oscillants rapidement entre la valeur 0 et 1 . Typiquement, ce module sert lire les signaux provenant dencodeurs optiques effectuant lacquisition de la position en rotation dun axe. Dans notre cas, les positions horizontales et verticales du palan seront lues par ce module. Puisquil est ladresse 3, nous y accderons toujours via des adresses dbutant par ce nombre. Puisquil sagit encore dune entre, ladresse comportera un I , mais aussi un D pour indiquer quil sagit dune entre sur 16 bits plutt que dune entre binaire (1 bit). Le format sera donc %ID3.#. De plus des sorties %Q3.# permettront daccder des bits de fonctionnement de ce module. Aucun module cette position. Module de sorties faible puissance. Ce module comporte 16 relais pouvant nous servir alimenter des actionneurs faible puissance comme des LEDs ou de trs petits moteurs. Dans notre cas, ces 16 sorties sont relies au 16 LEDs de la console de commande. Ladresse de ces sorties sera au format %Q5.#. Lidentificateur Q indique quil sagit dune sortie. Module de sorties en puissance. Ce module comporte 16 relais pouvant nous servir alimenter des actionneurs moyenne puissance comme des moteurs DC moyens ou de petits lectroaimants. Dans notre cas, ces 16 sorties sont relies aux deux moteurs permettant les dplacements (une sortie pour chaque direction de dplacement) et llectroaimant permettant le transport des pices. Ladresse de ces sorties sera au format %Q6.#. Lidentificateur Q indique quil sagit dune sortie.

Physiquement, chacune des adresses sera relie des lments internes ou externes de lautomate comme le laisse entendre le tableau. Lors de lutilisation de lautomate dans un contexte industriel, un tableau dassignation des adresses est toujours fourni avec ce dernier afin de connatre la liaison physique des adresses avec les lments externes (capteurs et actionneurs). Cette assignation vous sera remise avec lnonc du projet. Si vous aviez tout raliser le travail, vous devriez vous-mme relier chacun des capteurs et chacune des sorties une entre ou une sortie des modules de lautomate et construire du mme coup le tableau des assignations. Dans notre cas, afin de faciliter et duniformiser le travail, cette assignation est dj ralise et sera la mme pour tout le monde.

Gestion des adresses et des variables


Le but de ce logiciel tant la programmation de lautomate, il doit fournir une mthode pour accder ce dernier dans nos programmes. Cette mthode, cest lutilisation des adresses internes de la mmoire de lautomate. Tout objet de programmation sera associ une adresse, que ce soit un contact, une sortie ou une variable interne.

Figure 6 : Exemple de programmation dun diagramme relais La figure 6 donne un exemple de code programm en diagramme relais. la gauche, on voit une suite de contacts reprsentants la condition logique et la droite une bobine reprsentant la sortie de la condition logique. Vous voyez au-dessus un identificateur qui commence par le symbole % , ceci indique quil sagit dune adresse. En regardant ce petit exemple, nous voyons une condition qui se base sur quatre entres associes aux adresses %I1.0, %I1.1, %I1.2 et %Q5.0 et une sortie associe %Q5.0. La fonction exacte de ce diagramme a t vue au cours, il sagit dun automaintien de la sortie %Q5.0 base sur les entres %I1.0 %I1.2. Tout ce quil faut retenir, cest que le fait dutiliser ces adresses indique lautomate quelles entres et quelle sortie nous voulons utiliser. Sachant que les entres %I1.0 %I1.15 sont branches physiquement aux interrupteurs de la console de commande et que la sortie %Q5.0 est branche physiquement la LED 0 de la console, nous pouvons dterminer leffet de ce petit exemple : allumer et maintenir la LED 0 ds que linterrupteur 0 est enclench et lteindre si linterrupteur 1 ou 2 est enclench. Lautomate contient beaucoup dadresses diffrentes quil peut tre difficile de retenir au dbut. Afin de faciliter la programmation, le logiciel fournit une manire optionnelle de faire appel aux adresses : la notation symbolique. En allant dans le rpertoire Variables de la fentre de navigation de lapplication, vous pouvez accder aux tableaux dassignation des adresses de lautomate. Ce rpertoire contient cinq tableaux contenant chacun des adresses spcifiques (voir figure 7) : Memory Objects : adresses des variables disponibles pour vos programmes; System Objects : adresses des objets systmes (ne pas modifier rien dans ce tableau!); Constants : adresses des constantes disponibles pour vos programmes;

Predefined FB : adresses des blocs fonctionnels disponible pour les diagrammes relais; I/O : adresses des entres / sorties des diffrents modules de lautomate.

Figure 7 : Rpertoire des variables de la fentre de navigation de lapplication Avec ces tableaux, il est possible de retrouver toutes les adresses internes de lautomate. Ceci peut nous permettre dabord de connatre les adresses disponibles, mais surtout dassocier un symbole aux adresses couramment utilises. Par exemple, si nous voulons nommer les adresses des interrupteurs, nous devons aller dans le tableau I/O et de choisir le module correspondant aux entre (le module 1). Ceci affiche un tableau qui contient toutes les adresses disponibles dans ce module. Nous navons ensuite qu reprer les adresses %I1.0 %I1.15 et dentrer une valeur dans le champ Symbol pour chacune des adresses. Sur lexemple de la figure 8, nous avons donn le nom Inter1 pour ladresse %I1.0. Il en va de mme pour toutes les autres adresses. Notez que le nom du symbole ne commence pas par le symbole % puisquil ne sagit pas dune adresse mais dun symbole. Pour lautomate, le nom Inter1 correspondra dsormais directement ladresse %I1.0.

Figure 8 : Exemple dattribution dun symbole une adresse dentre Une fois les symboles attribus, vous aurez toujours la possibilit dutiliser le symbole plutt que ladresse lors de la programmation. Pour ce faire, simplement retirer le symbole % au dbut de lidentificateur dun objet et entrer le nom du symbole dsir. Lorsque vous validez votre choix, PL7 retrouvera ladresse correspondante et laffichera la place du symbole. Toutefois, si vous prfrez voir les symboles plutt que les

adresses (plus facile suivre), simplement activer loption Symbol View dans le menu Options (voir figure 9). Avec cette option, toute adresse laquelle est associe un symbole sera affiche laide de son symbole. Un dfaut de linterface fait que cette option est souvent dsactive lorsque vous changer de fentre dans lapplication. Il est donc bon de connatre le raccourci de cette option : Pour la vue des symboles : Ctrl-F ; Pour la vue des adresses : Ctrl-E .

Figure 9 : Menu de slection entre la vue des adresses et la vue symbolique Loption de vue symbolique est excessivement pratique pour faciliter la lecture des diagrammes, il est donc fortement conseill de donner un symbole toutes les adresses frquemment utilises. Habituellement, les adresses frquemment utilises sont : les entres; les sorties; les variables que vous utilisez (ex. : %M0, %MD0, etc.); les blocs fonctionnels que vous utilisez (ex. : %T0).

Programmation des diagrammes relais


Une fois les adresses correctement gres, nous pouvons traiter de la programmation comme telle dune application dans PL7. Le premier type de programmation que nous utiliserons est le diagramme relais. Nous verrons au cours les notions relatives cette programmation. Notre but ici est dillustrer limplantation dun diagramme relais dans PL7. Tout dabord, nous devons ouvrir la fentre de programmation. partir de la fentre de navigation de lapplication, aller dans le rpertoire Program et ouvrir le rpertoire avec ses sous rpertoires jusqu la fin de larborescence. Vous retrouverez alors un ou plusieurs lments avec un icne LD ou G7 leur gauche. Les lments avec un icne LD sont des fentre de programmation en diagramme relais, simplement en choisir un et louvrir. Dans lexemple de la dmonstration 1 ( Dmo1_sep2003.stx ), il ny a quun seul lment, une fois ouvert, vous obtenez une fentre comme celle de la figure 10. Llment nouveau de cette fentre est la barre doutils au bas. Ce sont les lments qui serviront la programmation des diagrammes relais. Le tableau qui suit donne une brve explication de chaque lment.

Figure 10 : Fentre de programmation en diagramme relais Boutons Description Contact normalement ouvert (vrai si contenu de ladresse est vrai) Contact normalement ferm (vrai si contenu de ladresse est faux) Contact front montant (vrai si contenu de ladresse passe de faux vrai) Contact front descendant (vrai si contenu de ladresse passe de vrai faux) Lien horizontal dune case (pour effectuer les connexions) Lien vertical entre deux lignes (pour effectuer les connexions) Lien horizontal rapide (trace un lien jusqu une case du bout de la ligne) Bobine en logique positive (agit seulement si la ligne est vraie) Bobine en logique ngative (agit tant que la ligne est fausse) Bobine denclenchement (active la bobine correspondante jusqu sa dsactivation) Bobine de dclenchement (dsactive la bobine correspondante) Lien de saut (saut vers un autre rung au cas o la ligne est trop courte pour la condition logique) Fonction Operate (pour effectuer une opration sur des variables) Fonction Compare (pour effectuer une comparaison entre des variables) Comme prcdemment, mais avec plusieurs sorties (ne fonctionne quavec des variables de type Mot [ Word ]) Fonctions spciales dappel de fonction (inutilis dans nos programmes) Blocs fonctionnels (temporisateurs et autres) Fonction complexe (inutilis dans nos programmes) Lien rapide (permet de tracer des liens entre les lments en cliquant sur les cases lier (plus utile que lien vertical prsent plus tt)) Pour entrer un lment, vous devez tre en mode de modification. Pour y entrer, simplement double cliquer sur une ligne. Tous les lments deviendront rouges, ce qui indique que le rung est en cours de modification. Ensuite, slectionnez un lment et plac le lendroit dsir dans le rung . Le logiciel demandera alors ladresse associer llment, spcifiez donc une adresse ou un symbole et validez avec la touche

Enter sur le clavier. Si le logiciel refuse de valider, cest que ladresse ou le symbole est invalide. Pour continuer sans spcifier dadresse, simplement appuyer sur la touche ESC du clavier. Notez que vous ne pourrez valider les modifications si les adresses ne sont pas entres et valides. Pour valider le diagramme, simplement appuyer sur la touche Enter , si tous les lments reprennent leur couleur noire et bleue, cest que la validation est effectue; le cas chant, il y a une erreur que vous devez corriger. Un rung est une division du diagramme relais. Il est constitu dun maximum de 16 lignes avec un identificateur et un commentaire au dbut. Il est trs important de bien comprendre la notion de rung . Si vous utilisez la dmonstration 1, vous avez vu en ouvrant la fentre de programmation que toutes les lignes taient colles les unes contre les autres. Or, quand vous tes entr en mode de modification, remarquez que les lignes aprs le diagramme en cours sont disparues En fait, elles sont descendues 16 lignes plus bas afin de vous donner de lespace pour programmer. Cette notion est trs importante : si vous placer toutes vos lignes les unes aprs les autres, vous ne pourrez pas modifier facilement votre programme. Il faut toujours prvoir de lespace. Dans la dmonstration 1, vous pouvez voir que la majorit des rung ne contienne en fait quune seule bobine de sortie. Cette pratique est prconiser pour raliser un bon programme : une seule sortie par rung . Dans le pire des cas, plusieurs sorties assurant la mme fonction peuvent tre regroupes ensemble si chacune ne prend pas trop de place. Le cas chant, vous ne pourrez plus ajouter de conditions une bobine de sortie. Dailleurs, ne rutilisez jamais deux fois la mme adresses de sorties deux endroits diffrents car le logiciel ne saurait plus quelle est la condition dactivation de la sortie. Par exemple, supposons que je veux que les adresses %I1.0 ou %I1.1 active la sortie %Q5.0 (donc %Q5.0=%I1.0 + %I1.1). Si je programme la squence de la figure 10, je nobtiendrai pas le comportement dsir puisque seule la dernire condition sera prise en compte par le logiciel (donc la suite %Q5.0=%I1.0; %Q5.0=%I1.1). La bonne faon est de faire le diagramme de la figure 12 la place.

Figure 11 : Exemple de mauvaise programmation en diagramme relais

Figure 12 : Exemple de bonne programmation en diagramme relais En rsum, toujours utilisez chaque adresse de sortie une seule fois et toujours placer autant que possible une seule bobine de sortie par rung . La meilleure faon de prouver la ncessit de programmer selon cette technique est lutilisation des moteurs dans le laboratoire. Par exemple, dans votre projet, une multitude de situation demanderont ce que le moteur de dplacement gauche soit activ, donc plusieurs

conditions activeront la sortie en question (vous verrez laquelle dans lnonc). Si vous regroupez toutes les sorties des moteurs dans le mme rung , vous ne pourrez pas ajouter de nouvelles conditions puisque lespace sera dj occup. Toutefois, si un rung contient seulement une bobine de moteur, alors vous aurez amplement despace.

Programmation des Grafcets


Le deuxime type de programmation disponible est le Grafcet (Graphe Fonctionnel de Cheminement tape Transition). Encore une fois, nous verrons le dtail de cette programmation au cours. Le but de cette section est dillustre limplantation de ce genre de diagramme dans PL7. Comme pour les diagrammes relais, vous devez aller dans le rpertoire Program , mais cette fois ce sont les lments avec licne G7 qui nous intressent. Pour avoir un exemple, ouvrez la dmonstration 2 ou 3 (Dmo2_sep2003.stx ) et ouvrez le Grafcet contenu dans la dmonstration. Vous obtiendrez une fentre comme celle de la figure 13.

Figure 13 : Exemple de fentre de programmation en Grafcet Cette fentre ressemble beaucoup la fentre de programmation en diagramme relais, mais les outils au bas de la fentre sont diffrents. Le tableau qui suit illustre les diffrents outils. Boutons Description Insrer une tape immdiatement suivie dune transition Insrer une tape Insrer une tape initiale Insrer un lien sortant (pour effectuer un lien vers un entrant) Insrer une transition

Insrer un lien entrant (pour effectuer un lien partir dun sortant) Insrer un lien tape transition (cliquer sur ltape, puis sur la transition) Insrer un lien transition tape (cliquer sur la transition, puis sur ltape) Insrer une convergence en ET (toujours placer la transition gauche pour effectuer ce type de lien car vous devez cliquer sur ltape en premier et faire le lien par la gauche ensuite) Insrer une convergence en ET (toujours placer la transition la gauche pour effectuer ce type de lien car vous devez cliquer sur la transition en premier et faire le lien par la droite ensuite) Insrer une case de commentaire (limiter ce genre de case au minimum car elles occupent de lespace) Insrer une macrotape (nous verrons le dtail de ce type dtape au cours) La programmation se fait dans le mme style que les diagrammes relais : vous devez dabord entrer en mode modification en double cliquant sur une page du Grafcet. Ce faisant, tous les lments de la page deviennent rouges pour indiquer la prsence en mode modification. Dans ce mode, vous pouvez insrer tous les lments de votre Grafcet en faisant attention leur disposition. En effet, lespace disponible dans une page est de 11 colonnes par 15 lignes et vous ne pouvez sortir de la page ni lagrandir. Une fentre peut contenir un maximum de 8 pages, donc vous devez bien prvoir la disposition des Grafcets dans la page. De plus, vous pouvez voir dans la liste prcdente la particularit de certains lments qui demandent une saisie droite ou gauche et qui spcifient lordre de slection des lments. Ces particularits sont plutt ennuyantes, mais nous devons nous y faire Quand la saisie graphique du Grafcet est termine, il nest pas compltement programm encore : vous devez entrer les conditions des transitions et les actions associes aux diffrentes tapes. Pour ce faire, vous devez dabord valider lentre du Grafcet en appuyant sur la touche Enter du clavier, si tous lment redeviennent bleus et noirs, la validation est effectue; sils restent rouges, il y a un problme que vous devez rgler avant de continuer. Lorsque la validation est effectue, lentre des conditions des transitions peut se faire en double-cliquant sur le petit carr juste ct de la transition programmer. Cette action devrait ouvrir une fentre au bas de lcran avec les outils de programmation en diagramme relais. En effet, toutes les conditions des transitions sont programmes en diagramme relais avec la particularit que la seule bobine de sortie disponible est une bobine avec un symbole # lintrieur. Cette bobine symbolise la validit de la transition. Vous devez donc entrer la condition de validit de la transition. Par exemple, la figure 14 illustre la transition entre les tapes 2 et 3 du Grafcet de la dmonstration 2. La condition est la suivante : transition valide si limite S3 atteinte ou si le dlai de monte de 4 secondes est atteint. La premire partie est fonction de linterrupteur S3 et la deuxime dun dlai interne associ un temporisateur quelconque. Chaque transition est programme de la mme faon. Notez toutefois quune seule transition peut tre ouverte la fois, vous devez donc fermer la fentre de programmation de la condition pour en ouvrir une autre

Figure 14 : Exemple de programmation dune transition du Grafcet Une fois les transitions programmes, il reste encore fixer les actions associes aux diffrentes tapes du Grafcet. En effet, le Grafcet ne vise qu programmer la squence logique des actions, pas les actions comme telles. Pour les actions, nous devons activer les sorties qui nous intressent. Comme nous avons vue plus tt dans la section prcdente, lactivation dune sortie se fait via la bobine qui lui est associe, donc via son adresse. Il sagit donc de programmation en diagramme relais. Nous devons donc ouvrir la fentre de programmation en diagramme relais correspondant aux actions du Grafcet. Cette fentre se trouve avec lobjet G7 dans le rpertoire Program du navigateur de lapplication. En effet, nous avons ouvert lobjet G7 pour programmer le Grafcet, mais il y avait au moins deux autres lments dans le rpertoire : lun appel Prl et lautre Post , tous deux affubls de licne LD . Le premier servira programmer des oprations faire avant de balayer le Grafcet, tandis que le deuxime sert programmer les actions associes aux tapes de ce dernier. Ainsi, pour programmer les actions, ouvrez la fentre Post . La fentre obtenue est une fois de plus la fentre de programmation en diagramme relais. Nous pouvons maintenant programmer les actions. Rappelez-vous du conseil visant regrouper les bobines chacune dans son propre rung : cette dmonstration en est un mauvais exemple puisque les bobines %Q6.1 et %Q6.5 se retrouvent dans le mme rung (voir figure 15). Dans ce cas, ce nest pas critique car il sagit dune dmonstration laquelle nous najouterons pas de nouveaux comportements, toutefois ce ne sera pas le cas de votre projet o vous devrez certainement ajouter de nouveaux lments en cours de route.

Figure 15 : Exemple de programmation des actions associes au Grafcet Vous voyez sur la figure 15 les conditions dactivation des moteurs gauche et droit, associs respectivement aux adresses %Q6.1 et %Q6.5. Dans ces conditions, vous

pouvez voir un type dadresse que vous naviez pas rencontr encore : %X#. Ce type dadresse effectue la liaison avec les tapes du Grafcet. Dans le cas de la dmonstration, nous voulions que ltape 5 active le moteur de gauche et ltape 6 le moteur de droite (voir figure 13). Nous voyons clairement cette action la figure 15 en notant les adresses %X5 et %X6 dans les conditions dactivation des sorties %Q6.1 et %Q6.5. Notez aussi que ltape 1 (%X1) permet aussi dactiver les sorties des moteurs. Dans le Grafcet, nous parlions dun mode manuel ltape 1. Physiquement, nous voyons dans les conditions dactivation que ltape 1 se trouve ct des adresses %I1.16 et %I1.17. Sachant que ces adresses sont lies aux boutons de commande gauche et droit de la console, il est clair que ltape 1 active le mode manuel o ces boutons peuvent activer le moteur. Le reste de chaque condition est une protection de scurit : %I1.31 est lie au bouton darrt durgence et les conditions %Q6.1 et %Q6.5 assurent lexclusion mutuelle des deux actions, cest--dire que le moteur ne pourra jamais aller gauche et droite en mme temps Dailleurs, ceci montre que vous pouvez utiliser une sortie comme une entre dans le cas o la lecture de sa valeur est utile comme condition logique. prsent, nous avons couvert lessentiel de la programmation en Grafcet. Il nous reste seulement voir comment envoyer le rsultat lautomate afin de tester le programme dans un contexte dutilisation. En effet, le logiciel ne fournit pas de fonction de simulation, donc vous devrez toujours transfrer le programme lautomate pour le tester. Ceci implique la ncessit de programmer les fonctions de scurit au fur et mesure de llaboration du programme afin de toujours pouvoir interrompre les actions avant quelles ne causent des dommages.

Transfert des programmes vers lautomate


Le test des programmes passe ncessairement par le transfert du programme vers lautomate. Pour se faire, vous allez passer par le lien srie qui relie lordinateur au module de contrle de lautomate (module 0). La seule condition pour pouvoir transfrer le programme en cours est quil soit entirement valid, cest--dire quil ne contienne pas de partie non valide (en rouge). Lorsque cest le cas, simplement cliquer sur le bouton Transfer de la barre doutils du logiciel (voir la section sur la prsentation de linterface pour trouver cet outil). Le logiciel demande alors si vous voulez effectuer un transfert PLC->PC ou PC->PLC. Sachant que PLC reprsente lautomate (Programmable Logic Controller) et que PC reprsente lordinateur (Personnal Computer), le choix est clair Le transfert du PLC vers le PC est utile dans un contexte industriel o un programmeur de systme veut consulter le programme dun automate qui nest pas constamment reli un ordinateur : il branche un cble entre lautomate et un PC portable et retire les information de lautomate. Dans notre cas, nous voulons transfrer le code vers lautomate, donc PC->PLC. Le transfert dbute alors et prend un certain temps car le lien srie utilise une vitesse de communication assez faible. Toutefois, le temps de transfert dpend trs peu de la taille de votre programme car le logiciel transfert beaucoup dinformations de configuration avec le programme. Dailleurs, vous verre que le code final de votre projet occupe peine 10 Ko, ce qui est trs facile transfrer sur disquette. Lorsque le transfert est termin, vous devez maintenant vous connecter sur lautomate pour le contrler. Pour y arriver, cliquer sur

loutil Connect de la barre doutils. partir de ce moment, si vous entrer dans une fentre de programmation, vous verrez plusieurs cases noires. Cette couleur indique la validit de la condition en question. Dj maintenant vous pouvez effectuer certains tests sur vos programmes. Toutefois, vous noterez que mme si la condition dune ligne est valide (i.e. toutes les cases sont noires), la sortie reste blanche. Ceci est normal car lautomate est automatiquement en mode Stop lorsquun programme vient dtre transfr. Pour que les sorties puissent sactiver, la dernire action effectuer est de cliquer sur le bouton Run de la barre doutils. Le logiciel demande alors une confirmation. Cette fois, les lignes valides vont valider aussi la sortie correspondante. Vous pouvez maintenant tester votre programme. Quand vous avez termin vos tests, ou pour effectuer une modification votre code, vous devez interrompre lexcution. Pour ce faire, cliquer sur le bouton Stop de la barre doutils. Si vous voulez modifier votre code, vous devez aussi vous dconnecter de lautomate afin de ne pas travailler dans sa mmoire. En effet, lorsque vous travaillez en mode connect, vous effectuez les modifications directement dans la mmoire de lautomate. Ce faisant, laction de sauver votre programme peut ne pas tenir compte de ces modifications Pour cette raison, toujours vous dconnecter de lautomate en cliquant sur le bouton Disconnect de la barre doutils. Quand vos modifications seront termines, vous devrez retransfrer le code et suivre la procdure de mise en route nouveau. En rsum, la procdure de mise en route est : 1) Transfer; 2) Connect; 3) Run; et celle de modification est : 1) Stop; 2) Disconnect. En terminant, loption de transfert de lautomate vers le PC peut vous jouer un vilain tour : lautomate conserve ses mmoires mme lorsquil est teint. Ainsi, une quipe qui arrive au laboratoire peut rcuprer le code de lquipe prcdente si celui-ci est encore sur lautomate Vous devez donc toujours charger un code bidon (comme dmo1_sep2003.stx ) lorsque vous quittez le laboratoire afin de ne pas donner votre code aux autres quipes.