You are on page 1of 40

Machines Outils Commande Numrique

SIDOBRE Daniel Universit Paul Sabatier LAAS-CNRS 7 Av. du Col. Roche 31077 Toulouse Cedex Tel : 61 33 69 68 daniel@laas.fr

Ce document peut tre librement lu, stock, reproduit, dius, traduit et cit par tous moyens et sur tous supports aux conditions suivantes : tout lecteur ou utilisateur de ce document reconnat avoir pris connaissance de ce qu'aucune garantie n'est donne quant son contenu, tout point de vue, notamment vracit, prcision et adquation pour toute utilisation ; il n'est procd aucune modication autre que cosmtique, changement de format de reprsentation, traduction, correction d'une erreur de syntaxe vidente, ou en accord avec les clauses ci-dessous ; des commentaires ou additions peuvent tres insrs condition d'apparatre clairement comme tels ; les traductions ou fragments doivent faire clairement rfrence une copie originale complte, si possible une copie facilement accessible ; les traductions et les commentaires ou ajouts insrs doivent tre dats et leur(s) auteur(s) doi(ven)t tre identiable(s) (ventuellement au travers d'un alias) ; cette licence est prserve et s'applique l'ensemble du document et des modications et ajouts ventuels (sauf en cas de citation courte), quelqu'en soit le format de reprsentation; quel que soit le mode de stockage, reproduction ou diusion, toute personne ayant accs une version numrise de ce document doit pouvoir en faire une copie numrise dans un format directement utilisable et si possible ditable, suivant les standards publics, et publiquement documents, en usage ; la transmission de ce document un tiers se fait avec transmission de cette licence, sans modication, et en particulier sans addition de clause ou contrainte nouvelle, explicite ou implicite, lie ou non cette transmission. En particulier, en cas d'inclusion dans une base de donnes ou une collection, le propritaire ou l'exploitant de la base ou de la collection s'interdit tout droit de regard li ce stockage et concernant l'utilisation qui pourrait tre faite du document aprs extraction de la base ou de la collection, seul ou en relation avec d'autres documents. Toute incompatibilit des clauses ci-dessus avec des dispositions ou contraintes lgales, contractuelles ou judiciaires implique une limitation correspondante du droit de lecture, utilisation ou redistribution verbatim ou modie du document.

Licence de Libre Diusion des Documents

Version du mercredi 7 f c vrier 2007 : corrections mineures. Version du 6 fvrier 2006 : Corrections + biblio. Version du 7 fvrier 2006 : ajouts mineurs. Version du 1 mars 2005 : corrections mineures. La premire version de ce document rdige par Daniel SIDOBRE a t dius sous licence de libre diusion des documents le 10 fvrier 2005. L'auteur accepte les commentaires et les contributions l'amlioration du document adrses daniel@laas.fr.

Historique:

Contents
1 Programmation

1.1 Documentation . . . . . . . . . . . . . . . 1.2 Le contexte de la programmation . . . . . 1.3 Le Programme . . . . . . . . . . . . . . . 1.3.1 Structure d'un programme . . . . 1.4 Les repres . . . . . . . . . . . . . . . . . 1.4.1 Le repre de programmation . . . 1.4.2 description du dplacement de l'outil 1.4.3 Programmation de l'outil . . . . . 1.5 Principe de programmation des dplacements . . . . . . . . . . . . . . . . . . . . 1.5.1 Axe de machine-outil . . . . . . . . 1.5.2 Cause des dicults . . . . . . . . 1.5.3 Mthodes de choix des repres . . 1.6 Programmation des dplacements. . . . . 1.6.1 La gomtrie. . . . . . . . . . . . . 1.6.2 Usinage d'un rectangle. . . . . . . 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Lien entre programmation et rglage . . . La programmation . . . . . . . . . . . . . Les outils . . . . . . . . . . . . . . . . . . La pice . . . . . . . . . . . . . . . . . . . La machine . . . . . . . . . . . . . . . . . Au pied de la machine . . . . . . . . . . . Relation de Chasles . . . . . . . . . . . . . Dplacement relatif . . . . . . . . . . . . . Rglage . . . . . . . . . . . . . . . . . . . 2.9.1 Paradoxe . . . . . . . . . . . . . . 2.9.2 Banc de prrglage d'outil . . . . . 2.9.3 Position du repre porte pice RP P ou PREF . . . . . . . . . . . 2.9.4 Anage du rglage . . . . . . . . .

4 4 4 5 5 5 6 6

6 7 7 7 7 8 8 8 9 9 9 9 9 10 10 10 11 11 11 11
11 8

2 Rglage d'une machine-outil

3 Les principales fonctions

3.1 Les fonctions G . . . . . . . . . . . . . . . 3.1.1 G0 interpolation linaire vitesse rapide. . . . . . . . . . . . . . . . . 3.1.2 G1 interpolation linaire vitesse d'avance programme. . . . . . . . 3.1.3 G2 interpolation circulaire sens ngatif. . . . . . . . . . . . . . . . . . 3.1.4 G3 interpolation circulaire sens positif. . . . . . . . . . . . . . . . . 3.1.5 G4 temporisation . . . . . . . . . . 3.1.6 G6 Ordre d'excution d'une courbe spline . . . . . . . . . . . . . . . . 3.1.7 G9 arrt prcis en n de bloc. . . . 3.1.8 G10 bloc interruptible . . . . . . . 3.1.9 G16 Orientation de l'axe de l'outil 3.1.10 G17 choix du plan XY . . . . . . . 3.1.11 G18 choix du plan ZX . . . . . . . 3.1.12 G19 choix du plan YZ . . . . . . . 3.1.13 G29 correction de rayon spatiale . 3.1.14 G31 (CU) Cycle de letage au grain 3.1.15 G33 (TOUR) cycle de letage . . . 3.1.16 G40 annulation de correction de rayon . . . . . . . . . . . . . . . . 3.1.17 G41 correction de rayon gauche du prol . . . . . . . . . . . . . . . 3.1.18 G42 correction de rayon droite du prol . . . . . . . . . . . . . . .

11

11 11 11 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 2

G45 cycle de poches simple . . . . G48 Dnition d'une courbe spline G49 suppression d'une courbe spline G51 fonction miroir . . . . . . . . G52 programmation par rapport au repre machine . . . . . . . . . 3.1.24 G53 invalidation des dcalages PREF ET DEC1 . . . . . . . . . . 3.1.25 G54 validation des dcalages PREF ET DEC1 . . . . . . . . . . 3.1.26 G59 dcalage d'origine programm 3.1.27 G64 (TOUR) cycle d'bauche paraxial . . . . . . . . . . . . . . . 3.1.28 G65 (TOUR) cycle de gorge . . . . 3.1.29 G70 programmation en pouce . . . 3.1.30 G71 programmation dans le systme mtrique . . . . . . . . . . . 3.1.31 G73 invalidation du facteur d'chelle 3.1.32 G74 validation du facteur d'chelle 3.1.33 G75 dclaration d'un sousprogramme de dgagement d'urgence 3.1.34 G76 transfert de valeurs . . . . . . 3.1.35 G77 appel d'un sous programme . 3.1.36 G78 synchronisation des groupes d'axes . . . . . . . . . . . . . . . . 3.1.37 G79 saut conditionnel ou inconditionnel . . . . . . . . . . . . . . . . 3.1.38 G80 annulation de cycle d'usinage 3.1.39 G81-89 Cycles de perage . . . . . 3.1.40 G90 programmation absolue . . . . 3.1.41 G91 programmation relative . . . . 3.1.42 G92 prslection de l'origine programme . . . . . . . . . . . . . . . 3.1.43 G92 R (CU) programmation de l'avance tangentielle . . . . . . . . 3.1.44 G92 S (TOUR) Limitation de la vitesse de broche . . . . . . . . . . 3.1.45 G93 vitesse d'avance exprime en inverse du temps . . . . . . . . . . 3.1.46 G94 vitesse d'avance en mm par minute . . . . . . . . . . . . . . . . 3.1.47 G95 vitesse d'avance exprime en mm par tour . . . . . . . . . . . . 3.1.48 G96 vitesse de coupe constante . . 3.1.49 G97 vitesse de broche exprime en tour par mn. . . . . . . . . . . . . 3.2 Les fonctions M . . . . . . . . . . . . . . . 3.2.1 M0 arrt programm . . . . . . . . 3.2.2 M1 arrt programm optionnel . . 3.2.3 M2 n de programme . . . . . . . 3.2.4 M3 rotation de broche sens antitrigonomtrique . . . . . . . . . . . 3.2.5 M4 rotation de broche sens trigonomtrique . . . . . . . . . . . 3.2.6 M5 arrt broche . . . . . . . . . . 3.2.7 M6 changement d'outil . . . . . . . 3.2.8 M7 arrosage numro 2 . . . . . . . 3.2.9 M8 arrosage numro 1 . . . . . . . 3.2.10 M9 arrt arrosage . . . . . . . . . 3.2.11 M10 blocage d'axe . . . . . . . . . 3.2.12 M11 dblocage d'axe . . . . . . . . 3.2.13 M12 arrt d'usinage programm . 3.2.14 M19 indexation de broche . . . . .

3.1.19 3.1.20 3.1.21 3.1.22 3.1.23

14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 16 16 16 16 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19

3.3

3.4 3.5 3.6 3.7

3.2.15 M40 M45 gamme de broche . . . 3.2.16 M48 validation des potentiomtres de broche et d'avance . . . . . . . 3.2.17 M49 inhibition des potentiomtres de broche et d'avance . . . . . . . Autres fonctions . . . . . . . . . . . . . . 3.3.1 E+ et E- discriminent . . . . . . . 3.3.2 EA droite dnie par un angle . . 3.3.3 EB chanfreins et congs . . . . . . 3.3.4 ED dcalage angulaire programm 3.3.5 EG modulation de l'acclration . 3.3.6 EM dimension extrme en visualisation graphique . . . . . . . . . . 3.3.7 ES lment scant . . . . . . . . . 3.3.8 ET lment tangent . . . . . . . . 3.3.9 T numro d'outil . . . . . . . . . . 3.3.10 D correcteur d'outil . . . . . . . . Les paramtres . . . . . . . . . . . . . . . 3.4.1 les paramtres machines . . . . . . 3.4.2 les paramtres externes Ennnnn . Les variables programmes L . . . . . . . . Calcul sur les variables . . . . . . . . . . . Units . . . . . . . . . . . . . . . . . . . .

4 Exemples de programmes :

22

19 2 Fraisage 35 2.1 Conditions de coupes . . . . . . . . . . . . 35 2.1.1 Finition . . . . . . . . . . . . . . . 35 19 2.1.2 Ebauche . . . . . . . . . . . . . . . 35 2.1.3 Diminution de la profondeur de passe 35 19 2.2 Amliorations . . . . . . . . . . . . . . . . 35 19 2.2.1 Parcours bauche ilots . . . . . . . 35 19 2.2.2 Proposition . . . . . . . . . . . . . 35 19 2.3 Dfaut . . . . . . . . . . . . . . . . . . . . 35 20 2.3.1 Analyse . . . . . . . . . . . . . . . 35 20 2.3.2 Correction . . . . . . . . . . . . . . 35 20 2.3.3 Etat de surface . . . . . . . . . . . 35 20 3 Tournage d'une Jante 37 20 3.1 Gamme d'usinage . . . . . . . . . . . . . . 38 20 3.2 Lecture . . . . . . . . . . . . . . . . . . . 38 20 3.2.1 Analyse du parcours d'outil . . . . 38 20 3.2.2 Outils . . . . . . . . . . . . . . . . 38 20 3.3 Partie symtrique . . . . . . . . . . . . . . 38 20 3.3.1 Outils . . . . . . . . . . . . . . . . 38 20 3.3.2 Programme . . . . . . . . . . . . . 38 21 3.4 Conditions de coupes . . . . . . . . . . . . 38 21 3.4.1 Programmation des conditions de coupe . . . . . . . . . . . . . . . . 38 22 3.4.2 Exprimentation . . . . . . . . . . 38
A Les fonctions principales

5 Modlisation des centres d'usinage 4 et 5 axes : 23

5.1 Matrices de passage homognes . . . . . . 5.1.1 Position d'un solide dans l'espace. 5.1.2 Rappels : . . . . . . . . . . . . . . 5.1.3 Changements de repres : . . . . . 5.1.4 Notations homognes : . . . . . . . 5.1.5 Proprits des matrices de passages homognes : . . . . . . . . . . 5.2 Modlisation d'un centre d'usinage. . . . . 5.2.1 Modlisation d'une chane cinmatique ouverte. . . . . . . . . . . . . 5.2.2 Dnition des repres : . . . . . . . 5.2.3 Dnition des repres intermdiaires. 5.2.4 Mthodologie de dnition des repres : . . . . . . . . . . . . . . . 5.2.5 Exemple : Centre d'usinage 4 axes 5.2.6 Calcul des matrices de passage : . . 5.2.7 Exemple : . . . . . . . . . . . . . . 5.3 Coordonnes programmer : . . . . . . . 5.3.1 Exemple : . . . . . . . . . . . . . . 5.3.2 Remarques pour B . . . . . . . . . 5.4 Exemple 2 : centre d'usinage 5 axes W 402CN C . . . . . . . . . . . . . . . . . . 5.4.1 Coordonnes programmer. . . . . 5.5 Programmation . . . . . . . . . . . . . . . 5.5.1 Exemple avec le centre d'usinage 4 axes . . . . . . . . . . . . . . . . .

23 23 23 24 25

25 25 25 25 26 26 26 27 28 28 28 29 29 31 31 32
34 34

6 Anales juin 2005 1 Rglages

1.0.2 Dnition des repres . . . . . . . 34 1.0.3 Ecrire la relation qui lie les origines de ces repres. . . . . . . . . . . . 34 1.0.4 PREF et DEC . . . . . . . . . . . 34 3

A.1 Les fonctions G . . . . . . . . . . . . . . . A.1.1 G0 interpolation linaire vitesse rapide. . . . . . . . . . . . . . . . . A.1.2 G1 interpolation linaire. . . . . . A.1.3 G2 et G3 interpolation circulaire . A.1.4 G40 annulation de correction de rayon . . . . . . . . . . . . . . . . A.1.5 G41 correction de rayon gauche . A.1.6 G42 correction de rayon droite . A.1.7 G52 programmation par rapport au repre machine . . . . . . . . . A.1.8 G59 dcalage d'origine programm A.1.9 G64 (TOUR) cycle d'bauche paraxial . . . . . . . . . . . . . . . A.1.10 G65 (TOUR) cycle de gorge . . . . A.1.11 G77 appel d'un sous programme . A.1.12 G79 saut conditionnel ou inconditionnel . . . . . . . . . . . . . . . . A.1.13 G80 annulation de cycle d'usinage A.1.14 G81 Cycles de perage - centrage . A.1.15 G83 Cycle de perage dbourrage . A.1.16 G94 vitesse d'avance en mm par minute . . . . . . . . . . . . . . . . A.1.17 G95 vitesse d'avance exprime en mm par tour . . . . . . . . . . . . A.1.18 G96 vitesse de coupe constante . . A.1.19 G97 vitesse de broche exprime en tour par mn. . . . . . . . . . . . . A.2 Les fonctions M . . . . . . . . . . . . . . . A.2.1 M0 arrt programm . . . . . . . . A.2.2 M2 n de programme . . . . . . . A.2.3 M3 rotation de broche sens antitrigonomtrique . . . . . . . . . . . A.2.4 M4 rotation de broche sens trigonomtrique . . . . . . . . . . . A.2.5 M5 arrt broche . . . . . . . . . . A.2.6 M6 changement d'outil . . . . . . .

38

38

38 38 38 38 38 38 38 38 38 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39

A.2.7 M7 arrosage numro 2 . . . . A.2.8 M8 arrosage numro 1 . . . . A.2.9 M9 arrt arrosage . . . . . . A.2.10 M40 M45 gamme de broche A.3 Autres fonctions . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

39 39 39 39 39

A.3.1 EB chanfreins et congs A.3.2 T numro d'outil . . . . A.3.3 D correcteur d'outil . . A.4 L0 L19 variables programmes

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

39 39 39 39

1 Programmation
Bien que gnral dans son approche ce chapitre est fortement orient vers la programmation des commandes numriques NUM 760 et 1060 avec quelques lments pour les SIEMENS 840D. Le programme dcrit toutes les oprations que doit excuter la machine pour raliser des pices conformes au dessin de dnition. La programmation : c'est l'criture du programme en prvoyant tous les vnements possibles. Il est possible de distinguer deux objectifs : Minimiser le cot de la fabrication des pices. Produire le maximum de pice. En gnral il faut faire des compromis : en petite srie : rduire le temps de programmation par l'emploi de programmes types et en utilisant au mieux l'exprience acquise. en grande srie : optimiser toutes les oprations.
1.1 Documentation

wikipedia

http://fr.wikipedia.org/wiki/G-code et http://en.wikipedia.org/wiki/G-code http://fr.wikipedia.org/wiki/Commande_num%C3%A9rique http://fr.wikipedia.org/wiki/Programmation_de_commande_num%C3%A9rique site d'Alexandre TOUMINE http://gcppcinsa.insa-lyon.fr/~atoumine/ Des manuels de programmation http://sti.ac-montpellier.fr/rubrique.php3?id_rubrique=691 Manuels Siemens http://www.automation.siemens.com/doconweb/
1.2 Le contexte de la programmation

Il existe une norme dnissant la dsignation des mouvements des machines et une autre dnissant le langage de programmation. Ce language est appel ISO ou G-code. La norme est ancienne (1969), et le langage qu'elle dnit est inadapt une programmation propre et structure. Ceci explique la prolifration de langage dit de FAO (Fabrication Assist par Ordinateur). La norme ne dnit que des fonctions de base, mais ne propose pas de syntaxe pour ce qui est des commentaires, des structure de contrles (boucles, si alors sinon, sous-programme, . . . ), des structures de donnes. . . NUM a fait des extensions au langage propos, mais ceci conduit des choses bizarres comme par exemple G79 pour SI. En eet la chane de caractre SI s'interprte comme S 0 I 0. De mme IF s'interprte I 0 F 0. En consquence, lorsque l'on crit un programme il faut le prparer comme si on pouvait utiliser un langage performant et ensuite essayer de le traduire au mieux en langage machine. C'est du reste l'esprit dans lequel travaille la plupart des systme de Fabrication Assiste par Ordinateur. On peut aussi remarquer que la plupart des machines mesurer ont un langage qui ne s'appuie pas sur la norme. En eet les calculs que ncessite le contrle seraient trs diciles programmer dans un tel langage. Il en est de mme pour de nombreux types de machines : robots, machines de stro-lithographie. . .
1.3 Le Programme

Il doit tre lisible. De nombreux oprateurs dirents sont amens le lire : programmeurs rgleurs oprateurs oprateurs de maintenance ...
=
Commenter et structurer le programme.

Un programme vit : srie renouvelables. pices de mmes familles. ... Le prix de la mmoire et les temps de transferts ont fortement diminus. Il existe maintenant des diteurs puissants. En consquence, on ne cherchera pas compacter les programmes (notamment par l'utilisation de dcalages, miroirs, . . . ).
1.3.1 Structure d'un programme

Le programme ne dnit pas uniquement la trajectoire de l'outil. Il permet de commander l'automate pour raliser des fonctions auxiliaires telles que mise en route et arrt de la broche et de l'arrosage, changements d'outils ou de pices. . . Il dnit aussi les units, les modes de travail, les dirents repres. . . On peut noncer des rgles de base pour la structuration des programmes: le programme doit faire clairement apparatre la gamme de fabrication. le programme doit tre constitu de parties indpendantes. le programme et chaque partie du programme doivent tre clairement structures en : initialisation, partie principale et remise en conguration standard. La dernire rgle dcoule des progrs fait en programmation depuis l'apparition de la norme (1969). Les langages modernes (C, C++, pascal, ADA, langages dynamiques . . . ) proposent des solutions pour traiter un sous-programme indpendamment du reste du programme. Pour programmer en langage CN, nous avons intrts recrer articiellement ces mcanismes. On peut par exemple dnir une conguration standard de la machine. Chaque portion de programme dbute et se termine dans cette conguration.
Exemple de structure d'un programme :
%10 (EXEMPLE DE STRUCTURE D'UN PROGRAMME) (INITIALISATION GENERALE) (EBAUCHE) (DEMI-FINITION) (FINITION) (CONTROLE) (REMISE EN CONFIGURATION STANDARD) M2

L'bauche peut encore se dcomposer en : initialisation, usinage avec le premier outil d'bauche, usinage avec le deuxime outil d'bauche, . . . usinage avec le dernier outil d'bauche et remise en conguration standard. Chacune de ces parties peut encore tre structure de la mme manire.
1.4 Les repres

Dans une premire tape la programmation est essentiellement gomtrique : dcrire la trajectoire de l'outil par rapport la pice. On se place classiquement dans l'espace ane euclidien. Pour reprsenter la position relative de deux solides : 1. associer un repre chaque solide. 2. donner la position relative des deux repres : translation et rotation. Un repre ane est dni par : 1. un point origine O. 2. une base orthonorme de l'espace vectoriel associ. C'est dire 3 vecteurs ( , , k ). La translation entre deux repres R1 et R2 se dnit aisment par le vecteur O1 O2 . La rotation pose quelques problmes que nous aborderons plus loin. Il n'y pas de solution idale. Nous utiliserons la matrice de passage qui est fortement redondante, mais qui prsente l'avantage de simplier les calculs. La programmation est donc : la description de la trajectoire d'un repre li l'outil par rapport un repre li la pice. Nous voyons ici la trs grande importance des repres. Nous allons voir comment les choisir.

Le choix du repre outil est en gnral assez limit du fait de la gomtrie de l'outil. Par contre le choix du repre pice ou de programmation est libre. Le programmeur peut choisir de placer le repre de programmation o il veut. Il le placera donc l o a l'arrange. Il peut aussi en utiliser plusieurs car les langages de programmation permettent de changer le repre de programmation. ATTENTION : le choix du repre de programmation ne conditionne en rien l'orientation de la pice par rapport aux axes de la machine. On a intrt placer les cotes prcises parallles aux axes de la machine. Elles ne dpendront alors que d'un seul axe asservi.
XM XP
Repre Pice

1.4.1 Le repre de programmation

YP

OP
Repre Machine

Profil usiner

YM

OM

Figure 1: Repre de programmation. Sur la machine, le rglage permettra de dnir la relation de changement de repre entre le repre du porte pice et le repre pice ou de programmation. Sur les commandes numriques NUM cette fonction est assure par le DEC1, souvent appel simplement DEC. Dans le cas des SIEMENS 840D, ce sont les fonctions G54 G59 qui permettent de dnir le dcalage entre le repre porte pice et le repre pice. Il est dni par programmation.
1.4.2 description du dplacement de l'outil

Les types de trajectoires ralisables sont assez limits : segments de droites. portions de cercles situs dans des plans particuliers. portions d'hlices d'axes particuliers. courbes splines planes situes dans des plans particuliers. Comme le gnrateur de trajectoire calcule une consigne toutes les T secondes (T est le temps de cycle de base du gnrateur de trajectoire), la courbe n'est pas excute directement. On parle d'interpolation. Il existe une variante des courbes splines, elles pouvent tre dnies dans l'espace et sont utilises pour lisser un ensemble de points. 1. Interpolation linaire : L'interpolation linaire permet de faire excuter un segment de droite la machine. La dure minimale d'excution d'un mouvement est gale au temps de cycle T. L'interpolation linaire peut servir pour excuter une approximation d'une courbe quelconque. L'interpolation linaire peut aussi inclure des mouvements sur des axes de rotation de la machine (plateau tournant). 2. Interpolation circulaire et hlicodale : L'interpolation circulaire n'est possible qu'entre deux axes de translation de la machine pour raliser des cercles dans le plan dni par ces deux axes. Elle permet de raliser des hlices en associant le troisime axe. Il existe un rayon minimum ralisable, il est fonction de la vitesse. 3. La ralisation de dplacement le long de courbes splines se fait aussi dans un plan particulier. La ralisation d'un dplacement se droule en trois phases: acclration, dplacement la vitesse constante programme, dclration. Dans le cas de dplacements enchans, la machine ne s'arrte pas entre chaque mouvement. Elle fait un lissage an de parcourir la trajectoire vitesse constante.

An de simplier les interventions en cas d'incident, la programmation de chaque paramtre doit tre indpendante. C'est pourquoi on programme la trajectoire de l'outil de manire indpendante de la position relative entre l'outil et le chariot porte-outil. Les dirents paramtres qui caractrisent la position de l'outil par rapport au chariot sont : En tournage rayon, longueur en X et Z et position de l'arte de coupe par rapport au centre du cercle. En fraisage longueur, rayon et rayon en bout de fraise.

1.4.3 Programmation de l'outil

C3

C2

C1

C4

C0

C8

Lx Lz
C5 C6 C7

C1

Figure 2: Les correcteurs


1.5 Principe de programmation des dplacements

La reprsentation d'un dplacement semble extrmement simple et pourtant elle est la source de nombreux problmes de dialogues entre oprateurs. L'emploie de la dmarche rigoureuse prsente dans ce paragraphe permet d'viter ces problmes.
1.5.1 Axe de machine-outil

Le capteur de position d'un axe de machine-outil dnit une position particulire que l'on peut nommer zro machine. Dans cette position relative du chariot mobile par rapport aux glissires le compteur ache zro. Remarquons que cette position peut tre impossible atteindre sur certaines machines. Cette position est dnie par le constructeur qui la place trs souvent au niveau d'une position particulire (position de changement d'outil, de palette, . . . ). Elle est dirente de la position de Prise d'Origine Machine (POM). La POM est le moyen qui permet d'initialiser le compteur de l'axe, c'est dire le zro machine, pour les capteurs non absolus.
1.5.2 Cause des dicults

Le compteur fournit le dplacement du chariot par rapport la position initiale du chariot (zro machine). Or, un oprateur est intress par la position relative du chariot par rapport la glissire. Cette position relative caractrise la distance entre un point du chariot et un point de la glissire. Ces deux points sont confondus lorsque le chariot se trouve l'origine machine. La dicult provient du fait qu'il n'y a pas unicit pour choisir ce couple de points. Si l'oprateur ne prcise pas le choix eectu, son interlocuteur peut faire un choix dirent. On peut remarquer que ce problme ne se pose pas lorsque l'on considre des mouvements de rotations car le dplacement de chaque point d'un solide est alors dirent. Pour caractriser ce type de mouvements on utilise des repres. L'utilisation systmatique de repres, mme pour traiter les translation, permet de spcier clairement ce dont on parle. Un avantage indirect du terme repre est d'inciter l'oprateur dnir clairement le repre comme on le fait naturellement pour un problme de mcanique spatiale. Pour se convaincre de l'utilit de dnir un repre on peut encore tracer un repre sur le sol et demander un groupe de personne d'amener un vhicule sur le repre. Si l'on ne prcise pas le repre du vhicule il y a peu de chance que la position soit reproductible d'une personne l'autre.
1.5.3 Mthodes de choix des repres

Nous devons associer un repre au chariot et un la glissire. Ces deux repres tant confondus lorsque le chariot est l'origine machine. Cette proprit permet de dnir clairement le deuxime repre partir du premier : il lui est confondus lorsque le compteur est zro. 7

La dnition du premier repre utilise les surfaces remarquables de la machine. Considrons par exemple un centre d'usinage. Le repre broche peut tre choisi tel que son origine soit l'intersection du plan de jauge du cne de broche et de l'axe de la broche, sa direction Z soit celle de son axe orient vers la broche et son axe X soit parallle au dplacement de l'axe X . Le repre machine est alors le repre li au chariot porte pice de la machine qui est confondu avec le repre broche lorsque tous les axes de la machine sont au zro (obtenu par G0 G52 X0 Y0 Z0 B0 . . . ).
1.6 Programmation des dplacements.

On dnit deux repres. Le repre de programmation li la pice et le repre outil li l'outil. La programmation du dplacement de l'outil est la description du dplacement du repre outil par rapport au repre pice. Le dplacement comporte deux aspects : l'aspect gomtrique (trajectoire) et l'aspect cinmatique (loi d'volution sur la trajectoire). La surface usine est obtenue par l'enveloppe de la trajectoire de l'arte ou des artes de coupes de l'outil dans le mouvement relatif de l'outil par rapport la pice.
1.6.1 La gomtrie.

La programmation d'un lment de trajectoire se fait dans un contexte initial (position initiale relative de l'outil par rapport la pice, tat du systme de commande) en donnant le type de trajectoire et le point d'arrive. Exemples : G1 X10 Y20 Aller du point initial au point de coordonnes X10 Y20 sur une trajectoire rectiligne. G3 X10 Y20 R50 Aller du point initial au point de coordonnes X10 Y20 sur une trajectoire circulaire de rayon 50. Parcourir cette trajectoire dans le sens trigonomtrique en choisissant la solution la plus courte. Chaque ligne (ou bloc) de programme dnit un dplacement lmentaire.
1.6.2 Usinage d'un rectangle.

Soit usiner le rectangle ABCD de la gure 3 avec une fraise de diamtre 10. Nous supposons qu'au dpart le repre outil, plac au centre de la fraise, et le repre de programmation sont confondus.
Yp

Ro Rp Op Xp

Figure 3: Usinage d'un rectangle Un programme peut s'crire :


G0 X 0 Y 0 G1 X 15 Y 15 F100 X 65 Y 45 X 15 Y 15 G0 X 0 Y 0

Remarques : Les units sont soit les units initialises par le systme, soit les units dnies avant dans le programme. F 100 dnit une vitesse de 100 mm/mn. Nous voyons que cette trajectoire ne peut pas tre parcourue vitesse constante (ncessit d'acclrations innies). Par dfaut le systme excute un cong de raccordement des deux segments de rayon minimum compatible avec la vitesse programme. Une autre possibilit est de s'arrter aprs chaque segment. Ceci est obtenu par la fonction G9 (arrt prcis en n de bloc) programme dans chaque ligne.

2 Rglage d'une machine-outil


Le rglage des Machines Outils Commande Numrique, bien qu'en apparence trs simple pose des dicults de nombreux tudiants et oprateurs. Une dmarche rigoureuse devrait conduire une meilleure comprhension des problmes et donc un rglage ais. L'approche propose, inspire de la robotique, propose une mise en oeuvre en deux tapes: la premire est une tape de programmation qui consiste dcrire la trajectoire d'un outil par rapport une pice et la deuxime est une tape de rglage de la machine qui consiste essentiellement positionner la pice et l'outil sur une machine. La premire tape, pour laquelle il existe de nombreux logiciels, est largement matrise l'heure actuelle. Nous prsentons ici une approche systmatique du rglage destine aussi bien au rglage simple d'un tour deux axes qu'au rglage automatis d'un centre d'usinage cinq axes l'aide d'un palpeur lectronique.
2.1 Lien entre programmation et rglage

La programmation qui constitue la premire tape est indpendante de la machine alors que la deuxime consiste prcisment rgler la machine. Indpendant est pris ici au sens indpendance du modle gomtrique car il est bien vident qu'un programme dpend de la machine utilis (puissances, couples, prcision ...). D'autre part nous dnissons la programmation comme la description de la trajectoire d'un repre caractristique de l'outil. Certaines fonctions de correction incluses dans le langage de la machine ou dans les systmes de programmation assiste par ordinateur et certains outillages utilisent des grandeurs qu'il est ncessaire de rgler (correction de rayon, cotes outils ...). Par manque de place et de temps nous n'aborderons pas leur rglage ici.
2.2 La programmation

Pour eectuer la programmation, le programmeur dnie un repre pice RP encore appel repre de programmation. Ensuite, l'aide d'un langage o d'un systme interactif il dcrit la trajectoire de l'outil dans ce repre. Plus exactement, il dcrit la trajectoire du repre1 outil RO dans le repre pice RP . An que la machine fasse dcrire cette trajectoire l'outil nous devons maintenant positionner la pice et l'outil sur la machine.
Xao Outil Pice Xpp Xp Oo Xp Xo Zo Tourelle Zao Oao Xt Ot Zt Xm Om Zm

Xt Ot Zt

Xpp

Xp

Xo Oo Xp Zo

Opp Zpp Op

Opp Zpp Op

Les repres lis au tour.

Repres en position d'usinage.

Figure 4: Les repres dans le cas du tour.


2.3 Les outils

Le positionnement d'un outil sur une machine se fait grce des surfaces d'appui. Sur l'outil, ces surfaces permettent de dnir un repre d'appui RAO . Par exemple, pour une fraise monte sur un cne, le repre RAO est dni par l'axe du cne et son plan de jauge. Sur la machine, ces surfaces d'appui permettent de dnir un repre broche RB pour un centre d'usinage ou un repre tourelle RT pour un tour.
2.4 La pice

Le deuxime repre que nous associons la pice est le repre d'appui de la pice RAP , il est entirement dni par les surfaces assurant le positionnement isostatique de la pice. Sur le montage d'usinage nous dnissons un repre porte pice RP P entirement dni par les surfaces assurant le positionnement isostatique de la pice.
1 pour
prendre en compte plusieurs outils on peut remplacer, pour l'outil

i, RO

par

R Oi .

2.5

La machine

Considrons une machine correctement rgle et programmons X0Y0Z0 (A0B0C0 U0V0W0 ...). Le repre outil RO vient se confondre avec le repre de programmation RP . Sur les machines il existe un deuxime type de coordonnes dites machines. Supposons que nous programmions G52 X0 Y0 Z0 la machine se positionne dans une position particulire. Dsignons par repre machine RM le repre xe par rapport la pice et confondu, pour cette position particulire, avec le repre broche RB (ou RT pour un tour).
2.6 Au pied de la machine

La cinmatique des machines tant dirente d'une machine l'autre, et notamment la position du bti qui est xe par rapport l'oprateur, il est prfrable de toujours raisonner par rapport la pice. Il est alors ais d'imaginer un repre li la pice et de considrer les mouvements de l'outil par rapport ce repre. On se retrouve dans la mme conguration que lors de la programmation. Si on raisonne dans un repre mobile par rapport la pice, un repre li au bti par exemple, il est trs dicile de prvoir les mouvements de la machine. Le repre machine RM que nous venons de dnir est xe par rapport la pice et permet aussi de travailler sur une machine sans se soucier de sa cinmatique. Ce repre est moins pratique car il n'est pas associ des surfaces et est gnralement positionn dans le vide.
2.7 Relation de Chasles

Les paragraphes prcdents nous ont permis de mettre en place les repres suivants : RM RP P RAP RP RO RAO RB ou RT Dans le cas o la machine est exclusivement constitue d'axes de translation il est possible de reprsenter cette boucle gomtrique par une quation faisant intervenir les vecteurs associs aux bipoints constitus des origines des repres. Considrons un tour:
OM OT OM OT = OM OP P + OP P OAP + OAP OP + OP OO + OO OAO + OAO OT

Les coordonnes de ce vecteur sont aches par la machine dans le mode d'achage origine machine (page OM sur les machines NUM). OM OP P Ce vecteur positionne le repre d'appui de la pice par rapport la machine. Il peut tre associ au dcalage PREF sur les NUM. OP P OAP Ce vecteur est nul sauf si l'on souhaite tudier les dispersions de positionnement de la pice. OAP OP Ce vecteur correspond au positionnement du repre de programmation de la pice par rapport son repre d'appui. Il est dni par le programmeur et peut tre associ au dcalage DEC1 sur les NUM. OP OO Ce vecteur caractrise la position de l'outil par rapport la pice. Par dfaut, les coordonnes de ce vecteur sont aches par la machine (page 0P sur NUM). OO OAO Ce vecteur dnit la position des artes coupantes par rapport aux surfaces d'appui de l'outil. La mthode la plus simple pour dterminer ses composantes est de mesurer l'outil sur un banc de prrglage. Remarquer que ce vecteur est orient des artes de coupes vers les surfaces d'appui. Ceci permet, tant donn la norme de dsignation des axes d'une machine outil, d'avoir des coordonnes positives pour la plupart des outils. OAO OT Ce vecteur est nul sauf si l'on souhaite tudier les dispersions de positionnement de l'outil. L'quation prcdente se simplie donc en :
OM OT = OM OP P + OP P OP + OP OO + OO OT

Cas des rotations : On peut retrouver une expression similaire l'aide des matrices de passages homognes:
TRM RT
2.8

= TRM RP P TRP P RAP TRAP RP TRP RO TRO RAO TRAO RT

Dplacement relatif

Contrairement ce que l'on pourrait supposer, l'information fournie par un capteur de dplacement n'est associe aucun repre ou origine. Le capteur donne des positions par rapport une position particulire: le zro de l'axe. Cette position, si elle est accessible, peut tre obtenue en programmant G52 X0 si l'on considre l'axe X . Tout point de l'espace li au chariot est confondu, dans cette position, avec un point xe li au support. Tous ces couples de points permettent de dnir un modle du capteur en associant la valeur du capteur la distance algbrique entre ces deux points. 10

Tant que l'on considre uniquement des translations le choix de l'origine a peu d'incidence. Par contre les rotations imposent l'utilisation de repre parfaitement dni. D'autre part un repre doit tre dni par des surfaces physiques. Nous considrons donc le modle de l'axe suivant: soit un repre li au support xe dont l'un des axes correspond la direction de l'axe, le repre li au mobile est dni par: il est confondu avec le premier pour la position zro. La position obtenue par G52 X0 correspondant gnralament une position caractristique (n de course, position de changement d'outil ...) est dnie par le constructeur de la machine l'aide d'une constante par rapport l'origine du capteur aussi appele origine mesure. Donc l'origine mesure ne sert rien pour utiliser la machine.
2.9 Rglage

Le rglage d'une machine correspond l'identication des constantes de l'quation modlisant la machine. Cette identication se fait l'aide de mesures. Ces mesures peuvent tre directe (mesure d'une longueur d'outil l'aide d'un banc de prrglage) ou indirecte (mesure de la pice aprs usinage). Dans tout les cas il faut crire les quations, dterminer les inconnus, puis eectuer au moins autant de mesures qu'il y a d'inconnus. Normalement il faut rpter plusieurs fois chaque mesure an de limiter l'inuence des erreurs alatoires. Un processus de rglage peut ncessiter plusieurs tapes : par exemple mesure de la longueur d'un outil avec un rglet, usinage d'une prouvette, mesure de l'prouvette pour aner la mesure de l'outil.
2.9.1 Paradoxe

Une machine mal rgle peut produire des pices conformes. L'erreur de rglage n'tant rvl que beaucoup plus tard l'occasion d'un changement de srie par exemple. Considrons le rglage d'un tour avec le modle de l'quation 2.7, seul le vecteur OM OT est important et ralise la cote. Les autres vecteurs n'ont de ralit que par rapport au processus de rglage et de programmation choisi. Sans remettre en cause la cote programme ( OP OO ) il est vident que les trois vecteurs OM OP P , OP P OOP et OO OT ne sont lis que par une quation si l'on ne considre que le problme d'obtention de la cote. Nous pouvons donc en xer deux arbitrairement et calculer le troisime pour obtenir un rglage capable de produire des pices conformes. Il faut donc obtenir d'autres quations pour eectuer le rglage. Ces quations sont fournis par le processus de rglage.
2.9.2 Banc de prrglage d'outil

Si l'on utilise un banc de prrglage d'outil, la longueur d'outil est fournie par le banc de prrglage avec son incertitude de mesure. D'autre part, nous considrons que le dcalage OP P OP est une valeur thorique exacte dnie par le programmeur.
2.9.3 Position du repre porte pice

du montage. Cette mesure est facilite par l'emploi d'un palpeur lectrique mais peut tre ralis l'aide d'un simple cylindre mont la place d'un outil et d'une cale.
2.9.4 Anage du rglage

RP P ou PREF La mesure de OM OP P s'obtient aisment en venant palper avec un outil pralablement mesur les surfaces d'appuis

Que ce soit pour compenser l'usure des outils ou pour amliorer la qualit de la production il est intressant voire indispensable d'aner le rglage initial l'aide de mesure sur les pices usines. La mesure d'une cote sur une pice entraine la mise en place d'une quation correspondant la relation de Chasles modlisant le processus d'obtention. Certains des lments intervenant dans ces quations peuvent tre considrs comme des inconnues du problme d'anage du rglage. La rsolution du systme d'quation conduit un nouveau rglage. Malheureusement, le plus souvent le modle purement gomtrique introduit ici est insusant et conduit des systmes d'quations n'admettant pas de solution. Si une rsolution approximative (mthode des moindres carrs ou autre) n'est pas acceptable, il est alors ncessaire d'introduire de nouveaux modles : usure, dformations, statistiques ...

3 Les principales fonctions


3.1 Les fonctions G

3.1.1 G0 interpolation linaire vitesse rapide.

La fonction G0 est modale. Elle est rvoque par les fonctions G1, G2 et G3. 11

Principe : Interpolation linaire entre tous les axes programms. L'un des axes se dplace la vitesse maximum, les autres la vitesse qui permet l'interpolation linaire.
3.1.2 G1 interpolation linaire vitesse d'avance programme.

La fonction G1 est modale et initialise la mise sous tension. Elle est rvoque par les fonctions G0, G2 et G3. Principe : Interpolation linaire entre tous les axes programms (possibilit d'axes rotatifs). Pour la vitesse, plusieurs cas de gure : Pas de dplacement d'axe rotatif. Dplacement linaire la vitesse programme. Dplacement d'axes rotatifs et d'axes linaires. Dplacement des axes linaires la vitesse programme. La vitesse des axes rotatifs est telle que le temps de dplacement soit le mme que celui des axes linaires. Un axe rotatif. Dplacement de l'axe la vitesse exprime en degr par minutes. Plusieurs axes rotatifs. La racine carre de la somme des carrs des vitesses est gale la vitesse programme.
3.1.3 G2 interpolation circulaire sens ngatif.

La fonction G2 est modale. Elle est rvoque par les fonctions G0, G1 et G3. Interpolation circulaire en sens anti-trigonomtrique dans un plan particulier. Syntaxe : G2 X xx Y xx I xx J xx R xx Z xx X Y ( si G17) : coordonnes du point atteindre. I J ( si G17) : coordonnes du centre du cercle. R : rayon du cercle. Z (si G17) : dplacement sur l'axe de l'hlice. En tournage la syntaxe est : G2 X xx Z xx I xx K xx R xx Si le centre du cercle n'est pas programm, le systme choisit le cercle qui dnit la trajectoire d'angle infrieur 180. Si la distance entre point de dpart et d'arrive est suprieure deux fois le rayon : erreur. Si l'erreur de rayon entre le point de dpart et d'arrive est suprieur 20m : erreur. En interpolation hlicodale, un paramtre supplmentaire K (si G17, J si G18 et I si G19) permet de donner le pas de l'hlice. C'est dire le nombre de tours. Ce pas est approximatif, le pas excut sera le plus proche possible compte tenu des points de dpart et d'arrive.
3.1.4 G3 interpolation circulaire sens positif. Interpolation circulaire sens trigonomtrique. Idem G2. 3.1.5 G4 temporisation

Syntaxe : G4 F xx Temporisation : arrt de 0.01 99.99 secondes. La fonction G4 est non modale.
3.1.6 G6 Ordre d'excution d'une courbe spline

Voir manuel de programmation NUM.

3.1.7 G9 arrt prcis en n de bloc.

Au lieu d'enchaner les blocs vitesse constante (comportement par dfaut) il y a arrt prcis en n de bloc avant enchanement du bloc suivant. la fonction G9 est non modale.
3.1.8 G10 bloc interruptible

Le dplacement programm peut tre interrompu avant le point d'arriv soit par une interruption matrielle (par exemple contact d'un capteur de mesure de type machine mesurer) ou par une condition programme. Possibilit de drouter le programme par branchement un numro de bloc. la fonction G10 est non modale.

12

3.1.9 G16 Orientation de l'axe de l'outil

Cette fonction permet de dnir l'orientation de l'outil pour les cycles, les corrections de rayons. . . L'axe de l'outil est orient de la pointe vers la broche. Syntaxe: G16 R+ : orientation de l'outil suivant l'axe Z+. G16 R- : orientation de l'outil suivant l'axe Z-. G16 P+ : orientation de l'outil suivant l'axe X+. G16 P- : orientation de l'outil suivant l'axe X-. G16 Q+ : orientation de l'outil suivant l'axe Y+. G16 Q- : orientation de l'outil suivant l'axe Y-. Fonction modale initialise R+ la mise sous tension. Ne pas programmer G16 en correction de rayon ou cycle de perage. . .
3.1.10 G17 choix du plan XY

Choix du plan d'interpolation circulaire et de correction de rayon. G17 : plan XY. G18 : plan ZX. G19 : plan YZ. Fonctions modales, systme initialis G17. Ne pas modier le plan en correction de rayon (G41 ou G42).
3.1.11 G18 choix du plan ZX

Voir G17. Voir G17.

3.1.12 G19 choix du plan YZ 3.1.13 G29 correction de rayon spatiale

Voir manuel de programmation NUM. Fonction modale rvoque par G40 (ou G41, G42 viter).
3.1.14 G31 (CU) Cycle de letage au grain

Pour excution de letages avec un grain. Voir manuel de programmation NUM. Fonction modale rvoque par G80.
3.1.15 G33 (TOUR) cycle de letage

Syntaxe: G33 X xx Z xx K xx EA xx EB xx R xx P xx Q xx F xx S xx X coordonne en X du point nal de letage. Z coordonne en Z du point nal de letage. K pas du let sur axe majoritaire. EA angle du cne avec OZ (0 par dfaut). EB angle de pntration (0 par dfaut). R longueur du cne de sortie sur axe majoritaire (0 par dfaut). P profondeur totale du let. Q profondeur de la dernire passe. F nombre de lets (1 par dfaut). S nombre de passes (1 par dfaut). Le point de dpart du letage est dni dans le bloc prcdent l'appel du cycle. Fonction non modale. 13

3.1.16 G40 annulation de correction de rayon

Correspond la programmation de la trajectoire : du centre de l'outil en fraisage. de la pointe de l'outil en tournage. Fonction modale rvoque par G41, G42 et G29. Elle est initialis la mise sous tension.
3.1.17 G41 correction de rayon gauche du prol

La trajectoire de l'outil est dcale de la valeur du rayon de l'outil gauche du prol programm. Voir la programmation du rayon d'outil. La fonction G41 est modale, elle est rvoque par G40 et G42. Particularits: les premier et dernier blocs programms sont obligatoirement en interpolation linaire. Ces deux blocs ne sont pas raliss en correction de rayons, mais permettent d'eectuer le dcalage. Si deux portions de trajectoires dcales ne s'intersectent pas, le systme gnre un cercle de raccordement. Si le prol est un prol intrieur le systme ne dtecte pas les changements topologiques de la trajectoire. Ceci peut occasionner des enlvements de matires indsirables ! . Ne pas programmer de changement de plan (G17, 18 et 19), d'arrt M0 ou M1 ni de G52 en correction de rayon.
3.1.18 G42 correction de rayon droite du prol

Idem G41, mais correction droite du prol.


3.1.19 G45 cycle de poches simple

Voir manuel de programmation NUM. Voir manuel de programmation NUM. Voir manuel de programmation NUM.
3.1.22 G51 fonction miroir

3.1.20 G48 Dnition d'une courbe spline 3.1.21 G49 suppression d'une courbe spline

Je recommande de ne pas utiliser cette fonction. Voir premire partie.


3.1.23 G52 programmation par rapport au repre machine

Le point d'arriv dnit la position du repre de broche par rapport au repre machine. Le systme ignore : les jauges d'outils, les PREF, DECs (DEC1, DEC3, G59 (programm), ED (angulaire)) et le facteur d'chelle G74). Cette fonction est trs pratique pour atteindre des positions particulires : dgagement maximum, point particulier de changement d'outil ou de palettisation. G52 doit tre programm en dbut de bloc. G52 n'est pas une fonction modale. Doit tre programm dans l'tat G40 G90.
3.1.24 G53 invalidation des dcalages PREF ET DEC1

Fonction modale rvoque par G54.

3.1.25 G54 validation des dcalages PREF ET DEC1

Fonction modale initialise la mise sous tension, rvoque par G53.

14

Permet de dnir des repres de programmation. Elle dnit un dcalage par rapport au repre pice. Fonction non modale. Attention en G91 (programmation relative) l'annulation du dcalage est dlicate. Syntaxe: G59 Xxx Yxx Zxx (plus U V W A B C). Les valeurs programmes dnissent le dcalage. Cette fonction n'entrane pas de dplacement. Peut tre combin avec un dcalage angulaire : voir manuel de programmation NUM.
3.1.27 G64 (TOUR) cycle d'bauche paraxial

3.1.26 G59 dcalage d'origine programm

Permet l'bauche d'une pice suivant l'axe X ou Z partir d'un prol ni et d'un prol brut en conservant une surpaisseur pour la nition. Syntaxe : G64 Nn Nm I xx K xx P xx R X xx Z xx X xx Z xx G80 Nn Nm n et m reprsentent les numros des blocs limitant le prol ni baucher. Il est possible de rappeler le prol en ordre inverse. I et K surpaisseur respectivement dans la direction X et Z. Ces valeurs sont signes. P ou R profondeur de passe. P radiale et R axiale. On ne peut en programmer qu'un dans un cycle. Les blocs se trouvant entre le G64 et le G80 dnissent le prol brut. Fonction modale particulire se terminant par G80.
3.1.28 G65 (TOUR) cycle de gorge

Complment au cycle d'bauche pour baucher des gorges. Z Syntaxe : G65 Nn Nm EA xx P xx X xx I xx K xx R


Nn Nm n et m reprsentent les numros des blocs limitant le prol ni baucher. Il est possible de rappeler le

prol en ordre inverse. EA angle de la droite de pntration par rapport OZ. Z ou X limite de la zone baucher. On ne peut en programmer qu'un dans un cycle. Z est programmer avec P. I et K surpaisseur respectivement dans la direction X et Z. Ces valeurs sont signes. P ou R profondeur de passe. P radiale et R axiale. On ne peut en programmer qu'un dans un cycle. P est programmer avec Z. Fonction non modale.
3.1.29 G70 programmation en pouce

Utilisation de l'unit pouce pour la programmation. Les correcteurs d'outils restent en millimtres. Attention pour les modications de longueur d'outils programmes. Fonction modale rvoque par G71.
3.1.30 G71 programmation dans le systme mtrique

programmation dans le systme mtrique. Fonction modale initialise la mise sous tension, rvoque par G71.
3.1.31 G73 invalidation du facteur d'chelle

Fonction modale initialis la mise sous tension, rvoque par G74. Voir G74.
3.1.32 G74 validation du facteur d'chelle

Dnition d'une homothtie de centre l'origine programme. Le rapport d'homothtie est programmable par l'adresse E69000. Fonction modale rvoque par G73. 15

3.1.33 G75 dclaration d'un sous-programme de dgagement d'urgence

Syntaxe : G75 Nxx. Sur demande de l'automate le calculateur droute le programme au bloc programm. Fonction modale rvoque par G75 Nxx ou G75 N0 qui correspond pas de programme de dgagement.
3.1.34 G76 transfert de valeurs

Transfert des valeurs courantes des paramtres L et E dans un programme ou une partie de programme. Voir manuel de programmation NUM.
3.1.35 G77 appel d'un sous programme

Syntaxe : G77 Hxx Nxx Nxx Sxx. H dnit le numro du programme pice. S'il est omis le systme considre le programme courant. Les numros de lignes N dnissent le premier et le dernier bloc de la zone appele. S est le nombre de fois que cette portion de programme doit tre excute (par dfaut 1, maximum 100). Le systme rordonne les adresses N si la premire est plus grande. Les appels de sous programmes peuvent tres imbriqus.
3.1.36 G78 synchronisation des groupes d'axes

Voir manuel de programmation NUM.

3.1.37 G79 saut conditionnel ou inconditionnel

Syntaxe : G79 TEST Nxxx Si TEST est omis saut inconditionnel au bloc Nxx. TEST est le test (<, >, =, <=, >=, <>) entre deux variables (L ou E) ou nombres.
3.1.38 G80 annulation de cycle d'usinage 3.1.39 G81-89 Cycles de perage

Fonction de rvocation des fonctions G31, G64 et G81 G89. L'excution du cycle se fait suivant l'un des axes X, Y ou Z (ou U, V ou W axes secondaires) dni par les fonctions G17, G18 ou G19. Par exemple si G17 (plan XY) est slectionn le perage se fait suivant l'axe Z. Le positionnement sur un trou peut utiliser les autres axes : X, Y, A, B, C. Les fonctions G81 G89 et G31 sont modales, rvoques par G80. Chaque bloc dnit une position ou doit tre excut un cycle. Cycle type Descente Remonte Particularits G81 perage centrage travail rapide G81 plus temporisation (EFxx) G82 perage chambrage travail rapide en n de descente rapide n pntrations successives (P Q) puis temporisation possible (EFxx) G83 perage dbourrage rapide travail en n de trou inversion du sens de rotation G84 taraudage travail travail broche en n de trou et de remonte G85 alsage travail travail Arrt index en n de trou, dgagement de 2 mm dans direction alsage d'indexage avant remonte. G86 travail rapide arrt broche index L'outil revient dans l'axe en n de remonte perage n pntrations successives (P Q) G87 travail rapide brise-copeaux spares par temporisation(EFxx) alsage et en n de pntration attente G88 travail Rapide dressage de face validation oprateur alsage arrt G85 plus temporisation (EFxx) G89 travail travail en n de trou en n de descente

16

Syntaxe
G8n X xx Y xx Z xx ER xx EF xx P xx Q xx X xx X xx Y xx ER xx X xx ER xx X xx G80

Tous ces paramtres ne sont pas disponibles pour tous ces cycles. La dnition des paramtres suppose que G17 (plan XY) est initialis. Pour les autres plans : permuter. X et Y reprsentent la position dans le plan des trous raliser. Z cote de fond de trou. Ne peut tre modie dans le cycle. ER cote du plan de remont pour dgagement. Peut tre programme seule pour atteindre un plan avant dplacement au trou suivant. EF temporisation (voir cycles G82, G87 et G89). P profondeur de chaque passe. Q profondeur de la dernire passe.
3.1.40 G90 programmation absolue

Programmation absolue par rapport l'origine programme. Fonction modale initialise la mise sous tension, rvoque par G91.
3.1.41 G91 programmation relative

Programmation relative : la valeur programme est le dplacement eectuer par le bloc. Ce mode de dplacement pose quelques problmes en mode manuel et avec la Programmation gomtrique de Prol. Il est possible de combiner les deux modes dans un mme bloc (G90 Xxx G91 Yxx : X en absolu et Y en relatif).
3.1.42 G92 prslection de l'origine programme

Permet de recalculer le PREF selon la formule :

P REF = P REF + P ointCourant valeurduG92

Fonction non modale. Attention l'eet de bord : le PREF est modi par le programme.
3.1.43 G92 R (CU) programmation de l'avance tangentielle

En correction de rayon (G41 G42), cette fonction permet de programmer la vitesse d'avance du point de tangence entre l'outil et le prol. Syntaxe : G92 Rxx Rxx dnit le rayon minimum du prol en dessous duquel l'avance tangentielle n'est pas traite. Elle n'est jamais traite pour le parcours des cercles de raccordement gnrs par le systme.
3.1.44 G92 S (TOUR) Limitation de la vitesse de broche

Permet de limiter la vitesse de rotation de la broche en vitesse de coupe constante. Trs utile pour les pices comportant un balourd. Syntaxe : G92 Sxx. Sxx dnit la vitesse limite ne pas dpasser.
3.1.45 G93 vitesse d'avance exprime en inverse du temps

Si l'on considre un dplacement faisant intervenir des axes rotatifs, sans considrer un point prcis il n'est pas possible de dnir de vitesse. On souhaite dans ce cas donner le temps du dplacement en mn. Il est plus commode de le donner par son inverse. Par exemple pour un dplacement en 6 secondes on programmera G93 F10. Fonction modale rvoque par G94 et G95. Attention incompatible avec interpolation circulaire G2 et G3.

17

Programmation de la vitesse d'avance en mm (ou pouce) par minute. Plusieurs cas sont envisager : Pas de dplacement d'axe rotatif. Dplacement des axes linaires la vitesse programme. Dplacement d'axes rotatifs et d'axes linaires. Dplacement des axes linaires la vitesse programme. La vitesse des axes rotatifs est telle que le temps de dplacement soit le mme que celui des axes linaires. Un axe rotatif. Dplacement de l'axe la vitesse exprime en degr par minutes. Plusieurs axes rotatifs. La racine carre de la somme des carrs des vitesses est gale la vitesse programme. Fonction modale rvoque par G93 et G95. Le systme est initialis G94 F1000.
3.1.47 G95 vitesse d'avance exprime en mm par tour

3.1.46 G94 vitesse d'avance en mm par minute

Vitesse d'avance exprime en mm par tour de broche. Fonction modale rvoque par G93 et G95.
3.1.48 G96 vitesse de coupe constante

Vitesse de broche exprime en mtre par minute. Attention : aprs un changement de correcteur d'outil, il est ncessaire de programmer un dplacement sur X avant de dnir une vitesse de coupe constante par G96. Dans le cas contraire le systme ne connat pas le rayon. Il est possible de programmer G96 Sxxx Xxx. Dans ce cas on initialise la vitesse de coupe constante pour la valeur donne du rayon. La vitesse est calcule partir du dplacement relatif. Ceci est utiliser avec prcaution. Cette fonctionnalit est utile en perage. Par exemple pour percer avec avec un fort de diamtre 25 80m/mn on pourra programmer : G96 S80 X25. Fonction modale rvoque par G97.
3.1.49 G97 vitesse de broche exprime en tour par mn.

Pour un outil de diamtre D millimtres tournant la vitesse de N tours par minute, la vitesse de coupe Vc en mtres par minute est :
Vc =

Pour obtenir une vitesse de coupe de Vc mtres par minute avec un outil de diamtre D millimtres il faut programmer une frquence de rotation de N tours par minutes.
N= 1000 Vc D

DN 1000

Fonction modale rvoque par G96, initialise la mise sous tension.


3.2 Les fonctions M

Nous prsentons ici les fonctions auxiliaires M. On peut les classer selon 3 critres : les fonctions modales ou non, les fonctions avant par opposition aux fonctions aprs et les fonctions codes ou dcodes. Les fonctions modales sont des fonctions qui dnissent un mode de fonctionnement pouvant tre rvoque par les autres fonctions d'un mme groupe. Une des fonctions du groupe est initialise la mise sous tension. Les fonctions non modales ne sont valides que dans le bloc o elles sont programmes. Les fonctions avant sont excutes avant les dplacements du bloc. Les fonctions aprs sont excutes aprs les dplacements. Les fonctions dcodes sont des fonctions pour lesquelles il existe une adresse physique pour un bit de dialogue entre la CN et l'automate. Plusieurs fonctions de ce types peuvent tres programmes dans un bloc. Les fonctions codes sont des fonctions qui utilisent deux mots pour le dialogue entre la CN et l'automate. Le numro de la fonction est cod dans ce mot. On ne peut programmer qu'une fonction code modale et une fonction code non modale dans un bloc.
3.2.1 M0 arrt programm

Fonction non modale, aprs, dcode. La fonction provoque un arrt dans le droulement d'un programme. L'oprateur doit relancer l'excution par une action sur le bouton dpart cycle. M0 arrte la broche qui doit tre remise en route aprs l'arrt si ncessaire par M3 ou M4. M0 est incompatible avec la correction de rayon G41 ou G42. 18

Fonction non modale, aprs, dcode. La fonction provoque un arrt dans le droulement d'un programme si la fonction est valide sur le clavier oprateur. L'oprateur doit relancer l'excution par une action sur le bouton dpart cycle. M1 arrte la broche qui doit tre remise en route aprs l'arrt si ncessaire par M3 ou M4. M1 est incompatible avec la correction de rayon G41 ou G42. N'tant pas des oprateurs spcialistes il sera pour nous plus simple d'utiliser un test sur une variable positionne en dbut de programme.
3.2.3 M2 n de programme

3.2.2 M1 arrt programm optionnel

Fonction modale particulire. Dclenche la remise en conguration standard d'un certain nombre de modes.
3.2.4 M3 rotation de broche sens anti-trigonomtrique

Mise en rotation de la broche dans le sens anti-trigonomtrique. Fonction modale avant dcode. Rvoque par M4 ou M5.
3.2.5 M4 rotation de broche sens trigonomtrique

Mise en rotation de la broche dans le sens trigonomtrique. Fonction modale avant dcode. Rvoque par M3 ou M5.
3.2.6 M5 arrt broche

Arrt de la broche. Fonction modale aprs dcode. Rvoque par M3 ou M4.


3.2.7 M6 changement d'outil

Fonction non modale aprs dcode. Suivant la machine cette fonction prend des formes trs variables. Sur le centre d'usinage Ralmca C300 elle appelle un sous programme de changement d'outil. Sur le centre d'usinage Gra. CU60 elle est appel par le sous programme de changement d'outil (G77 H9100). Sur le tour Ralmca elle dclenche directement la rotation de la tourelle. Il y a, dans ce dernier cas, une condition sur la position des chariots (G52 X0 Z0).
3.2.8 M7 arrosage numro 2

La fonction permet la mise en service du deuxime systme d'arrosage. Fonction modale avant dcode.
3.2.9 M8 arrosage numro 1

La fonction permet la mise en service du premier systme d'arrosage. Fonction modale avant dcode.
3.2.10 M9 arrt arrosage

Arrt des arrosages 1 et 2. Fonction modale aprs dcode. Rvoque par M7 et M8, initialise la mise sous tension.
3.2.11 M10 blocage d'axe

Cette fonction permet de bloquer les axes inutiliss de la machine. Cette fonction suppose qu'il existe un moyen physique de bloquer l'axe autre que le variateur. M10 est une fonction modale aprs dcode, rvoque par M11.
3.2.12 M11 dblocage d'axe

Cette fonction permet de dbloquer les axes de la machine. M11 est une fonction modale avant dcode, rvoque par M10.
3.2.13 M12 arrt d'usinage programm

Permet l'intervention d'un oprateur sans arrter la machine(M0 ou M1). Fonction aprs dcode. Reprise de l'excution du programme par appui sur dpart cycle". 19

3.2.14 M19 indexation de broche

Cette fonction permet d'indexer la broche. Syntaxe : EC xxx M19. xxx dni la position d'indexation. M19 est une fonction modale avant dcode, rvoque par M3, M4 ou M5.
3.2.15 M40 M45 gamme de broche

Permet de grer une boite de vitesse six vitesses. M40 M45 sont des fonctions modales avant dcodes se rvoquant mutuellement. ATTENTION : l'initialisation il n'y a pas de gamme initialise. Les gammes sont choisies par les constructeurs qui n'utilisent pas tous M40. Certaines machines deux gammes ont M40 comme gamme lente, et d'autres M41.
3.2.16 M48 validation des potentiomtres de broche et d'avance

Les vitesses d'avances et de broches sont aects par les potentiomtres. Fonction modale aprs dcode, initialise la mise sous tension, rvoque par M49.
3.2.17 M49 inhibition des potentiomtres de broche et d'avance

Les vitesses d'avances et de broches ne sont pas aects par les potentiomtres (forage 100%). Fonction modale avant dcode, rvoque par M48.
3.3 Autres fonctions

3.3.1 E+ et E- discriminent

Cette fonction fait partie de la programmation gomtrique de prol. Voir manuel de programmation NUM.
3.3.2 EA droite dnie par un angle 3.3.3 EB chanfreins et congs

Cette fonction fait partie de la programmation gomtrique de prol. Voir manuel de programmation NUM. Cette fonction fait partie de la programmation gomtrique de prol. Elle permet de programmer un chanfrein ou un cong entre l'lment gomtrique dnit dans le bloc et l'lment dnit dans le bloc suivant. EB+xx cong de rayon xx. Les deux lments (droite ou cercle) doivent tre scants. EB-xx chanfrein de cot xx. Les deux lments doivent tre des droites scantes.
3.3.4 ED dcalage angulaire programm

Voir G52 au paragraphe 3.1.23.

3.3.5 EG modulation de l'acclration

Cette fonction permet de diminuer la valeur d'acclration sur les axes. Fonction modale initialise 100%. M2 et RAZ remettent la valeur 100%.
3.3.6 EM dimension extrme en visualisation graphique

Voir visualisation au paragraphe ( faire).


3.3.7 ES lment scant

Cette fonction fait partie de la programmation gomtrique de prol. Voir manuel de programmation NUM.
3.3.8 ET lment tangent 3.3.9 T numro d'outil

Cette fonction fait partie de la programmation gomtrique de prol. Voir manuel de programmation NUM. Voir M6 au paragraphe A.2.6.

20

3.3.10 D correcteur d'outil

Un nom plus appropri serait changement du point de rfrence outil, ou suivant notre modle des machines changement de repre outil. A l'initialisation le correcteur nul D0 est slectionn.
3.4 Les paramtres

Sur les commandes numriques NUM il existe plusieurs sortes de variables ou paramtres.
3.4.1 les paramtres machines

Ce sont des paramtres inaccessible l'utilisateur, ils dnissent les caractristiques de la machine (nombre d'axes, courses, position de Prise d'Origine Machine (POM), caractristiques d'asservissement (correcteurs, inertie, acclration maximum. . . ) initialisation en units mtriques, nombres d'outils du magasin. . .
3.4.2 les paramtres externes Ennnnn

Certains sont de vritables variables, d'autres permettent d'accder l'tat de la machine, et d'autres de dialoguer avec l'automate.
E10000 E10031 (lecture/criture) dialogue sur bit

avec automate. E20000 E20031 (lecture seule) dialogue sur bit avec automate. E30000 E30127 (lecture/criture) dialogue sur mots long avec l'automate. E40000 E40127 (lecture seule) dialogue sur mots long avec l'automate. E11000 (lecture/criture) dcalage angulaire ED valid (0-1) E11001 (lecture/criture) dcalage programm G59 valid (0-1) E11003 (lecture/criture) traitement des miroirs G51 (0-1) E11004 (lecture/criture) traitement du facteur d'chelle G74 (0-1) E11007 (lecture/criture) potentiomtre de broche valid (0-1) E11015 (lecture/criture) gestion du passage d'ange valid (0-1) E21000 E21255 (lecture seule) prsence des options E31000 (lecture/criture) type de trait en G0 en graphique (0-4) E31001 (lecture/criture) type de trait en G1 G2 et G3 en graphique (0-4) E32000 (lecture/criture) temps minimum d'excution d'un bloc d'interpolation E41000 (lecture seule) numro de mode en cours (0-15) E50000 (lecture seule) numro de correcteur d'outil actif (0-255). E51000 (lecture seule) orientation de l'outil actif. E52000 (lecture seule) rayon de l'outil actif. E50001 E50255 (lecture/criture) TOUR correcteur de longueur sur X. CU correcteur de longueur d'outil. E51001 E51255 (lecture/criture) 21

TOUR correcteur de longueur sur Z. CU rayon de bout de fraise. E52001 E52255 (lecture/criture) correcteur de rayon

d'outil. E53000 E53255 (lecture/criture) TOUR correcteur dynamique de longueur sur X. CU correcteur dynamique de longueur d'outil. E54001 E54255 (lecture/criture) TOUR correcteur dynamique de longueur sur Z. CU correcteur dynamique de rayon d'outil. E55001 E55255 (lecture/criture) orientation de nez d'outil. E56001 E57255 (lecture/criture) autres paramtres d'outils. E6x000 (lecture/criture) valeur du PREF de l'axe x. E6x001 (lecture/criture) valeur du DEC1 de l'axe x. E6x002 (lecture/criture) course dynamique minimum de l'axe x. E6x003 (lecture/criture) course dynamique maximum de l'axe x. E6x004 (lecture/criture) valeur du DEC3 de l'axe x. E6x005 (lecture/criture) valeur du dcalage programm par G59 sur l'axe x. E69000 (lecture/criture) valeur du facteur d'chelle. E7x000 (lecture seule) position courante de l'axe x. E7x001 (lecture seule) position de la prise de cote au vol sur l'axe x. E7x002 (lecture seule) course statique minimum de l'axe x. E7x003 (lecture seule) course statique maximum de l'axe x. E7x004 (lecture seule) direction de dplacement de l'axe x. E7x005 (lecture/criture) aectation d'axe (0-8) E7x006 (lecture/criture) axe port (0-1) E79000 (lecture seule) rfrence de position de la broche du groupe d'axe.

E79001 (lecture seule) consigne de la broche du groupe. E70003 (lecture/criture) valeur de la distance restant parcourir. E70002 (lecture seule) valeur du potentiomtre d'avance. E79004 (lecture seule) vitesse courante sur trajectoire.
3.5 Les variables programmes L

Ce sont des variables qui peuvent se substituer toute valeur numrique dans un programme. Il existe plusieurs type de variables programmes L0 L19 elles sont traits comme des valeurs numriques et leur aectation ne ralenti pas le droulement du programme. L100 L199 idem l0 l19 mais lorsque on aecte une valeur une de ces variables : la prparation du bloc contenant cette aectation est suspendu jusqu' la n de l'excution du bloc prcdent. On ne peut pas utiliser ces variables en programmation gomtrique ou en correction de rayon.
3.6 Calcul sur les variables

D'un point de vue calcul toutes ces variables sont quivalentes. L'interprteur ne connat pas les priorits et l'associativit. L1 = 2 + 3 5 aecte la valeur 25 la variable L1. Pour aecter L1 2 fois L2 plus 3 fois L3 il faut faire L1 = 2 L2 puis L1 = 3 L3 + L1. Les fonctions disponibles sont :
+ addition - soustraction * multiplication / division S sinus (Sl2 correspond au sinus de L2) C cosinus A arc tangente R racine carre T troncature (sans eet sur variables Ennnnn)
3.7 Units

& opration logique ET ! opration logique OU = comparaison : galit


<

comparaison : infrieur > comparaison : suprieur <= comparaison : infrieur ou gal >= comparaison : suprieur ou gal <> comparaison : dirent

Les variables Ennnnn sont dnies dans leurs units systmes. L'ors d'un calcul ou d'une aectation avec des variables L elles sont converties en unit dcimales. Par exemple pour une machine travaillant au m pour dnir un PREF sur X de 12.235 mm il faut crire E6000=12235. Pour mmoriser le point courant de l'axe X en mm dans la variable L1 : L1 = E 70000/1000

4 Exemples de programmes :
Considrons le dessin suivant : Nous allons raliser 4 oprations : un dressage bauche, un cycle d'bauche, un cycle de gorge et un contournage de nition. Cet exemple ayant pour but de montrer l'emploi des cycles et de la correction de rayon, certaines valeurs sont relativement arbitraires (vitesses, nombres de passes, . . . ). La gure 6 prsente la zone bauch par le cycle d'bauche. Le contour brut est dni par les trois points A(80,17) , B(80,105) et C(40,105) . la gure 7 prsente la zone bauche par le cycle de gorge. La zone est limite par les points C(52,0) et D(52,55) .
%555 (EXEMPLE EN TOURNAGE) G0 G52 XZ (DRESSAGE EBAUCHE) T1 D1 M6 (Slection de l'outil 1) ( et de son correcteur) M3 M41 G97 S1000 (Mise en route de) ( la broche) M8 (Mise en marche de l'arrosage) G0 X82 Z100.5 G96 S150 (Vitesse de coupe constante) ( 150 m/mn) G95 F0.2 (Avance 0.2 mm/tour) G1 X0 G0 G52 XZ G97 S1000 (CYCLE D'EBAUCHE) T2 D2 M6 M3 M41 G97 S1000 M8 G0 X80 Z 105

22

R2 R2 R2 O 32 O 80 O 65 O 60 R2 O 50 55 75 100
Figure 5: Axe.
A B C

R2

30 8 14 17

Figure 6: Zone bauche.


G96 S150 G95 F0.3 G64 N1100 N1000 I1 K0.5 P3 X80 Z-17 X80 Z105 X40 Z105 G80 G97 S1000 G0 G52 X0 Z0 (GORGE) T3 D3 M6 M3 M41 G97 S1000 M8 G0 X52 Z55 G96 S150 G95 F0.2 G65 N1100 N1000 EA-160.201 P2 Z0 I1 K0.5 G97 S1000 G0 G52 X0 Z0 (FINITION) T4 D4 M6 M3 M41 G97 S1000 M8 G0 X40 Z120 G96 S200 G95 F0.1 G0 X5 Z105 G1 G42 X 0 Z 100 N1000 G1 X0 Z100 (PROFIL FINI) G1 X40 Z75 EB2 X50 Z55 X32 Z30 EB2

D
160.201

Figure 7: Zone bauche. 23

O 40

Z0 EB2 X44 X60 Z-8 Z-14 EB2 X65 Z-17 EB1

N1100 X80 Z -17 G0 X90 G40 Z M5 G0 G52 XZ M2

5 Modlisation des centres d'usinage 4 et 5 axes :


5.1 Matrices de passage homognes

5.1.1 Position d'un solide dans l'espace.

L'espace d'volution d'un solide est de dimension 6 (3 paramtres de translation et 3 paramtres de rotation). On modlise gnralement le dplacement en translation par la translation d'un point. Il existe plusieurs reprsentations possibles de la rotation : matrice de rotation, 3 angles (plusieurs solutions), une direction et un angle de rotation autour de cette direction, les quaternions... Aucune de ces reprsentations n'est satisfaisante pour toutes les applications. Dans notre cas nous souhaitons modliser un centre d'usinage, et ensuite programmer les dplacements relatifs de l'outil dans un ou plusieurs repres lis la pice. Nous aurons donc besoin d'exprimer des positions dans plusieurs repres. La reprsentation des rotations par des matrices de passage semble donc bien adapte. Nous allons faire quelques rappels sur les matrices de rotation an d'introduire une extension : les matrices de passage homognes.
5.1.2 Rappels :
Soit R1 un repre de l'espace ane, B1 = ( 1 , 1 , k1 ) la base de l'espace vectoriel associe, et O1 l'origine de R1 . Soit V un vecteur et VR sa reprsentation matricielle sur la base B1 associe au repre R1 . x y si V = x 1 + y 1 + z k1 alors VB =
1 1

Soit P un point de l'espace ane, on reprsente P par le vecteur O1 P . Ce qui permet d'crire O1 P = a 1 + b 1 + ck1 . Si on note PR la reprsentation matricielle du vecteur O1 P alors :
1

PR1 =

a b c

5.1.3 Changements de repres :

z1 z0 k0 O0 j0 i0 y0 x0 R0
Figure 8: Changement de repre.

y1 j1 x1

k1 O1

i1 R 1

Soit R0 un autre repre associ une autre base B0 = ( 0 , 0 , k0 ) et l'origine O0 . Soit MR R la matrice de passage de R0 R1 :
0 1

MR0 R1 =

xi yi zi

xj yj zj

xk yk zk

Les colonnes de MR R reprsentent les coordonnes des vecteurs de la base B1 exprimes sur la base B0 :
0 1

24

i1RO = k1RO =

Pour un vecteur on crit un changement de repre :


V = x 1 + y 1 + z k1 = (xxi + yxj + zxk ) 0 +(xyi + yyj + zyk ) 0 +(xzi + yzj + zzk )k0

xi yi zi xk yk zk

j1RO =

xj yj zj

Sous forme matricielle :


VR0 = MR0 R1 VR1

(1)

On peut remarquer l'ordre d'criture des repres. Pour un point P il faut exprimer dans R0 le vecteur O0 P . Or O0 P = O0 O1 + O1 P xO Soit O0 O1R = yO la reprsentation matricielle du vecteur O0 O1 sur la base B0 . zO Les coordonnes de P dans le repre R0 s'expriment alors sous forme matricielle :
1 0 1 1

PR0 = O0 O1R0 + MR0 R1 PR1

(2)

5.1.4 Notations homognes :

An de simplier les critures nous souhaitons crire un changement de repre pour un point ou pour un vecteur de la mme manire : un produit matriciel. Pour cela on ajoute une quatrime coordonne aux reprsentations matricielles des points et des vecteurs :
x x

On reprsente les vecteurs par VR

y = z
0

et les points par PR


MR0 R1 0

y = . z
1

Si on dnit les matrices de passages homognes :


HR0 R1 = =
O0 O1R 0 1 xk yk zk 0 xO1 y O1 zO 1 1 xi yi z i 0 xj yj zj 0

On peut alors crire :


VR0 = HR0 R1 VR1 PR0 = HR0 R1 PR1

De mme on peut vrier la composition des matrices de passages homognes :


HR0 R2 = HR0 R1 HR1 R2

(3)

5.1.5 Proprits des matrices de passages homognes :


0 1 1 0 0 1

1 Inverse : HR R = HR R (vident, dcoule de la dnition). De plus les matrices de rotations MR R ont les proprits suivantes : 1 t l'inverse est gale la transpos : MR R = MR R = MR R les vecteurs lignes et colonnes sont norms. les vecteurs lignes et colonnes sont deux deux orthogonaux. L'inverse d'une matrice de passage homogne peut donc s'exprimer :
0 1 0 1 1 0

Si HR R
0

MR0 R1 0

O0 O1R 0 1

alors

1 HR 0 R1

HR1 R0

t MR 0 R1 0

t MR O0 O1R 0 0 R1 1

25

5.2

Modlisation d'un centre d'usinage.

On peut rsumer les problmes rsoudre par deux questions : 1. Etant donnes les coordonnes de position de la machine, quelle est la position de l'outil par rapport la pice 2.
? Etant donne la position relative de l'outil par rapport la pice, quelles sont les valeurs programmer pour atteindre cette position ?

Pour rpondre ces deux questions nous allons donner une dmarche systmatique. Cette dmarche s'inspire du modle de Dnavit-Hartemberg des robots (Modle des robots manipulateurs, B. Gorla, M. Renaud, Cepadues ditions).
5.2.1 Modlisation d'une chane cinmatique ouverte.

L'opration fondamentale est le choix, et donc la dnition, des repres. Les chanes cinmatiques que l'on considre sont constitues de liaisons pivots et glissires. Ces deux types de liaisons sont essentiellement caractrises par un axe. Le bon choix des repres correspond donc une utilisation optimale de ces axes.
5.2.2 Dnition des repres :

La modlisation de Denavit-Hartemberg est bien adapte aux robots. Dans le cas des centres d'usinage, an d'amliorer la prcision, les axes des liaisons sont orthogonaux. Nous voyons donc apparatre un certain nombre de simplications. Proposition d'un processus systmatique de mise en place des repres : Tout d'abord il nous faut associer un repre la pice et l'outil : 1. Repre pice Rp : c'est le repre le plus important, celui dans lequel on va programmer. On le place de manire faciliter la programmation. 2. Repre outil Ro : ce repre est li l'outil, son choix est trs important car il dnit le point et les directions de l'outil que l'on va programmer. Dans la suite on orientera la direction z du repre outil dans la direction de l'axe de l'outil. On positionnera son origine sur l'axe de l'outil soit l'extrmit de l'outil, soit sur le centre du tore de l'outil si on dsire travailler en correction de rayon spatiale. Etant donnes les coordonnes de position de la machine, quelle est la matrice de passage homogne HR R qui relie le repre pice et le repre outil ? La question 2 peut s'noncer : Etant donne la matrice de passage homogne entre le repre pice et le repre outil, quelles sont les valeurs programmer pour atteindre cette position ?
P O

Remarque : La question 1 peut s'noncer :

5.2.3 Dnition des repres intermdiaires.

Nous allons mettre en place un processus systmatique pour dnir les repres intermdiaires. On dni en plus des deux repres Rp et Ro , un repre associ chacun des lments de la chane cinmatique de la machine.
5.2.4 Mthodologie de dnition des repres :

1. On numrote les liaisons de L1 Ln o n est le nombre d'axe de la machine. 2. On numrote les corps de la chane cinmatique de la machine de C1 Cn+1 de telle sorte que la liaison Li soit la liaison entre les solides Ci et Ci+1 . 3. On associe un axe du repre Ri li au solide Ci la direction de l'axe de la liaison Li . On choisit l'axe associ au nom de l'axe de la machine. 4. On associe une des directions du repre Ri la direction de la perpendiculaire commune aux axes des liaisons Li et Li+1 . 5. On prend pour origine du repre Ri le pied de la perpendiculaire commune entre les axes des liaisons Li et Li+1 situ sur l'axe de la liaison Li . 6. Pour tout les lments non dnis des repres, on choisit la solution la plus simple : en gnral on prend les directions identiques aux repres Ri1 ou Ri+1 et l'origine confondu avec celle du repre Ri1 ou Ri+1 . 7. On dessine la gure dans un cas simple (translation et rotation nulle entre deux repres).

26

Figure 9: Centre d'Usinage 4 axes.


5.2.5 Exemple : Centre d'usinage 4 axes

Prenons l'exemple d'un centre d'usinage 4 axes qui pour chane cinmatique : Pice,: repre Rp plateau B : C1 repre R1

axe

chariot x : C2 repre R2
axe

B: x: z:

liaison

L1

chariot z : C3 repre R3
liaison

liaison

L2

axe

bti : C4 repre R4
axe

L3

chariot y : C5 repre R5 outil : repre Ro

y:

liaison

L4

Figure 10: Structure cinmatique.


R4

La mthodologie de dnition des repres nous permet dans ce cas de reprsenter les repres Ro , R1 , R2 , R3 , et R5 confondus en plaant leur origine sur la projection de l'origine du repre pice sur l'axe du plateau B .

5.2.6 Calcul des matrices de passage :

Les repres Rp et R1 d'une part, et R5 et Ro d'autre part sont xes l'un par rapport l'autre. Ils permettent l'oprateur de positionner le repre pice l o il veut. Les repres Rp et Ro sont confondus pour un dplacement nul des liaisons Li . Dans le cas o pour cette position les repres R1 et Rn sont aussi confondus les matrices de passages HR R et HR R sont gales. L'criture des matrices de passage HR R ne pose pas de problme. On calcule ensuite la matrice HR R en faisant le produit des matrices HR R . La matrice HR R qui reprsente la position de l'outil par rapport la pice est donc le produit de matrice suivant :
1in 1 p n o i i+1 1 n i i+1 p o

HRp Ro

= =

HRp R1 HR1 Rn+1 HRn+1 Ro f (X, Y, Z, B )

27

Figure 11: Les repres Dans ce produit HR R et HR R sont des matrices constantes dnies par l'oprateur. Elles dnissent la position du repre pice par rapport aux repres de modlisation. On obtient donc HR R comme fonction des axes de la machine. Ceci nous donne la rponse la premire question.
p 1 n+1 o p o

5.2.7 Exemple :

Dans le cas de matrices de passages s'crivent : l'exemple prcdent les


cos B

HR1 R2

0 = sin B

HR2 R3 = HR3 R4 = HR4 R5 =

Et donc :
HR1 R5

1 0 0 0 1 0 0 0 1 0 0 0

0 0 1 0 0 0 1 0 0 0 1 0 0

0 1 0 0

sin B 0 cos B 0

0 0 0 1

0 0 1 0 0 0 1 0 0 0 1 0

X 0 0 1 0 0 Z 1 0 Y 0 1 0 1 0 0


sin B 0 cos B 0 X cos B + Z sin B Y X sin B + Z cos B 1

On positionne le repre pice :


1 0 0

cos B 0 = sin B 0

HR1 Rp

0 1 0 = 0 0 1
0 0 0

Par un choix judicieux de l'origine sur l'axe Y on peut toujours avoir LY = 0 car il n'y a pas de contrainte gomtrique sur ce type de machines 4 axes. Les machines orent la possibilit de dnir un repre pice l'aide des PREF. Ceci pour eet de confondre Rp et Ro pour X = Y = Z = B = 0.
HRp Ro = HRp R1 HR1 R5 HR5 Ro =
1 0 0 0 0 1 0 0 0 0 1 0 LX cos B 0 0 LZ sin B 1 0

LX 0 LZ 1

0 1 0 0

sin B 0 cos B 0

X cos B + Z sin B Y X sin B + Z cos B 1

1 0 0 0

0 1 0 0

0 0 1 0

LX 0 LZ 1

28

1 0 0 0

0 1 0 0

0 0 1 0 0 1 0 0

cos B LX 0 0 LZ sin B 0 1

0 1 0 0

sin B 0 cos B 0

(X + LX ) cos B + (Z + LZ ) sin B Y (X + LX ) sin B + (Z + LZ ) cos B 1

cos B 0 sin B 0

sin B 0 cos B 0

LX + (X + LX ) cos B + (Z + LZ ) sin B Y LZ (X + LX ) sin B + (Z + LZ ) cos B 1

5.3

Coordonnes programmer :
p o

Nous cherchons donc la fonction inverse de HR R = f (X, Y, Z, B ). Il n'existe pas toujours de solution ce problme. Pour que ce systme admette toujours une solution il faut disposer d'une machine 6 axes. L'inversion directe de la fonction f (X, Y, Z, B ) est, en gnral, simple dans le cas des machines outils.
5.3.1 Exemple :

Nous avons obtenu la fonction f suivante :


HRp Ro
cos B 0 = f (X, Y, Z, B ) = sin B 0 h12 h22 h32 0 h13 h23 h33 0 h14 h24 h34 1

0 1 0 0

sin B 0 cos B 0

LX + (X + LX ) cos B + (Z + LZ ) sin B Y LZ (X + LX ) sin B + (Z + LZ ) cos B 1

Soit HR R
p

h11 h21 = h31 0

la matrice connue qui dnit la position o nous dsirons amener l'outil.


cos 0 = sin 0

Pour qu'il existe une solution cette matrice doit avoir la forme HR R
p

On peut donc par identication en dduire :


B =

0 1 0 0

sin 0 cos 0

a b c 1

Y = b a = LX + (X + LX ) cos B + (Z + LZ ) sin B c = LZ (X + LX ) sin B + (Z + LZ ) cos B cos B

Il faut donc extraire X et Z des deux dernires quations. Pour obtenir X nous multiplions la premire par et la deuxime par sin B . Pour obtenir Z nous multiplions la premire par sin B et la deuxime par cos B . Nous obtenons :
cos BLX + sin BLZ + X + LX = a cos B c sin B sin BLX cos BLZ + Z + LZ = a sin B + c cos B cos BLX + sin BLZ + X + LX = a cos B c sin B sin BLX cos BLZ + Z + LZ = a sin B + c cos B X = LX + (LX + a) cos (LZ + c) sin Z = LZ + (LX + a) sin + (LZ + c) cos

Et donc :

Nous avons suppos que nous connaissions , et nous avons obtenu B = directement. Il arrive que l'on ne connaisse que le sinus (h13 ) et le cosinus (h11 ) de . Il existe alors une solution unique pour B appartenant ] , + ] : B = ArcT an2(h13 , h11 ). La fonction ArcTan2 donne l'angle appartenant ] , +] partir du sinus et du cosinus de l'angle (elle est facile programmer partir de l'arc-tangente et des signes du sinus et du cosinus). D'autre part B ne se programme pas toujours directement. Sur les machines qui ont un dbattement angulaire inni on utilise le signe plac devant l'angle pour donner le sens de dplacement. La position atteindre est donc toujours dnie par un angle positif modulo 2. Par exemple la ligne :
B 233

5.3.2 Remarques pour B

se traduit par un dplacement la position B = 233 en tournant dans le sens ngatif. 29

5.4

Exemple 2 : centre d'usinage 5 axes

W 402CN C

Figure 12: Centre d'usinage 5 axes. La mise en place des repres nous conduit : Pice,: repre Rp plateau C : C1 repre R1

axe

chariot Y : C2 repre R2
axe

C: Y

liaison

L1

chariot X : C3 repre R3 bti : C4 repre R4


Z:
liaison

: liaison

L2

axe

X:

liaison

L3

axe

chariot Z : C5 repre R5
axe

L4

plateau B : C6 repre R6 outil : repre Ro

B:

liaison

L5

Figure 13: Structure cinmatique. Comme dans le cas du centre d'usinage 4 axes on peut reprsenter la gure pour RP et Ro confondus. C'est dire pour X = Y = Z = B = C = 0. Voir gure 14: La gure fait clairement apparatre les dcalages LX , LY et LZ . On obtient :
cos C

HR1 R2

sin C = 0
0 1 0 = 0 0

HR2 R3

0 1 0 0

sin C cos C 0 0 0 0 0 Y 1 0 0 1

0 0 1 0

0 0 0 1

30

Figure 14: Les repres.


1 0 0 X 0 1 0 0 HR3 R4 = 0 0 1 0 0 0 0 1 1 0 0 LX LY 0 1 0 HR4 R5 = 0 0 1 Z + LZ 0 0 0 1 cos B 0 sin B 0 0 1 0 0 HR5 R6 = sin B 0 cos B 0 0 0 0 1 cos B cos C sin C sin B cos C (X + LX ) cos C (Y + LY ) sin C cos C sin B sin C (X + LX ) sin C + (Y + LY ) cos C cos B sin C HR1 R6 = sin B 0 cos B Z + LZ 0 0 0 1 n1 0 0 LX n1 0 0 0 0 0 1 0 LY 0 1 0 HR1 RP = HR6 Ro = 0 0 1 0 0 0 1 LZ 0 0 0 1 0 0 0 1

D'o :

Et :

et

et

On obtient :
HRP Ro

= HRP R1 HR1 R6 HR6 Ro =


cos B cos C cos B sin C sin B 0 sin C cos C 0 0

sin B cos C sin B sin C cos B 0

(X + LX ) cos C (Y + LY ) sin C LX LZ sin B cos C (X + LX ) sin C + (Y + LY ) cos C LY LZ sin B sin C Z + LZ LZ cos B 1

5.4.1 Coordonnes programmer.

Nous supposons donc connu :


HRp Ro
l11 l21 = l31 0 l12 l22 0 0 l13 l23 l33 0

On obtient facilement la matrice :


HR1 R6 = = =
l11 l21 l 31 0 l11 l21 l 31 0 l12 l22 0 0 l12 l22 0 0 l13 l23 l33 0 l13 l23 l33 0 h14 h24 h34 1 l14 + LX + l13 LZ l24 + LY + l23 LZ l34 + l33 LZ 1

l14 l24 l34 1

HR1 RP HRP Ro HRo R6

D'o : 31

h14 h24 h34


1 6

= l14 + LX + l13 LZ = l24 + LY + l23 LZ ) = l34 + l33 LZ )

Par identication de la matrice HR R on obtient :


B C X + LX X Y + LY Y Z
5.5 Programmation

= =

arctan 2(l31 , l33 ) arctan 2(l12 , l22 )

= h14 cos C + h24 sin C = h14 cos C + h24 sin C LX = h14 l22 h24 l12 LX = h14 sin C + h24 cos C = h14 sin C + h24 cos C LY = h14 l12 + h24 l22 LY = h34 LZ

Nous allons voir comment nous pouvons crire simplement un programme partir des rsultats que nous venons d'obtenir.
5.5.1 Exemple avec le centre d'usinage 4 axes

Nous nous intressons l'usinage de la pice de la gure 5.5.1 partir d'un paralllpipde.

Figure 15: Rainure et plan inclin. Les usinages raliser sont assez simples : une rainure, un plan inclin et 3 trous dont un sur le plan inclin. Nous avons choisi de placer le repre pice RP au niveau des surfaces d'appui. L'usinage du plan et des deux trous peut tre programm directement dans ce repre. Nous utilisons un deuxime repre R2 pour programmer l'usinage du plan inclin et du troisime perage.

32

Position de

R2

Le dplacement de RP R2 est la combinaison d'une rotation de 30 autour de Y et d'une translation de vecteur OP O2 .


OP O2 =
60 + 11.55 cos 30 75 40 11.55sin30

par rapport RP

70 75 34.225

Le sous-programme (N5-N6) ncessite deux paramtres (L14 et L15) pour dnir la position du repre pice RP par rapport l'axe de rotation du plateau. En entr le sous-programme prend 4 arguments (L10, L11, L12 et L13) qui dnissent la position du nouveau repre (dans notre cas le repre R2 ) par rapport au repre pice. Ces arguments sont respectivement l'angle B et les composantes a14 , a24 , et a34 de la matrice (MR R ) de passage de RP R2 . Le sous-programme calcule d'abord les dcalages en X et Z d'aprs les rsultats du paragraph 5.3.1. On obtient les positions en X (L16) et Z (L17) programmer pour atteindre l'origine du nouveau repre (R2 dans notre cas). Au lieu de programmer ce dplacement nous l'utilisons pour dnir un dcalage programm (fonction G59). Nous travaillons donc ensuite dans le nouveau repre.
P 2

Sous-programme de changement de repre

Le programme
%170 ( BIELLETE ) (RAINURE AVEC ROTATION PLATEAU) (----VARIABLES PROGRAMMES----) (L0 VITESSE DE COUPE) (L1 DIAMETRE FRAISE) (L2 AVANCE PAR DENT) (L3 NOMBRE DE DENTS) (L4 SORTIE VITESSE DE ROTATION) (L5 SORTIE VITESSE D'AVANCE) (L6 DIVERS) (L7 DIVERS) (L8 DIVERS) (L9 DIVERS) (L10 ANGLE B DESIRE) (L11 X: COMPOSANTE A14 DE LA MATRICE) (L12 Y: COMPOSANTE A24 DE LA MATRICE) (L13 Z: COMPOSANTE A34 DE LA MATRICE) (L14 POSITION AXE PLATEAU EN X) (L15 POSITION AXE PLATEAU EN Z) (L16 X A PROGRAMMER) (L17 Z A PROGRAMMER) (L18 DIVERS) (L19 DIVERS) (----SOUS-PROGRAMMES----) (N1-N2 : INITIALISATION PROGRAMME) (N2-N3 : CALCUL DES CONDITIONS DE COUPES) (N5-N6 : CALCUL DU CHANGEMENT DE REPERE) (-----INITIALISATION-----) N9 G G90 G80 G40 G54 G17 N10 G G52 Z G77 N1 N2 (initialisation) (-----fraise D=30-----) N100 T1 D1 M6 ( L0 : VITESSE DE COUPE; L1 : DIAM. EN MM) ( L2 : AV./DENT; L3 : NBRE DE DENTS ) L0= 80 L1= 30 L2= 0.1 L3= 5 G77 N2 N3 S L4 F L5 M3 M41 M8 (RAINURE) G0 B0 Y75 X-16 G0 Z 42.5 G1 X 96 G0 Z50 G0 X-16 G0 Z45 G1 X 96 G0 G52 Z (plan inclin) L10= 30 L11= 70 L12= 75 L13= 34.225 G77 N5 N6 N110 G B L10 G0 X-28 Y 0 Z 50 G0 Z7.5 N120 G1 X 28 G0 Z 16 N121 G0 X-28 G0 Z 5 G77 N120 N121 G0 Z 2.5 G77 N120 N121 G0 Z 0 G1 X 28 G0 G52 Z ( FORET DIAMETRE 6) N200 T15 D15 M6 L0= 80(m/mn) L1= 6 L2= 0.03 L3= 2 G77 N2 N3 S L4 F L5 M3 M41 M8 L10= 0 L11=0 L12=0 L13=0 G77 N5 N6 (2 percages dans rainure) N210 G B-L10 G0 X 10 Y 75 Z 60 G0 Z 41 G83 Z -12 P10 Q5 X 50 G80 G G52 Z (percage sur plan inclin) L10= 30 L11= 70 L12= 75 L13= 34.225 G77 N5 N6 G0 X 0 Y 0 Z 20 GO Z 1 G83 Z -23 P10 Q6 G80 G G52 Z

33

G79 N9999 N1 (PREF DECALAGE LONGEURS) (PREF) E60000= 200260 (PREF X) E61000=-410648 (PREF Y 420) E62000=-287130 (PREF Z) E67000= 1801203 (PREF B) (DECALAGES) E60001=0 (DEC X) E61001=0 (DEC Y) E62001=0 (DEC Z) E67001=0 (DEC B) (OUTILS) (T01) (E50001= 143030 E51001=0 E52001=12500) (E53001=0 E54001=0) (T15) (E50015=199420 E51015=0 E52015=2500) (E53015=0 E54015=0) N2 (CALCUL DES CONDITIONS DE COUPES) (EN ENTREE) (L0 VITESSE DE COUPE) (L1 DIAMETRE EN MM) (L2 AVANCE PAR DENT) (L3 NOMBRE DE DENTS) (EN SORTIE) (L4 NOMBRE DE TOURS PAR MINUTES) (L5 AVANCE EN METRE PAR MINUTES)

N3 N5 (N5 - N6: CHANGEMENT DE REPERE) (L14 ET L15 : rentrer la position) ( du centre du plateau) L14=2.477 (Xmm) (* REGLAGE *-*-*) L15=52.532 (Zmm) (* REGLAGE *-*-*) L14 = E60000/1000 -L14 L15 = E62000/1000 -L15 (En entree:) (L11 composante a14 de la matrice) (L12 composante a24 de la matrice) (L13 composante a34 de la matrice) (L10 angle B obtenue) (En sortie le nouveau repere est) ( defini par un G59) L16= L11+L14 * C L10 L16=-L13-L15 * S L10 + L16 - L14 L17= L11+L14 * S L10 L17= L13+L15 * C L10 + L17 - L15 G59 X L16 Y L12 Z L17 N6 N9999 M2

L4= L4= L5= L5=

1000*L0/3.14/L1 T L4 L2*L3*L4 T L5

34

6 Anales juin 2005


Universit Paul Sabatier juin 2005 Licence technique avances de la conception Licence sciences de la production industrielle
Examen de Machine Outil Commande Numrique.

Aucun document autoris.

1 Rglages
On considre le rglage d'un tour.
1.0.2 Dnition des repres

Dnir compltement chacun de ces repres pour l'usinage propos sur la gure. (On ne considrera qu'un seul outil) :
RM : RT : RO :

repre machine repre tourelle repre outil repre porte-pice repre programme
Xp

RP P : RP :

1.0.3 Ecrire la relation qui lie les origines de ces repres. 1.0.4 PREF et DEC

Op

Zp

A l'aide des rsultats de mesures fournis (pages crans simplies correspondants aux dessins des positions mesures), dnir les rglages du PREF et du DEC pour l'usinage de la pice propos.
Mesure 1 : utilisation d'une cale de 100 mm
point courant / OM point courant / OP

60

90

X Z

-174.006 -531.699

X Z

21.382 210.228

35

Mesure 2 : utilisation d'une pige de diamtre 20 mm et une cale de 40 mm

diamtre usin : 59.978

point courant / OM

X Z

-22.143 -334.432

point courant / OP

X Z

173.245 407.495

Banc de prrglage des outils

X/R 63.345 Z 38.237 PREF X PREF Z X Complter le tableau : DEC DEC Z Outil 1 L X Outil 1 L Z

2 Fraisage
2.1 Conditions de coupes

Proposez un parcours d'outil pour l'bauche des ilots minimisant le temps d'usinage. On ne modiera pas la Modier le programme pour augmenter la vitesse de vitesse d'avance. coupe 250 m/mn et rduire la vitesse d'avance par dent 0.03 mm en nition. 2.3 Dfaut
2.1.1 Finition 2.1.2 Ebauche

2.2.2 Proposition

Modier le programme pour prendre en compte la nouvelle fraise d'bauche : diamtre 8 mm et 3 dents. La 2.3.1 Analyse vitesse de coupe conseill est de 90 m/mn et l'avance par On constate que les parois des poches ne sont pas pardent de 0.1 mm. faitement parallles : une mesure prs du bord donne 19.998 et vers le bas 19.873. Donner les causes du d2.1.3 Diminution de la profondeur de passe faut. Modier le programme pour usiner en bauche avec une 2.3.2 Correction profondeur de passe de 5 mm. Proposez une solution pour corriger ce dfaut. Ne pas modier le programme, mais expliquer les modications 2.2 Amliorations eectuer.
2.2.1 Parcours bauche ilots

L'usinage des poches ne donne pas entire satisfaction : l'tat de surface n'est pas bon et les faces sont dformes.

Faire une tude critique du parcours de l'outil pendant 2.3.3 Etat de surface Que peux t'on faire pour amliorer l'tat de surface. l'bauche des ilots. 36

%160 N 10 N 20 N 30 N 40 N 50 N 60 N 70 N 80 N 90 N 100 N 110 N 120 N 130 N 140 N 150 N 160 N 170 N 180 N 190 N 200 N 210 N 220 N 230 N 240 N 250 N 260 N 270 N 280 N 290 N 400 N 410 N 420 N 430 N 440 N 450 N 460 N 470 N 480 N 490 N 500 N 510 N 520 N 530 N 540 N 550 N 560 N 570 N 580 N 590 N 600 N 610

(EPROUVETTE 8/6/2005) G0 G52 Z0 T1 D1 M6 L1=8 (diametre) L2=80 (vitesse de coupe) L3=0.1 (avance par dent) L4=4 (nb dents) G77 N5000 N5100 M3 M41 M8 (EBAUCHE) L0=-13 G77 N2000 N2100 L0=-25 G77 N2000 N2100 (FINITION) T2 D2 M6 L1=8 (diametre) L2=80 (vitesse de coupe) L3=0.06 (avance par dent) L4=3 (nb dents) G77 N5000 N5100 (poche 1) G59 X 10 Y 10 G77 N1000 N1200 G59 X 0 Y 0 (poche 2) G59 X 10 Y 40 G77 N1000 N1200 G59 X 0 Y 0 (finition ilots) G59 X 0 Y 95 G0 X-5 Y-10 Z 1 G1 Z-25 G1 G41 X 15 Y 0 G1 Y 10 G1 X 45 G1 Y 0 G1 X 0 G1 G40 X-10 Y-5 G0 Z 1 G0 X-5 Y 20 Z 1 G1 Z-25 G1 G41 X 15 Y 30 G1 Y 40 G1 X 45 G1 Y 30 G1 X 0 G1 G40 X-10 Y 25 G0 Z 1 G0 G52 Z G79 N9999

N1100 N1110 N1120 N1200

G1 X 5 G2 X 0 Y 5 R 5 G1 Z 1 G1 G40 X 0 Y 5

N1000 (finition poche) N1010 G0 X 5 Y 5 Z 1 N1020 G1 G41 X 0 Y 5 N1030 G1 Z-25 N1040 G1 Y 15 N1050 G2 X 5 Y 20 R 5 N1060 G1 X 35 N1070 G2 X 40 Y 15 R 5 N1080 G1 Y 5 N1090 G2 X 35 Y 0 R 5

N2000 (PARCOURS PASSES EBAUCHE) N2010 G59 X 10 Y 10 N2020 G77 N3000 N3200 N2030 G59 X 0 Y 0 N2040 G59 X 10 Y 40 N2050 G77 N3000 N3200 N2060 G59 X 0 Y 95 N2070 G77 N3300 N3600 N2200 G59 X 0 Y 0 ( poche ) N3000 G0 X 5 Y 5 Z 1 N3010 G1 G41 X 1 Y 5 N3020 G1 Z L0 N3030 G1 Y 15 N3040 G2 X 5 Y 19 R 4 N3050 G1 X 35 N3060 G2 X 39 Y 15 R 4 N3070 G1 Y 5 N3080 G2 X 35 Y 1 R 4 N3090 G1 X 5 N3100 G2 X 0 Y 5 R 4 N3110 G1 Z 1 N3200 G1 G40 X 5 Y 5 ( ilots ) N3300 G0 X-5 Y-12 Z 1 N3310 G1 Z L0 N3320 G1 X 65 N3330 G0 Y-5 N3340 G1 X-5 N3350 G0 Y 15 N3360 G1 X 65 N3370 G1 Y 25 N3380 G1 X-5 N3390 G0 Y 20 N3400 G1 X 65 N3410 G0 Y 45 N3420 G1 X-5 N3430 G0 Y 52 N3440 G1 X 65 N3450 G0 Y 60 N3460 G0 X 50 N3470 G1 Y-10 N3480 G1 X 57 N3490 G1 Y 60 N3500 G0 X 10 N3510 G1 Y-10 N3520 G1 X 3 N3530 G1 Y 60 N3600 G1 Z 1 N5000 (conditions de coupes) N5010 L5 = 1000*L2/3.14/L1 N5020 L6 = L5 * L3 * L4 N5030 S L5 F L6 N5100 N9999 M2

37

3 Tournage d'une Jante

38

%832 N 10 N 20 N 30 N 40 N 50 N 60 N 70 N 80 N 90 N100 N110 N200 N210 N220 N230 N240 N250 N260 N270 N280 N290 N300 N310 N320 N330

( Jante Tournage extrieur ) G0 G52 XZ T1 D1 M6 (OUTIL A DROITE) M3 M41 G97 S1000 (BROCHE) M8 (ARROSAGE) G0 X 330 Z 90 G96 S50 (VITESSE DE COUPE 50 M/MN) G95 F0.3 (AVANCE 0.3 MM/TOUR) G0 G42 X 330 Z 85 G1 X 372 G3 X 380 Z 81 R 4 G2 X 388 Z 77 R 4 G0 G40 X 390 Z 77 G G52 X0 Z0 T2 D2 M6 (OUTIL A GAUCHE) M3 M41 G97 S1000 M8 GO X 390 Z 70 G96 S50 G95 F0.3 G0 X360 G0 G41 X 360 Z 76 G1 X 375 G2 X 380 Z 78.5 R 2.5 G1 Z 85 G0 G40 X 385 Z 90 G0 G52 X Z M2

3.2

Lecture

3.2.1 Analyse du parcours d'outil

Analyser les parcours d'outils. On pourra faire un dessin de la trajectoire de l'outil.


3.2.2 Outils

Proposez un schma de la forme des deux outils utiliss permettant l'usinage.


3.3 Partie symtrique

3.3.1 Outils

Proposez deux outils pour usiner la partie symtrique par rapport au plan d'appui de la jante.
3.3.2 Programme

Modier le programme pour usiner la partie symtrique.


3.4 Conditions de coupes

On considre le programme initial.


3.4.1 Programmation des conditions de coupe

Modier le programme an d'usiner avec une vitesse de coupe de 150 m/mn et une vitesse d'avance de 0.1 mm/tour.
3.1 Gamme d'usinage

La jante est obtenue par moulage. Proposez une gamme d'usinage pour usiner le plan d'appui, les trous de xation et l'extrieur de la jante. La zone usin de l'extrieur de la jante sont dnis dans le dtail B et le programme %832).

3.4.2 Exprimentation

Proposez plusieurs solutions, en les justiant, de conditions de coupes pour l'usinage de la face latrale. C'est usinage est esthtique, l'objectif est de proposer plusieurs jantes un jury devant choisir la solution la plus esthtique. deux blocs ne sont pas raliss en correction de rayons, mais permettent d'eectuer le dcalage. Idem G41, mais correction droite du prol.

A Les fonctions principales


A.1 Les fonctions G

A.1.1 G0 interpolation linaire vitesse rapide. A.1.6 G42 correction de rayon droite A.1.2 G1 interpolation linaire. A.1.3 G2 et G3 interpolation circulaire A.1.7 G52 programmation par rapport au repre machine Syntaxe: G2 X xx Y xx I xx J xx R xx G2 interpolation dans le sens horaire et G3 dans le A.1.8 G59 dcalage d'origine programm sens trigonomtrique. A.1.9 G64 (TOUR) cycle d'bauche paraxial A.1.4 G40 annulation de correction de rayon Syntaxe: G64 Nn Nm I xx K xx P xx

X xx Z xx X xx Z xx G80 A.1.5 G41 correction de rayon gauche Nn Nm prol ni baucher. La trajectoire de l'outil est dcale de la valeur du rayon I et K surpaisseur pour la nition. de l'outil gauche du prol programm. P profondeur de passe. Particularits: les premier et dernier blocs programLes blocs entre le G64 et le G80 dnissent le prol ms sont obligatoirement en interpolation linaire. Ces brut. Voir G41 et G42. 39

A.1.10 G65 (TOUR) cycle de gorge

Syntaxe : G65 Nn Nm EA xx P xx Z xx I xx K xx Nn Nm prol ni baucher. A.2 Les fonctions M EA angle de la droite de pntration par rapport OZ. Nous prsentons ici les fonctions auxiliaires M. Z limite de la zone baucher en Z. I et K surpaisseur pour la nition. P ou R profondeur de passe. A.2.1 M0 arrt programm
A.1.11 G77 appel d'un sous programme A.2.2 M2 n de programme

A.1.19 G97 vitesse de broche exprime en tour par mn.

Syntaxe : G77 Nxx Nxx

A.1.12 G79 saut conditionnel ou inconditionnel

A.2.3 M3 rotation de broche sens antitrigonomtrique A.2.4 M4 rotation de broche sens trigonomtrique

Syntaxe : G79 TEST Nxxx Si TEST est omis saut inconditionnel au bloc Nxx. A.2.5 M5 arrt broche TEST est le test (<, >, =, <=, >=, <>) entre deux A.2.6 M6 changement d'outil variables (L ou E) ou nombres.
A.1.13 G80 annulation de cycle d'usinage A.1.14 G81 Cycles de perage - centrage A.1.15 G83 Cycle de perage dbourrage Syntaxe: G83 X xx Y xx Z xx ER xx EF xx P xx Q
X xx X xx Y xx ER xx X xx

A.2.7 M7 arrosage numro 2 A.2.8 M8 arrosage numro 1 A.2.9 M9 arrt arrosage


xx

A.2.10 M40 M45 gamme de broche


A.3 Autres fonctions

X et Y position des trous percer. Z cote de fond de trou. ER cote du plan de remont. EF temporisation P profondeur de chaque passe. Q profondeur de la dernire passe.

G80

A.3.1 EB chanfreins et congs

Elle permet de programmer un chanfrein ou un cong entre l'lment gomtrique dnit dans le bloc et l'lment dnit dans le bloc suivant.
EB+xx cong de rayon xx.

EB-xx chanfrein de cot xx. A.1.16 G94 vitesse d'avance en mm par minute A.1.17 G95 vitesse d'avance exprime en mm A.3.2 T numro d'outil par tour A.3.3 D correcteur d'outil A.1.18 G96 vitesse de coupe constante

Vitesse de broche exprime en mtre par minute.

A.4

L0 L19 variables programmes

40

You might also like