• Aucun résultat trouvé

Exemple complet de conception

N/A
N/A
Protected

Academic year: 2022

Partager "Exemple complet de conception"

Copied!
29
0
0

Texte intégral

(1)

ELE4202 Commande des procédés industriels (automatisation)

Exemple complet de conception

(complément au chapitre II du cours)

Conception et réalisation d’un automatisme pour le perçage de pièces sur un poste robotisé

Conçu par Cédric Demers-Roy

École Polytechnique de Montréal

Septembre 2002

(2)

Cahier des charges

Un robot perceur industriel est chargé de percer des trous dans deux types de pièces qui arrivent via un convoyeur lié au poste de perçage. Pour la production actuelle, le robot a deux types de pièces à traiter et il peut les distinguer par leur longueur : la première fait 25 cm de longueur et la deuxième 50 cm de longueur. Le convoyeur a été conçu de sorte que la largeur des pièces conviennent aux bandes d’entraînement, soit 25 cm.

Le poste de perçage (voir figure 1) possède les éléments suivants :

- trois moteurs de déplacement (Mx, My et Mz) - deux moteurs de convoyeur (ME et MS) - un moteur pour la mèche à percer (MP) - trois interrupteurs de présence de pièce

- PP, pièce présente - GP, grande pièce - AP, autre pièce

- deux interrupteurs de limite de hauteur - Z1, proximité de la pièce - Z2, pièce traversée

- deux encodeurs optiques reliés aux moteurs de déplacement MX et MY - ONX, RESETX, VALUEX

- ONY, RESETY, VALUEY

- trois interrupteurs de configuration des compteurs SX, SY et SZ - une console de commande (voir figure 2)

- boutons X+,X-,Y+,Y-,Z+,Z-,P,START,STOP,MANUEL,ON,OFF

*l’interrupteur P et le bouton STOP sont à enclenchement; tous les autres boutons sont momentanés

- diodes DP (problème), DR (en route) et DM (mode manuel)

Le robot doit pouvoir effectuer le perçage automatique des pièces qui se présentent sur le convoyeur en appliquant un plan de perçage dépendant de la dimension de la pièce. Les figures 3 et 4 illustrent les plans de perçage en fonction de la longueur de la pièce. Le démarrage de l’automatisme se fait par la pression du bouton START sur la console.

Cette séquence assurera le positionnement de la pièce, le perçage de tous les trous,

(3)

peuvent fonctionner. Lors de l’attente et pendant toute la durée du mode manuel, la diode DM s’allume pour indiquer la situation à l’opérateur. La sortie du mode manuel se fait suivant la pression du bouton STOP (une seule fois).

Lors de la prise d’une pièce, le convoyeur d’entrée (MS) est alimenté pendant 5 secondes, ou jusqu’à ce que l’interrupteur PP se ferme. Si au bout du délai l’interrupteur est toujours ouvert, le traitement s’arrête et la diode de problème (DP) sur la console s’allume. L’opérateur doit alors manuellement replacer le système et lancer une nouvelle séquence (START). La diode s’éteint alors. Le même comportement doit être adopté si l’éjection de la pièce échoue.

La diode de traitement normal (DR) doit être allumée tant que la séquence se déroule normalement et que le robot n’est pas en mode d’attente ou en mode manuel.

Les compteurs servant à lire les encodeurs optiques de déplacement fonctionnent en mode asynchrone. Ils doivent donc être activé et remis à zéro avant toute séquence de travail pour s’assurer de leur fonctionnement. Pour ce faire, chaque compteur possède deux bits de configuration : RESET et ON (en pratique : RESETX, RESETY, ONX,ONY). Veillez à tenir compte de ces contrôles.

Lorsqu’ils fonctionnent, les compteurs vont compter le nombre d’impulsions retournées par les encodeurs qui surveillent les déplacements en X et en Y. Il faut donc effectuer la conversion entre le nombre d’impulsions retournées et la distance parcourue afin de se positionner correctement selon le plan de perçage. Or, les encodeurs sont reliés à des poulies d’entraînement des câbles de déplacement qui sont reliés, eux, aux moteurs de déplacement. Dû à des contraintes mécaniques, ces poulies n’ont pas la même dimension pour les déplacements en X et en Y, ce qui donne un facteur de conversion différent pour chaque axe. Ainsi, les déplacements en X donnent 200 impulsions par centimètre de déplacement et les déplacements en Y donnent 250 impulsions par centimètre de déplacement.

Les interrupteurs limite SX,SY et SZ servent au positionnement à zéro du robot perceur pour permettre la remise à zéro des compteurs. Lors de l’allumage (ON) ou suite à une mise hors fonction (OFF), le robot doit aller en cette position et mettre ses compteurs à zéro.

Le positionnement de la mèche en X et Y doit se faire en boucle fermée et le déplacement en Z ne se fait qu’une fois la position atteinte en X et Y. On suppose que les moteurs de déplacements en X et Y ont une impédance assez haute pour arrêter le déplacement dès que la commande est nulle (pas de vitesse résiduelle ni de dépassement).

Matériel disponible

Pour réaliser cet automatisme, vous disposez de :

(4)

- sa console de commande

- un automate de la compagnie Télémécanique contenant : - module processeur (adresse 0) - module d’entrées (adresse 1) - module de sorties logiques (adresse 5) - module de sorties à relais (adresse 6) - module de comptage rapide (adresse 3) - le logiciel de programmation PL7-Pro 3.4

(5)

Les adresses utilisables dans cet automate sont énumérées comme suit :

- OBJET ADRESSE SYMBOLE

- mémoires

- bits %M0 à %M31 (À ASSIGNER)

- octets %MB0 à %MB31 (À ASSIGNER)

- mots %MW0 à %MW31 (À ASSIGNER)

- double mots %MD0 à %MD31 (À ASSIGNER) - constantes

- octets %KB0 à %KB31 (À ASSIGNER)

- mots %KW0 à %KW31 (À ASSIGNER)

- double mots %KD0 à %KD31 (À ASSIGNER) - entrées

- logiques %I1.0 à %I1.31 (À ASSIGNER) - sorties

- logiques %Q5.0 à %Q5.15 (À ASSIGNER) - relais %Q6.0 à %Q6.15 (À ASSIGNER) - compteurs rapides

- alimentation C0 %Q3.0 ONX - alimentation C1 %Q3.1 ONY - remise à zéro C0 %Q3.0.1 RESETX - remise à zéro C1 %Q3.1.1 RESETY

- valeur C0 %ID3.0 VALUEX

- valeur C1 %ID3.1 VALUEY

- blocs fonctionnels

- temporisateurs %T0 à %T7 (À ASSIGNER) - compteurs %C0 à %C7 (À ASSIGNER)

Travail à réaliser

- Affectation des adresses et des mémoires ( entrées / sorties, états temporaires, constantes, variables)

- Traitements préliminaires

- Séquence de traitement ( Grafcet de niveau I et II) - Traitements postérieurs assurant les actions

(6)
(7)
(8)
(9)

SOLUTION

(10)

Affectation des adresses et des mémoires

Les adresses non mentionnées dans ces tableaux indiquent les objets non utilisés pour la conception / réalisation de l’automatisme demandé.

Tableau 1 : Affectation des blocs fonctionnels

Adresse Symbole Description

%C0 NbStop Compteur du nombre de stop

%T0 T_tapis Temporisateur de 5 secondes pour introduction / éjection

%T1 T_manuel Temporisateur de 2 secondes pour l’entrée en mode manuel

Tableau 2 : Assignation des constantes

Adresse Symbole Valeur Description

%KD0 X1P 5 cm Position en X, premier trou, petite pièce

%KD2 Y1P 20 cm Position en Y, premier trou, petite pièce

%KD4 X2P 20 cm Position en X, deuxième trou, petite pièce

%KD6 Y2P 20 cm Position en Y, deuxième trou, petite pièce

%KD8 X3P 12.5 cm Position en X, troisième trou, petite pièce

%KD10 Y3P 20 cm Position en Y, troisième trou, petite pièce

%KD12 X1G 5 cm Position en X, premier trou, grande pièce

%KD14 Y1G 5 cm Position en Y, premier trou, grande pièce

%KD16 X2G 5 cm Position en X, deuxième trou, grande pièce

%KD18 Y2G 45 cm Position en Y, deuxième trou, grande pièce

%KD20 X3G 20 cm Position en X, troisième trou, grande pièce

%KD22 Y3G 45 cm Position en Y, troisième trou, grande pièce

%KD24 X4G 20 cm Position en X, quatrième trou, grande pièce

%KD28 Y4G 5 cm Position en Y, quatrième trou, grande pièce

%KD28 KX 200 imp/cm Constante de conversion de comptage en X

%KD28 KY 250 imp/cm Constante de conversion de comptage en Y

(11)

Tableau 3 : Assignation des variables (bits, octets, mots et double mots)

Adresse Symbole Description

Bit

%M0 To_up Fin du délai de 5 secondes (introduction / éjection de pièce)

%M1 2stop Double pression du bouton STOP (arrêt permanent demandé)

%M2 T1_up Fin du délai de 2 secondes (entrée dans le mode manuel)

%M3 Pause Arrêt temporaire demandée (stop)

%M4 Quit Arrêt permanent demandé (2stop ou OFF)

%M5 Start_BF Départ du positionnement en boucle fermée

%M6 Out_BF Sortie du positionnement en boucle fermée

%M7 Start_P Départ de la séquence de perçage

%M8 Out_p Sortie de la séquence de perçage

%M9 Fin_BF Position atteinte en boucle fermée (permission de sortie)

%M10 In_MAN Mode manuel activé Double mot

%MD0 XD Position en X à atteindre pour la boucle fermée

%MD2 YD Position en Y à atteindre pour la boucle fermée

Tableau 4 : Assignation des entrées

Adresse Symbole Description

%I1.0 SX Interrupteur de position zéro en X

%I1.1 SY Interrupteur de position zéro en Y

%I1.2 SZ Interrupteur de position zéro en Z

%I1.3 Z1 Interrupteur de position de proximité de pièce pour l’axe Z

%I1.4 Z2 Interrupteur de position de pièce traversée pour l’axe Z

%I1.5 PP Interrupteur de présence de pièce pour perçage

%I1.6 GP Interrupteur indiquant une pièce de grande dimension

%I1.7 AP Interrupteur indiquant la présence d’une prochaine pièce

%I1.8 ON Bouton de mise en fonction

%I1.9 OFF Bouton de mise hors fonction

%I1.10 START Bouton de départ de séquence / confirmation

%I1.11 STOP Bouton de pause / fin de séquence

%I1.12 MANUEL Bouton de passage en mode manuel

%I1.13 X+ Bouton de commande de déplacement positif selon X

%I1.14 X- Bouton de commande de déplacement négatif selon X

%I1.15 Y+ Bouton de commande de déplacement positif selon Y

%I1.16 Y- Bouton de commande de déplacement négatif selon Y

%I1.17 Z+ Bouton de commande de déplacement positif selon Z

%I1.18 Z- Bouton de commande de déplacement négatif selon Z

%I1.19 P Interrupteur de mise en marche du moteur de perçage

(12)

Tableau 5 : Assignation des sorties (logiques et à relais)

Adresse Symbole Description

Logique

%Q5.0 DR Indicateur (DEL) de déroulement de séquence

%Q5.1 DP Indicateur (DEL) de problème

%Q5.2 DM Indicateur (DEL) de présence en mode manuel Relais

%Q6.0 MX+ Alimentation du moteur de l’axe X (déplacement positif)

%Q6.1 MX- Alimentation du moteur de l’axe X (déplacement négatif)

%Q6.2 MY+ Alimentation du moteur de l’axe Y (déplacement positif)

%Q6.3 MY- Alimentation du moteur de l’axe Y (déplacement négatif)

%Q6.4 MZ+ Alimentation du moteur de l’axe Z (déplacement positif)

%Q6.5 MZ- Alimentation du moteur de l’axe Z (déplacement négatif)

%Q6.6 ME Alimentation du moteur du convoyeur d’entrée

%Q6.7 MS Alimentation du moteur du convoyeur de sortie

%Q6.8 MP Alimentation du moteur de perçage

Tableau 6 : Assignation des compteurs rapides

Adresse Symbole Description

Contrôle de fonctionnement (bits)

%Q3.0 ONX Contrôle d’activation du compteur 0 (position en X)

%Q3.0.1 RESETX Contrôle de remise à zéro du compteur 0

%Q3.1 ONY Contrôle d’activation du compteur 1 (position en Y)

%Q3.1.1 RESETY Contrôle de remise à zéro du compteur 1 Valeur des compteurs (mots doubles)

%ID3.0 VALUEX Valeur en nombre d’impulsions du compteur en X

%ID3.1 VALUEY Valeur en nombre d’impulsions du compteur en Y

(13)

Traitements préliminaires

Les traitements préliminaires contiennent essentiellement le traitement des variables de fonctionnement et la configuration des différents modules suivant la valeur des entrées lors du balayage par l’automate.

Normalement, toutes les sorties qui ne dépendent pas des étapes séquentielles devraient se trouver dans cette section sauf, bien sûr, si la sortie en question sert comme état temporaire à l’affectation d’une sortie qui dépend d’une étape séquentielle. En effet, la division de la programmation entre les deux sections (préliminaires et postérieurs) ne doit jamais mettre en péril la clarté du programme final.

Habituellement, l’affectation des variables et le calcul des conditions complexes (ceux affectés à des bits de mémoire) se font dans les traitements préliminaires. Les comportements spéciaux (ex. : création d’un oscillateur indépendant) peuvent aussi se faire dans cette section en affectant ce comportement à un bit de mémoire et en l’utilisant plus loin dans les traitements postérieurs.

Les pages manuscrites qui suivent illustrent les traitements préliminaires programmés pour l’automatisation du robot perceur.

(14)
(15)
(16)

Séquence d’actions (Grafcet)

La programmation des séquence d’actions se fait toujours dans la section dédiée au Grafcet. Cette dernière est divisée en plusieurs pages qui contiennent chacune une partie du graphe séquentiel complet.

En effet, il est de loin préférable de diviser la tâche en plusieurs petits Grafcet synchronisés qui effectuent chacun leur part du traitement plutôt que d’essayer de tout programmer dans une grande séquence qui deviendra vite illisible, voir même impossible à compléter.

Dans le cas du robot de cet exemple, nous utiliserons cinq Grafcet synchronisés afin de répondre au cahier des charges :

- un Grafcet maître qui régit le déroulement général;

- un Grafcet pour le plan de perçage des petites pièces;

- un Grafcet pour le plan de perçage des grandes pièces;

- un Grafcet pour le déplacement en boucle fermée;

- un Grafcet pour le perçage des trous.

Une autre bonne raison de diviser la tâche de cette façon est que la plupart de ces séquences seront utilisées plus d’une fois durant le traitement d’une pièce. En effet, puisqu’il y a plusieurs trous à percer sur chaque pièce, il est préférable de réutiliser les séquences de positionnement et de perçage plutôt que de les programmer de nouveau pour chaque trou. La synchronisation servira à décider du moment de l’appel de chacune de ces séquences.

Les pages manuscrites qui suivent présentent la solution proposée à l’exemple du robot perceur. Les réceptivités des transitions dépendent de l’affectation des objets réalisée plus tôt et des traitements préliminaires qui fixent la valeurs des variables et des bits de condition complexe.

(17)
(18)
(19)
(20)
(21)
(22)

Traitements postérieurs

Cette section contient la programmation des sorties de l’automate. Ainsi, la plupart des conditions contiendront une référence à une ou plusieurs étapes du Grafcet afin de fixer la valeur de chacune des sorties. Il est très important de noter que chaque bobine de sortie ne doit être présente qu’une seule fois dans les déroulements de cette section (même condition pour les traitements préliminaires d’ailleurs) sinon la valeur de cette dernière sera indéterminée (à notre point de vue). En effet, si une condition en première ligne affecte la valeur 1 à la bobine et que la dernière ligne affecte la valeur 0 à cette même bobine, alors c’est la deuxième conditions (la dernière balayée par l’automate) qui sera validée…

Les pages qui suivent contiennent la solution proposée à l’exemple du robot perceur présenté dans ce document.

(23)
(24)
(25)
(26)
(27)
(28)
(29)

Références

Documents relatifs

Répondre à la problématique : "Quelle doit être la dimension de chaque carré découpé pour que le volume de la boite soit

On

 Autorise m on(mes) enfant (s) à se déplacer à pieds ou en bus en cas de sorties organisées par l’Accueil de Loisirs Sans Hébergement durant les mercredis,

La distribution du nombre d'enfants dans les familles avec deux adultes présente un fort étalement à droite et un pic très prononcé pour les familles n'ayant aucun enfant.. La

De plus, que diraient de nous les honnêtes gens si nous admettions tous ces mauvais sujets.. Nous avions entouré le Mouvement d’un treillis aux

Dans un magasin d’électroménager, on s’intéresse au comportement d’un acheteur potentiel d’un téléviseur et d’un magnétoscope. La probabilité pour qu’il achète

On

Il est question à travers cette étude de faire un diaporama de la gouvernance de la forêt Boucher dans la ville de Gatineau, en s’intéressant particulièrement