Vous êtes sur la page 1sur 7

ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 1/7

ELE4202
Deuxième laboratoire
Exercice sur le Grafcet
Nous avons vu au cours que les diagrammes à relais seuls ne permettent pas l'implantation
simple de séquences d'actions conditionnelles. Pour permettre une programmation efficace des
automatismes nécessitant une séquence complexe, le langage Grafcet a été présenté au cours. Le but de
l'exercice pour cette deuxième séance de laboratoire est de maîtriser par quelques exemples
l'implantation de séquences dans le logiciel PL7. Nous utiliserons le même système que pour la
première séance soit le palan industriel et sa console qui sont reliés à un l'automate TSX Premium. Une
lecture préalable des documents concernant PL7 et le module de compteurs rapides est nécessaire à la
réalisation de cette séance d'exercice.

Éléments à implanter

Comme exercice, nous allons implanter trois comportements distincts:

– oscillateur unitaire (en Grafcet);


– déplacements automatiques gauche / droite avec mode manuel;
– déplacements semi-automatiques en boucle fermée (exercice).

Ressources disponibles

Les tableaux qui suivent illustrent l'attribution des entrées / sorties de l'automate aux différentes
fonctions que nous venons de mentionner. La mise en place des comportements décrits dans la partie
« précision » de ces tableaux doit être effectuée par le programme que nous allons développer.

Assignation des adresses du module TSX DEY 32D2K (entrées tout-ou-rien)


Adresse Objet physique / Symbole Précision
%M0 Console - Interrupteur 0 / Inter0 Consigne boucle fermée: -1.00 mètre
%M1 Console - Interrupteur 1 / Inter1 Consigne boucle fermée: -0.50 mètre
%M2 Console - Interrupteur 2 / Inter2 Consigne boucle fermée: -0.25 mètre
%M3 Console - Interrupteur 3 / Inter3 Inutilisé dans cet exemple...
%M4 Console - Interrupteur 4 / Inter4 Inutilisé dans cet exemple...
%M5 Console - Interrupteur 5 / Inter5 Inutilisé dans cet exemple...
%M6 Console - Interrupteur 6 / Inter6 Inutilisé dans cet exemple...
%M7 Console - Interrupteur 7 / Inter7 Inutilisé dans cet exemple...

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 2/7

Adresse Objet physique / Symbole Précision


%M8 Console - Interrupteur 8 / Inter8 Consigne boucle fermée: +1.00 mètre
%M9 Console - Interrupteur 9 / Inter9 Consigne boucle fermée: +0.50 mètre
%M10 Console - Interrupteur 10 / Inter10 Consigne boucle fermée: +0.25 mètre
%M11 Console - Interrupteur 11 / Inter11 Inutilisé dans cet exemple...
%M12 Console - Interrupteur 12 / Inter12 Inutilisé dans cet exemple...
%M13 Console - Interrupteur 13 / Inter13 Inutilisé dans cet exemple...
%M14 Console - Interrupteur 14 / Inter14 Inutilisé dans cet exemple...
%M15 Console - Interrupteur 15 / Inter15 Enclenchement de l'électroaimant
%M16 Console - Bouton A0 / A0 Commande manuelle déplacement à gauche
%M17 Console - Bouton A1 / A1 Commande manuelle déplacement à droite
%M18 Console - Bouton A2 / A2 Commande manuelle déplacement en haut
%M19 Console - Bouton A3 / A3 Commande manuelle déplacement en bas
%M20 Console - Bouton A4 / A4 Commande vitesse horizontale rapide
%M21 Palan - Interrupteur S1 / S1lim Limite gauche des déplacements
%M22 Palan - Interrupteur S2 / S2lim Position intermédiaire sur le rail
%M23 Palan - Interrupteur S3 / S3lim Limite droite des déplacements
%M24 Console - Bouton BP0 / Bp0 Entrée / sortie pour le mode manuel
%M25 Console - Bouton BP1 / Bp1 Inutilisé dans cet exemple...
%M26 Console - Bouton BP2 / Bp2 Déclenchement de la boucle fermée
%M27 Console - Bouton BP3 / Bp3 Inutilisé dans cet exemple...
%M28 Console – Sélecteur C0 / C0 Inutilisé dans cet exemple...
%M29 Console – Sélecteur position C1 / C1 Inutilisé dans cet exemple...
%M30 Console – Sélecteur position C2 / C2 Inutilisé dans cet exemple...
%M31 Console – Bouton d'arrêt d'urgence / Au Bloque tous les déplacements

Assignation des adresses du module TSX DSY 16T2 (sorties tout-ou-rien 24 VCC)
Adresse Objet physique / Symbole Précision
%M48 Console - Indicateur 0 / Led0 Sortie fonction oscillateur unitaire
%M49 Console - Indicateur 1 / Led1 Inutilisé dans cet exemple...
%M50 Console - Indicateur 2 / Led2 Inutilisé dans cet exemple...

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 3/7

Adresse Objet physique / Symbole Précision


%M51 Console - Indicateur 3 / Led3 Inutilisé dans cet exemple...
%M52 Console - Indicateur 4 / Led4 Inutilisé dans cet exemple...
%M53 Console - Indicateur 5 / Led5 Inutilisé dans cet exemple...
%M54 Console - Indicateur 6 / Led6 Inutilisé dans cet exemple...
%M55 Console - Indicateur 7 / Led7 Inutilisé dans cet exemple...
%M56 Console - Indicateur 8 / Led8 Inutilisé dans cet exemple...
%M57 Console - Indicateur 9 / Led9 Inutilisé dans cet exemple...
%M58 Console - Indicateur 10 / Led10 Inutilisé dans cet exemple...
%M59 Console - Indicateur 11 / Led11 Inutilisé dans cet exemple...
%M60 Console - Indicateur 12 / Led12 Inutilisé dans cet exemple...
%M61 Console - Indicateur 13 / Led13 Inutilisé dans cet exemple...
%M62 Console - Indicateur 14 / Led14 Inutilisé dans cet exemple...
%M63 Console - Indicateur 15 / Led15 Indicateur d'activation de l'électroaimant

Assignation des adresses du module TSX DSY 16R5


Adresse Objet physique Précision
%M32 Palan – Moteur horizontal - Mgbv Déplacement à gauche basse vitesse
%M33 Palan – Moteur horizontal - Mghv Déplacement à gauche haute vitesse
%M34 Inutilisé Inutilisé
%M35 Inutilisé Inutilisé
%M36 Palan – Moteur horizontal - Mdbv Déplacement à droite basse vitesse
%M37 Palan – Moteur horizontal - Mdhv Déplacement à droite haute vitesse
%M38 Inutilisé Inutilisé
%M39 Inutilisé Inutilisé
%M40 Palan – Moteur vertical - Mm Déplacement vers le haut de la charge
%M41 Palan – Moteur vertical - Ma Automaintient de la hauteur de la charge
%M42 Palan – Moteur vertical - Md Déplacement vers le bas de la charge
%M43 Inutilisé Inutilisé
%M44 Inutilisé Inutilisé
%M45 Inutilisé Inutilisé

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 4/7

Adresse Objet physique Précision


%M46 Inutilisé Inutilisé
%M47 Palan – Electroaimant - Aimant Activation de l'aimant pour tenir la charge

Pour cet exercice, nous devons utiliser les compteurs rapides pour l'implantation de la boucle
fermée. Le module CTY 2A entre donc en action à cette séance. Le tableau qui suit fourni
l'assignation des adresses de ce module pour la compatibilité simulation / expérimentation.

Assignation des adresses du module TSX CTY 2A (compteurs rapides)


Adresse Objet physique Précision
%M64 Palan – Activation encodeur 0 - Onx Activation de l'encodeur en X
%M65 Palan – Remise à zéro encodeur 0 - Resetx Remise à zéro de l'encodeur en X
%M66 Palan – Activation encodeur 1 - Ony Activation de l'encodeur en Y
%M67 Palan – Remise à zéro encodeur 1 - Resety Remise à zéro de l'encodeur en Y
%MD0 Palan – Compteur encodeur 0 - Cx Valeur du compte des impulsions en X
%MD2 Palan – Compteur encodeur 1 - Cy Valeur du compte des impulsions en Y

Configuration de l'application

Comme pour l'exercice de la première séance, il faut effectuer la création de l'application. La


procédure est la même que lors de la dernière séance puisque nous utilisons les mêmes modules de
l'automate et le même système physique. Si vous ne vous souvenez pas des étapes, référez-vous au
document de l'exercice sur les diagrammes à relais. D'ailleurs, vous pouvez directement réutiliser
l'application précédente et simplement vérifier l'assignation des adresses et des symboles.

Pour la configuration du processeur de l'automate, changer l'option « Periodic » pour « Cyclic »


pour le balayage du programme afin de donner un maximum de rapidité à l'automate. Dans la
configuration précédente, la vitesse était limitée à 10 balayages par seconde (période de 100 ms). Nous
verrons plus tard comment déterminer la rapidité actuelle du balayage en mode « Cyclic ».

Réalisation de l'implantation de l'oscillateur unitaire en Grafcet

Comme premier exercice simple, nous vous demandons simplement de refaire un oscillateur
unitaire, mais en utilisant cette fois le Grafcet plutôt que le diagramme à relais. La procédure est
simple: une étape pour le cycle actif de l'oscillateur et une étape pour son cycle inactif. Vous
obtiendrez donc un Grafcet avec deux étapes et deux transitions. Puisque nous voulons un oscillateur
unitaire sans contrôle et que le Grafcet reste par définition au moins un cycle dans chaque étape, les
transitions seront toujours vraies (condition « =1 »). Il ne vous reste qu'à assigner l'action d'allumer

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 5/7

l'indicateur 0 dans les traitements postérieurs...

Le résultat final devrait ressembler à l'illustration qui suit. Notez l'absence de traitements
préliminaires pour cette application très simple. Un exemple de transition avec la réceptivité « =1 » est
aussi présenté sur l'illustration.

Quand cet exemple est exécuté sur l'automate, pouvez-vous voir l'indicateur clignoter comme
dans la séance précédente? Pourquoi? (Indice: exécution en mode cyclique plutôt que périodique...)

Réalisation de l'implantation des déplacements automatiques

Le but de cet exercice est simplement de faire que le palan se déplace automatiquement de
gauche à droite d'une limite à l'autre du rail avec la séquence suivante:

– gauche jusqu'à S3;


– droite jusqu'à S1;
– gauche jusqu'à S2;
– attente de 2 secondes pour passer en mode manuel (bouton BP0);
– si le délai termine sans passage dans le mode manuel, le cycle reprend;
– si le mode manuel est activé, la pression de BP0 dans ce mode le désactive et le cycle
automatique reprend;

Le détail du mode manuel a été traité dans l'exercice précédent en diagramme à relais et le code
peut être réutilisé directement en remplaçant simplement la condition d'activation Inter0 par l'étape
représentant ce mode dans le Grafcet de l'exemple. N'oublier pas aussi de traiter l'arrêt d'urgence qui

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 6/7

doit interrompre les déplacements dans tous les modes (automatique et manuel)...

Typiquement, chaque comportement de la séquence est attribué à une étape du Grafcet. Ainsi
vous aurez une étape qui va à gauche, une étape qui va à droite, une autre étape qui va à gauche, une
étape d'attente et une étape pour le mode manuel. Les réceptivités des transitions sont directement
reliées aux conditions de passage d'une étape à l'autre de la séquence (S1, S3, S2, le délai, BP0).

Pour le délai, vous aurez besoin d'un temporisateur qui sera implanté en diagramme à relais
comme pour l'exercice précédent. Prenez le temporisateur %T0 et configurez-le pour un délai de 2
secondes. L'activation du temporisateur sera fonction de l'étape d'attente de votre séquence. La sortie
du temporisateur est ensuite affectée à un bit temporaire (%M0 par exemple) et ce bit est utilisé comme
réceptivité pour la transition vérifiant le délai...

Réalisation de l'implantation des déplacements en boucle fermée

Au cours, nous avons vu comme exemple d'implantation en Grafcet le cas des déplacements en
boucle fermée. Le but de ce dernier exercice de programmation est de vous faire programmer cet
exemple dans PL7 et de le rendre fonctionnel sur le système. Ce que nous voulons obtenir est une
structure qui permet le déplacement du palan selon une consigne spécifiée par les interrupteurs
0,1,2,8,9,10 de la console de la manière suivante:

– inter0 position actuelle + 1.00 mètre;


– inter1 position actuelle + 0.50 mètre;
– inter2 position actuelle + 0.25 mètre;
– inter8 position actuelle - 1.00 mètre;
– inter9 position actuelle - 0.50 mètre;

Automne 2004 Richard Hurteau – Cédric Demers-Roy


ELE4202 – Deuxième laboratoire – Exercices sur le Grafcet 7/7

– inter10 position actuelle - 0.25 mètre.

Le bouton BP2 permet de confirmer la consigne et le déplacement doit s'effectuer si la consigne


est valide (i.e. position de consigne à l'intérieur des limites du rail). D'ailleurs n'oublier pas de toujours
travailler en impulsions (une valeur toujours entière) et jamais avec les mètres (une valeur presque
toujours fractionnaire) afin de pouvoir utiliser le format double. Veuillez noter que la constante pour
convertir les distances est 1304 impulsions / mètre pour les déplacements horizontaux. Pour les limites
du rail, la limite gauche est toujours 0 mètre, la limite droite est de 3.5 mètres pour le palan 1 et 3.23
mètres pour le palan 2.

Veuillez noter que les consignes doivent être additives: par exemple si j'enclenche les
interrupteurs 0 et 1, la position de consigne est la position actuelle incrémentée de 1.50 mètre. Le
traitement de la consigne est un très bon exemple d'opération à effectuer dans les traitements
préliminaires.

Une fois la position de consigne atteinte, la séquence doit retourner en attente de consigne. Pour
le détail de la séquence de la boucle fermée, vous pouvez vous référer aux notes de cours qui présente
l'exemple à ce sujet.

Physiquement, il faudra aussi s'assurer que le palan commence en position connue sur le rail
pour que la lecture de position soit valide. Le meilleur moyen d'avoir cette assurance est de faire
déplacer le palan à gauche jusqu'à ce que S1 soit dépassé (front descendant), puis ensuite à droite
jusqu'à ce que le chariot touche S1 de nouveau. À ce moment, on peut remettre le compteur horizontal
à zéro et considérer cette position comme X=0. Il faut absolument effectuer cette séquence
d'initialisation au début du programme. D'ailleurs, n'oubliez pas d'activer les compteurs... Il est
fortement conseiller de lire quelques fois le document sur le module de compteurs rapides avant de
procéder à cet exercice d'implantation afin de ne pas avoir de mauvaises surprises lors des tests (même
en simulation).

Conclusion de la séance

Avec les notions que nous venons de couvrir, vous avez maintenant tous les outils nécessaires
pour effectuer l'implantation d'un automatisme dans le logiciel PL7. Vous pouvez maintenant
configurer l'automate, programmer les sections en diagramme à relais, programmer les sections en
Grafcet et faire l'interface entre les deux types de programmation via les traitements préliminaires et
postérieurs. Il ne reste en fait qu'un élément du logiciel à découvrir: la programmation des interfaces
graphiques que nous verrons à la prochaine séance. Avec ce dernier élément, vous pourrez sans
problèmes débuter le projet.

Automne 2004 Richard Hurteau – Cédric Demers-Roy