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

Fonction
File->New
File->Open
File->Save
File->Print

Description
Crer un nouveau fichier (ne pas utiliser!)
Ouvrir un fichier existant
Sauver le programme en cours
Imprimer le programme (vous ne pouvez imprimer

Edit->Undo

Annuler les modifications (attention : cette commande


annule TOUTES les modifications entre le moment dentre en
mode ddition et linstant actuel)

Edit->Confirm

Confirmer les modifications (ncessaire pour pouvoir


passer une autre section de programme)

Go to

8
9

Tools->Application Browser
Tools->Cross references

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

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

plus dun endroit dans votre programme)

10

Tools->Library

Fait appel une librairie de fonctions

(option

inutilise dans notre laboratoire)

11

PLC->Transfer

12

PLC->Disconnect

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

PLC->Connect

Connecte le PC lautomate

14
15

PLC->Run
PLC->Stop

16

Utilities->Animate

Commande lautomate de lancer lexcution


Commande

lautomate
dinterrompre
lexcution
Permet lanimation des donnes (commande inutilise

17
18
19
20
21

Window->Cascade
Window->Tile Horizontally
Window->Tile Vertically
Help
Help->Whats this

(ncessaire pour voir


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

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.

Vous aimerez peut-être aussi