33 0 1MB
SYS856 Techniques avancées en fabrication assistée par ordinateur
Notes de cours La programmation des machines-outils à commande numérique
Jean-François Chatelain, ing. Ph. D. Professeur
Rédaction : Janvier 2004 Révision : Août 2007
TABLE DES MATIÈRES 1
DESCRIPTION DES CODES G .......................................................................................... 7 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
2
Présentation d’une instruction d’usinage .........................................................................7 Spécification du mode de positionnement .....................................................................11 Spécification du système d’unité....................................................................................13 Les codes G préparatoires du mouvement .....................................................................15 Spécification de la vitesse d’avance...............................................................................27 Les fonctions auxiliaires (codes M) ...............................................................................31 La spécification des changements d’outil ......................................................................33 La structure d’un programme typique............................................................................33
LES SYSTÈMES DE RÉFÉRENCE ET DE DÉCALAGE D’OUTILS......................... 39 2.1 Les systèmes de référence ..............................................................................................39 2.1.1 Définition d’un référentiel avec le code G92 .........................................................43 2.1.2 Définition d’un référentiel avec les codes G54 à G59 ...........................................43 2.1.3 Système de référence programme défini à partir d’un repère pièce.......................47 2.1.4 Positions de référence des MOCN .........................................................................49 2.2 La compensation des outils ............................................................................................51 2.2.1 Commande utilisée pour initier la compensation en longueur...............................57 2.2.2 Annulation de la compensation en longueur ..........................................................59 2.2.3 Mesure des outils par comparaison à un étalon......................................................59 2.2.4 Décalage des rayons d’outils..................................................................................61
3
LES CYCLES FIXES .......................................................................................................... 77 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11
4
Introduction ....................................................................................................................77 Mouvements typiques d’un cycle...................................................................................77 Spécification d’un cycle en mode absolu (G90) ............................................................83 Spécification d’un cycle en mode relatif (G91) .............................................................85 Cycle de perçage simple (G81) ......................................................................................85 Cycle de perçage profond avec débourrage « DEEP hole » ou « Peck drilling ».........87 Cycle de taraudage (G74, G84)......................................................................................89 Cycles d’alésage fin ou d’alésage en tirant avec la barre à aléser (boring bar) .............91 Cycles de perçage contre-alésage...................................................................................93 Alésages divers...............................................................................................................93 Annulation des cycles et conditions particulières ..........................................................93
LE LANGAGE APT ............................................................................................................ 99 4.1 Introduction ....................................................................................................................99 4.2 Modificateurs aux surfaces « butée »...........................................................................103 4.3 Instructions de mouvement continu .............................................................................105 4.3.1 Utilisation des directions INDIRP et INDIRV.....................................................113 4.3.2 Retour sur les modificateurs de surface « butée »................................................113 4.4 Utilisation des mouvements point à point ....................................................................117 4.5 Instruction de départ GO ..............................................................................................119 4.6 Autres formes de spécification des surfaces « pièce » .................................................125
TABLE DES FIGURES Figure 1-1 Spécification d’une instruction d’usinage .....................................................................9 Figure 1-2 Mouvements spécifiés en mode absolu G90 ...............................................................11 Figure 1-3 Mouvements spécifiés en mode relatif G91 ................................................................13 Figure 1-4 Avance rapide synchronisée et non synchronisée .......................................................15 Figure 1-5 Vitesse d’avance..........................................................................................................17 Figure 1-6 Interpolations circulaire G02 et G03 ...........................................................................19 Figure 1-7 Spécification de l’interpolation circulaire ...................................................................21 Figure 1-8 Problèmes liés à l’interpolation circulaire..................................................................21 Figure 1-9 Spécification d’une interpolation circulaire avec le rayon ..........................................23 Figure 1-10 Interpolation B circulaire en absolu et en relatif ........................................................23 Figure 1-11 Plans G17, G18 et G19..............................................................................................27 Figure 2-1 Systèmes de coordonnées machine, pièce et programme.............................................39 Figure 2-2 Expression des référentiels machine, pièce et programme...........................................41 Figure 2-3 Position du référentiel programme exprimée en coordonnées machine.......................41 Figure 2-4 Définition d’un repère programme avec G92...............................................................43 Figure 2-5 Table définissant les décalages de référentiels programme .........................................45 Figure 2-6 Interprétation des systèmes de référence programme ..................................................45 Figure 2-7 Repère programme et repère pièce ...............................................................................47 Figure 2-8 Positions de référence...................................................................................................49 Figure 2-9 Compensation en longueur ...........................................................................................51 Figure 2-10 Effet de la compensation d’outil en longueur.............................................................53 Figure 2-11 Longueur normalisée d’un outil avec porte-outil de type CAT .................................53 Figure 2-12 Table de définition des outils (CNC)..........................................................................55 Figure 2-13 Banc de préréglage optique ou mesure des outils par palpage sur MOCN ................55 Figure 2-14 Comparateur pour la mesure des outils ......................................................................57 Figure 2-15 Paramètres caractéristiques des outils ........................................................................57 Figure 2-16 Longueur d’outil par comparaison à un étalon...........................................................61 Figure 2-17 Décalage de trajectoire NC.........................................................................................63 Figure 2-18 Décalage à gauche et décalage à droite ......................................................................63 Figure 2-19 Spécification d’un décalage avec valeur négative......................................................65 Figure 2-20 Activation de G41 ou G42 sur un mouvement linéaire..............................................67 Figure 2-21 Application d’une compensation sur un arc de cercle................................................67 Figure 2-22 Ajout d’un mouvement linéaire pour l’application de la compensation ....................69 Figure 2-23 Approche tangentielle et application de la compensation ..........................................69 Figure 2-24 Approche tangentielle et application de la compensation ..........................................71 Figure 2-25 Correction de trajectoires à l’intersection de deux segments .....................................71 Figure 2-26 Décalage des trajectoires dans le cas des angles rentrants .........................................73 Figure 2-27 Types de contours mettant en défaut certains contrôleurs..........................................73 Figure 3-1 Mouvements typiques d’un cycle de perçage...............................................................79 Figure 4-1 Cube imaginaire englobant la pièce à obtenir par usinage ...........................................99 Figure 4-2 Surface « guide » de l’outil ........................................................................................101 Figure 4-3 Surfaces « guide », « pièce » et « butée » ..................................................................101 Figure 4-4 Modificateurs appliqués aux surfaces butées .............................................................103 Figure 4-5 Changements de direction de l’outil en cours de trajectoire ......................................105
Chapitre 1 1
Description des codes G
Les principes de programmation des machines-outils sont génériques. Cependant l’ensemble des codes M, G et T utilisés en programmation NC peuvent varier d’un manufacturier de contrôleur à un autre, ce qui leur permettent de se démarquer de la concurrence. Certains manufacturiers offriront les codes normalisés selon ISO auxquels une librairie additionnelle de fonctionnalités peut être offerte pour optimiser la production, notamment en recourant à des routines avancées de programmation. D’autres fournisseurs opteront plutôt pour un langage en code G ou pour leur propre langage de type conversationnel. Les codes G, M et T ainsi que les exemples présentés dans ce texte sont propres aux contrôleurs FANUC, très répandus dans l’industrie nordaméricaine. 1.1
Présentation d’une instruction d’usinage
La Figure 1-1 présente une instruction d’usinage incluant plusieurs mots, tels N, G, M, T. L’instruction d’usinage, appelée bloc, est présentée sur une seule ligne et tous les codes de cette ligne sont activés en simultanée. Ainsi, trois axes X, Y et Z peuvent être spécifiés sur le même bloc pour une machine 3 axes simultanés alors qu’une machine 5 axes simultanés pourra accepter des blocs incluant trois mouvements linéaires et deux mouvements rotatifs dont les actions seront accomplis en simultanée en plus d’être synchronisés (tous les axes démarrent et terminent leur mouvement en même temps). Tout bloc d’usinage peut débuter par un numéro de bloc ou numéro de séquence identifié par le mot « N » suivi de quatre ou cinq valeurs numériques, en fonction du format accepté par le contrôleur. On retrouve tous les formats de registre dans les manuels de programmation relatifs au contrôleur équipant la machine-outil. Le registre N associé au contrôleur FANUC15M inclut quatre valeurs numériques permettant la numérotation distincte de 9999 blocs d’usinage. La numérotation est optionnelle et peut être appliquée avec une valeur d’incrémentation avec un saut dans la numérotation. Par exemple, une numérotation incrémentale de 2 unités à tous les 2 blocs d’usinage prendrait la forme suivante: Exemple :
N0002 G00 X5 Y10 G01 X8 Y12 N0004 X12 Y18
Suivant le numéro de séquence, les codes de fonctions préparatoires sont programmés. On les reconnaît par le mot « G ». Il s’agit de codes permettant l’initialisation des modes requis à l’interprétation d’un mouvement, par exemple le choix du système d’unité, du système d’avance, du plan servant à l’interpolation, du type de mouvement, et ainsi de suite. Pour le bloc d’instructions NC présenté à la Figure 1-1, on retrouve la signification suivante pour les des différents codes utilisés. Plus de détails ainsi qu’une liste plus exhaustive des codes disponibles seront présentés dans les sections qui suivent.
G02 X + 05.3 Y + 05.3 Z + 05.3 I + 05.3 U + 05.3 A + 03.3 F05.2 S05 M03 T05 D03
Mouvement circulaire. Code G (préparatoire) spécifié avec 2 chiffres de 0 à 99. Cotes spécifiant les coordonnées associées au mouvement (5 chiffres avant le point décimal, et trois décimales possibles dans le système métrique) J + 05.3 K + 05.3 comme ci-dessus V + 05.3 W + 05.3 comme ci-dessus B + 03.3 C + 03.3 coordonnées angulaires Définition de la vitesse d’avance Définition de la vitesse de rotation de la broche en tours/mn Définition des fonctions auxiliaires (démarrage de la broche) Spécification du numéro d’outil à 2 chiffres Spécification du numéro de registre pour correcteurs d’outil
Le signe plus (+) est pris par défaut, ainsi que le zéro de tête avant le point décimal. Les espaces entre les mots ne sont pas nécessaires. En fait, chaque espace accapare 1 byte de mémoire, ce qui devrait être évité le plus possible. On voit, d’après les formats ci-dessus, que les coordonnées linéaires peuvent être programmées avec une précision de 1 micron et les coordonnées angulaires à 1 millième de degré près. Ceci n’est évidemment pas relié à la précision du déplacement fourni par les parties opératives de la machine.
Numéro de bloc Fonctions préparatoires ou modèles : ( Lettre-adresse G) Coordonnées du point à atteindre
N100
Définition des cotes en absolu
G90
G02
X100 Y150
175
J125
S 1000
F150
T1 D1
M3 M8
Appel de l’interpolation circulaire Coordonnées du centre lettre-adresses I et J
Vitesse de rotation de broche Vitesse d’avance Numéro d’outil et du registre associé Fonctions auxiliaires : lettre-adresse M
Figure 1-1 Spécification d’une instruction d’usinage
SYS856 Techniques avancées en fabrication assistée par ordinateur
9
1.2
Spécification du mode de positionnement
Il existe deux commandes permettant de spécifier le mode de positionnement de la machine pour tous les mouvements qui vont suivre l’introduction du code. G90 G91
commande de spécification des déplacements en mode absolu commande de spécification des déplacements en mode relatif (incrémental)
Ces commandes sont modales, elles restent actives tant et aussi longtemps que l’autre commande de la même famille n’est pas spécifiée. Tel qu’illustré à la figure suivante, lorsque le mode de positionnement est réglé en absolu (G90), les coordonnées des points définissant la trajectoire sont toutes spécifiées relativement au système de référence programme.
N 1 G90 N2 N3 N4 N5
X50.0 X200.0 X200.0 X50.0 X0
G 90 Déplacement à P1 en absolu Déplacement de P1 à P2 Déplacement de P2 à P3 Déplacement de P3 à P4 Déplacement de P4 à l’origine du programme Op
Y30.0 Y30.0 Y90.0 Y90.0 Y0
Y 120
2 50
50
30 60
P4
30
150 50
P1
P3 P2
Point zéro du programme
X Y
90
P4
P3
P1
P2
60
30
X 50
150 200
Figure 1-2 Mouvements spécifiés en mode absolu G90 SYS856 Techniques avancées en fabrication assistée par ordinateur
11
Dans le cas du mode de positionnement relatif ou incrémental, les coordonnées d’un point de la trajectoire à atteindre sont exprimées relativement à la position courante de l’outil (Figure 1-3).
Figure 1-3 Mouvements spécifiés en mode relatif G91 1.3
Spécification du système d’unité
Deux commandes permettent la spécification du système d’unité associé à un programme. G20 système d’unités impérial G21 système d’unités métrique L’une ou l’autre de ces commandes modales doit être spécifiée en début de programme et ne doit jamais être changée par la suite. Certains contrôleurs ne peuvent convertir les valeurs de décalages d’outils et de référentiels d’un système d’unité à un autre en cours d’exécution de programme. Les codes G20 et G21 affectent notamment les paramètres suivants qui doivent être exprimés dans le système d’unité choisi :
La vitesse d’avance de l’outil “Feedrate” (F) Les données géométriques caractérisant la trajectoire (coordonnées XYZ et rayons de cercle par exemple) Les systèmes de référence G54-G59 Les décalages d’outils en longueur (H) et en rayon (D)
SYS856 Techniques avancées en fabrication assistée par ordinateur
13
1.4
Les codes G préparatoires du mouvement
Mouvement rapide G00 Le code G00 permet le déplacement en vitesse maximale de chacun des axes spécifiés dans ce mode afin d’atteindre la position demandée. Il s’agit d’une commande modale qui demeure active tant et aussi longtemps qu’une commande appartenant au même groupe n’est pas spécifiée. Le groupe correspondant aux mouvements d’outils inclut les codes G suivants : Groupe (G00, G01, G02, G03) G00 Synchronisé et non synchronisé Le mouvement non synchronisé est effectué à la vitesse maximale pour chacun des axes et ce mouvement ne se termine pas en simultanée pour chacun des axes. L’axe au déplacement le plus court sera le premier à terminer son action (sur une base de vitesse maximale identique pour chaque axe). Dans un mouvement synchronisé, tous les axes terminent leur déplacement en simultanée. Il est recommandé de privilégier le mouvement rapide synchronisé. Le réglage est effectué à partir de la table des paramètres machine du contrôleur. 4
40 G 00 X 80 Y40 Non synchronisée Synchronisée 80
x
Figure 1-4 Avance rapide synchronisée et non synchronisée Interpolation linéaire G01 Il s’agit d’un mouvement d’avance linéaire effectué d’un point actuel à un point programmé. Les coordonnées du point à atteindre sont spécifiées au bloc courant ainsi qu’aux blocs suivants l’introduction du code d’interpolation G01 (code modal). Ce mouvement s’effectue à la vitesse d’avance programmée par l’intermédiaire du mot « F » (feedrate). Ce mouvement étant synchronisé, la composante de la vitesse selon chacun des axes se traduit proportionnellement aux distances individuelles parcourues.
SYS856 Techniques avancées en fabrication assistée par ordinateur
15
40 G01 X80 Y40 F200; F = 200
80
Actuel
L = 40 2 + 80 2 Composante de la vitesse selon x :
Fx =
80 ⋅ 200 L
Composante de la vitesse selon y :
Fy =
40 ⋅ 200 L
Figure 1-5 Vitesse d’avance
Exemple 1.1 :
0→1 1→2 2→3 3→4 4→0
G91 G00 X100 Y200; G01 X300 F300; G00 Y-70; G01 X-300 F70; G00 X-100 Y-130;
SYS856 Techniques avancées en fabrication assistée par ordinateur
17
Interpolation circulaire G02, G03 Il s’agit d’un mouvement d’avance circulaire effectué d’une position actuelle à un point programmé. Les coordonnées du point à atteindre ainsi que le rayon de l’arc, ou la position du centre, sont spécifiées au bloc courant ainsi qu’aux blocs suivants l’introduction du code d’interpolation circulaire de type modal. Ce mouvement s’effectue à la vitesse d’avance programmée par l’intermédiaire du mot « F ». Le code G02 décrit une trajectoire en sens horaire tandis que le G03 traduit un mouvement anti-horaire.
B G2
G02 : sens de rotation horaire
A
A G3
G03 : sens anti-horaire
B
Figure 1-6 Interpolations circulaire G02 et G03 Les paramètres à spécifier lors de l’introduction du code G02 ou G03 sont les suivants (Figure 1-7) : 1. Les coordonnées du point à atteindre, accompagnant les mots X, Y et Z 2. Le rayon de l’arc de cercle OU les coordonnées du centre de l’arc accompagnant les mots I, J, et K
SYS856 Techniques avancées en fabrication assistée par ordinateur
19
Figure 1-7 Spécification de l’interpolation circulaire Pour la méthode recourant à la spécification du centre, ce dernier doit être situé à l’intérieur d’une zone de tolérance admissible par rapport au centre théorique. La distance séparant le point de départ de l’arc avec le centre spécifié doit être suffisamment près de la distance séparant le point d’arrivée avec ce même centre. Si cette distance excède la limite admissible par le CNC, une alarme sera déclenchée (Figure 1-8). De plus, pour certains contrôleurs, les coordonnées « i, j, k » sont spécifiées en relatif par rapport au point de départ de la trajectoire circulaire. Dans le cas de la méthode spécifiant le rayon de l’arc de cercle, deux trajectoires sont possibles, puisque le centre peut prendre deux positions, tel que montré à la Figure 1-9. L’ambiguïté est résolue par la spécification d’un rayon positif si la trajectoire souhaitée est l’arc sous tendu par un angle aigu et un rayon négatif pour les arcs sous tendus par un angle obtu (> 180 degrés, arc le plus long).
Figure 1-8 Problèmes liés à l’interpolation circulaire
SYS856 Techniques avancées en fabrication assistée par ordinateur
21
x
B 50
G02
B → C (270o)
G02 X -50 Y0 R-50
B → C (90o)
G02 X -50 Y0 R50
Avec I, J, K (aucune ambiguïté)
50
G02 X –50 Y0 IO J-50 F300
A C
Figure 1-9 Spécification d’une interpolation circulaire avec le rayon Les interpolations circulaires sont interprétées différemment selon un mode de spécification, soit en absolu ou en relatif. La figure suivante illustre la différence entre les deux spécifications.
N10 G90 G17 N15 N20 N25
G0 G1 G3 G1
X0 X100 X50 X0
Y0 Y-75 Y136.8 150 J25 Y0
N10 G90 G17 N15 N20 G91 N25 G90
cercle défini en absolu
G0 G1 G3 G1
X0 X100 X-50 X0
Y0 Y-75 Y211.8 I-50 J100 Y0
cercle défini en relatif /B
Figure 1-10 Interpolation circulaire en absolu et en relatif
SYS856 Techniques avancées en fabrication assistée par ordinateur
23
L’exemple suivant présente la spécification d’interpolations circulaires selon les deux modes possibles. Exemple 1.2 : Y B
+
80
R40
40
A R60
50
A→B B→C A→B B→C
C
x
20
90
150
MÉTHODE R
MÉTHODE I, J, K
G90 G03 X90 Y80 RY0 F300 ; G02 X150 Y20 R60 F301; G91 G03 X 40Y40R40 F300; G91 G02 X 60Y – 60R60 F301
G90 G03 X 90 Y80 I0 J40 F300 G02 X 150 Y20 I0J-60 F301 G91 G03 X 40Y40 I0J40 F300 G91 G02 X 60Y-60 I0J-60 F301
X
Plans d’interpolation : La spécification de l’interpolation circulaire étant dans un plan, ce plan d’interpolation doit donc être sélectionné avant l’activation de la commande. Les trois plans XY, ZX et YZ sont respectivement activés par le biais des codes G17, G18 et G19 (Figure 1-11). Par défaut tous les contrôleurs travaillent dans le plan XY (G17). Ces codes sont de type modal.
SYS856 Techniques avancées en fabrication assistée par ordinateur
25
G17 = G18 = G19 =
XY ZX YZ
G17 par défaut
Figure 1-11 Plans G17, G18 et G19
1.5
Spécification de la vitesse d’avance
Avance par minute G94 G94 G01 X_Y_Z_F20;
F
pouce/min (inch/min) mm/min
F
pouce/rev. mm/rev.
Avance par rotation G95 G95 G01 X_Y_Z_F1.2; Avance en temps inverse G93 G93 G91 G01 X100. F5.; Y50.F10.; Calcul de l’avance : a) interpolation linéaire G01 F=
vitesse (po min ) distance po
distance =
Δx 2 + Δy 2 + Δz 2
SYS856 Techniques avancées en fabrication assistée par ordinateur
27
b) interpolation circulaire (G02, G03) F= Exemple 1.3 :
vitesse distance circonférentielle
mm/min mm
Pour une vitesse d’avance à la pointe d’outil égale à 500 mm/min et un déplacement de 100 mm, l’avance en temps inverse est calculée comme suit :
500 mm/min ⎛ ⎞ = 5⎟ ⎜F = 100 ⎝ ⎠ G93 G91 G01 X 100 F5 La vitesse d’avance F doit être spécifiée à chaque instruction. Pourquoi l’avance en temps inverse ? La vitesse d’avance est la résultante des vitesses de chaque axe, linéaire ou rotatif (sans aucune distinction). Z
c Y
G01 F91 Xa Yb Zc F f ; Selon x Selon y Selon z
b
X
a⋅f L b⋅ f Fy = L c⋅ f Fz = L
a
Fx =
L=
F = = F = f
a2 + b2 + c2
Fx2 + Fy2 + Fz2 a2 f L2
2
+
b2 f L2
2
+
c2 f L2
2
a2 + b2 + c2 = f a2 + b2 + c2
SYS856 Techniques avancées en fabrication assistée par ordinateur
29
Lorsqu’un axe rotatif est commandé, il est considéré comme un axe linéaire avec des unités en degrés. Une compensation linéaire est effectuée, ce qui fausse la vitesse atteinte. G01G91 X100 . C90 F200 ; Avance selon l’axe rotatif
1.6
90 ⋅ 200 L 100 . 200 Fx = L
Fc =
L = 100 2 + 90 2
Les fonctions auxiliaires (codes M)
Les fonctions auxiliaires permettent l’activation de différentes options épuisant la machine. La liste suivante présente les codes disponibles avec la machine-outil Hitachi Seiki. M0 M01 M03 M04 M05 M06 M08 M09 M19 M50
arrêt machine (stop) arrêt optionnel (optional stop) broche sens horaire (CW spindl ON) broche sens anti horaire (CCW spindl ON) arrêt broche (stop spindl) changement d’outil automatique (auto tool change sequence) fluide en jet (flood coolnt) arrêt fluide (stop coolnt) arrêt broche et orientation (stop spindl and orient) fluide à travers la broche (THRU coolnt)
M30 M02
Fin de programme et rebobinage (End and rewind) Fin de programme (end of program)
M68 M69
autoblocage axe B (B axis CLAMP ON) arrêt autoblocage axe B (B axis CLAMP off)
M78 M79
autoblocage axe A (A axis CLAMP ON) arrêt autoblocage axe A (A axis CLAMP off)
M99
Retour d’un sous-programme (ENDSUB)
G65
Appel d’un sous-programme (CALSUB)
SYS856 Techniques avancées en fabrication assistée par ordinateur
31
1.7
La spécification des changements d’outil
La séquence de changement d’outil est variable et dépend directement de la machine plutôt que du contrôleur équipant celle-ci. Dans le cas de la machine-outil Hitachi Seiki avec changeur d’outil, la séquence suivante doit être respectée : T0; T0 M06; T01; TXX M06 provoque le changement physique TXXXX prépare l’outil, rotation de la chaîne pour la position de changement
T01 M06; T02; G90 X0 Y0 Z0;
usinage avec T1 T02 M06; T07; usinage avec T2 T07 M06; T0; usinage avec T7 T0 M06; M2 L’outil T0 est un outil « dummy ». Il est utilisé afin d’initialiser la machine avec un état libre d’outil dans la broche. 1.8
La structure d’un programme typique
Une démarche de programmation de trajectoires d’outils en code G est proposée pour uniformiser les programmes et s’assurer de n’oublier aucune information essentielle au bon fonctionnement de la machine. 1. section début du programme 2. section initialisation 3. séquence de changement d’un premier outil 4. démarrage broche, arrosage et autres selon le besoin 5. mouvement de première approche
bris de mouvements simultanéité d’axes en rapide
SYS856 Techniques avancées en fabrication assistée par ordinateur
33
6. usinage 7. mouvements de retrait aux références 8. broche, arrosage et autres (arrêt) 9. changement d’outil 10. fin de programme Exemple de programme
Section début N1
00005;
fin de bloc
N2
(exemple de programme);
numéro de programme FANUC « 0 » number commentaire (Hitachi aucune fin de bloc)
Section initialisation G20 G40 G49 G50 G64 G69 G80 G90 M69 M79
(impérial, cutcom φ , cutcom L, scale off, mode usinage, mode rotation OFF, cycle OFF, ABS) (clamp B (tilt) OFF, clamp A off
Changement d’un premier outil G91 G30 G0 Z0 G30 X0 Y0 G30 A0 B0 T0 T0 M6 TXX
G91 G30 Z0 G30 X0 Y0 G30 A0 B0 TXX M6 TXX
Séquence de changement d’outil (Hitachi)
Usinage S1000 M3 M8
(broche CW 1000 RPM) (arrosage ON)
SYS856 Techniques avancées en fabrication assistée par ordinateur
35
G90 G43 G00 Z_HXX
(activation compensation longueur)
G94 G01 X_ Y_ Z_ F
mouvements de coupe, spécification de l’avance
M5 M9 G40 G49 G80
Arrêt de la broche et de l’arrosage toujours désactiver les cycles et les compensations lorsque l’utilisation est terminée G40 avec mouvement linéaire G49 avec mouvement selon Z
Changement d’outil à la fin
G91 G30 Z0 X0 Y0 T0 M6
Fin de programme. M30
SYS856 Techniques avancées en fabrication assistée par ordinateur
37
Chapitre 2 2 2.1
Les systèmes de référence et de décalage d’outils
Les systèmes de référence
La programmation des trajectoires d’outils pour une pièce donnée réfère toujours à un système de coordonnées à partir duquel les points de la trajectoire sont exprimés. Ce système est choisi dans le système de FAO utilisé pour la programmation. Les machines-outils travaillent toutes à partir d’un système de coordonnées machine dont l’origine, appelée le « zéro machine » Om, constitue la première position de référence. La correspondance entre les deux systèmes de référence doit être établie dans le contrôleur afin que celui-ci puisse faire les opérations de transformation requises pour chaque mouvement d’outil exprimé en code G par rapport au référentiel programme OP. La correspondance est facile à établir, la position théorique de ces deux référentiels étant connue et souvent représentée physiquement dans la configuration personnalisée du système de FAO d’une entreprise. Dans le cas où le montage de la pièce dans le système de montage est persistant et répétitif, la correspondance théorique des systèmes de référence ne pose pas de problème. Dans le cas d’un montage imprécis de la pièce par rapport au système de référence machine, la position exacte du système de référence programme doit être déterminée. Concrètement, cette opération peut être accomplie à l’aide d’un palpeur tactile pour déterminer l’intersection de trois faces de la pièce, qui va devenir l’origine du référentiel programme. Dans les cas où ce palpage est impossible pour déterminer le référentiel programme, un référentiel pièce Op doit être établi par palpage physique, et la relation théorique entre ce référentiel pièce et le référentiel programme doit être entrée comme donnée de compensation dans le contrôleur.
Figure 2-1 Systèmes de coordonnées machine, pièce et programme
En définitive, les paramètres numériques exprimant la position relative du référentiel programme par rapport au référentiel machine doivent être entrés dans la table de décalage de référentiels « working offset » du contrôleur de machine. Si ces valeurs sont impossibles à déterminer, un référentiel palpable sera identifié comme référence pièce, et les paramètres de ce dernier constituent les entrées de la table de décalage. La correspondance théorique connue entre le référentiel programme et le référentiel pièce est établie soit dans le programme NC ou directement dans la table de décalage par des paramètres de décalage additionnels.
Op OP
Om Figure 2-2 Expression des référentiels machine, pièce et programme
Zm Ym
(contact outil Ø donné avec faces de la pièce)
Zp
Om Xm
Yp
(Op)m = (5; - 3,5; - 12,8)
Op
Xp
Figure 2-3 Position du référentiel programme exprimée en coordonnées machine
SYS856 Techniques avancées en fabrication assistée par ordinateur
41
Il existe deux méthodes pour établir les systèmes de référence programme, soit l’utilisation d’une commande G92 entrée manuellement avec l’éditeur du contrôleur de la machine ou l’utilisation des tables de décalage de référentiel, celles-ci étant référencées à l’aide d’un code G dans le programme identifiant le repère dans lequel les coordonnées de mouvements sont exprimées. 2.1.1 Définition d’un référentiel avec le code G92 Les coordonnées X, Y et Z accompagnant le code G92 spécifient la position actuelle de l’outil de coupe exprimée dans le système de référence programme qu’on veut définir. Ayant palpé la pièce pour connaître la position de l’origine programme dans le repère machine (Figure 2-3), la procédure généralement utilisée pour définir le repère programme avec le code G92 est de positionner l’outil au zéro machine (G91G28X0Y0Z0) et d’entrer les coordonnées avec signe inverse afin de bien indiquer la position de l’outil par rapport au référentiel programme (Figure 2-4). G92 X –5 Y3.5 Z12.8
Om
G92
(Om)p
Op
Figure 2-4 Définition d’un repère programme avec G92
2.1.2 Définition d’un référentiel avec les codes G54 à G59 Lorsque le contrôleur de machine-outil dispose des fonctions de décalage des référentiels (il s’agit souvent d’une option à acquérir), il est possible de définir et de changer de système de référence très aisément à même le programme d’usinage NC. Pour le contrôle Fanuc 15M, six systèmes de référence programme peuvent être définis et utilisés dans un même programme. Les paramètres définissant ces systèmes de référence sont modifiables en tout temps par le biais d’une commande G10 accompagnée des valeurs de décalage relatives à chaque axe de la machine. La figure suivante illustre la table de décalage des référentiels programme telle qu’on la retrouve sur la console des contrôleurs de machine.
SYS856 Techniques avancées en fabrication assistée par ordinateur
43
Décalage Système 1 G54 X 4 Y -2 Z 0 A 0 B 0 C 90
Système 2 G55 8 5 0 0 0 0
Système 3 Système 4 G56 G57 25 12 20 -8 3 2 0 0 0 0 0 0
Système 5 Système 6 G58 G59 4 1 -4 2 0 0 90 0 0 0 0 0
Figure 2-5 Table définissant les décalages de référentiels programme
La Figure 2-6 montre les coordonnées des points A, B, C et D selon que les programmes d’usinage réfèrent au système de référence G54 ou G55. YM
YP2 YP1 A
2
5
G54
D
4
G55
B
XP2
XP1
C
8 XM 4
OM
G92 X-4Y-4Z0 A B C D
X0 X2 X0 X-2
Y2 Y0 Y-2 Y0
Z0 Z0 Z0 Z0
G54 X0 X2 X0 X-2
Y2 Y0 Y-2 Y0
G55 Z0 Z0 Z0 Z0
X-4 X-2 X-4 X-6
Y1 Y-1 Y-3 Y-1
Z0 Z0 Z0 Z0
Figure 2-6 Interprétation des systèmes de référence programme
Le retour au système de référence machine est toujours possible en utilisant le code G53. G53
X xm Y ym Z zm
A am
SYS856 Techniques avancées en fabrication assistée par ordinateur
B bm
C cm 45
2.1.3 Système de référence programme défini à partir d’un repère pièce Lorsque la pièce ne peut être palpée directement pour définir le référentiel programme, un système de référence pièce doit être défini. Il existe deux moyens simples de définir le repère programme à partir de la position théorique connue de l’origine programme par rapport au repère pièce. La première consiste à utiliser la commande G92 appliquée au système G54, défini comme étant le repère pièce tel que palpé. Les paramètres de décalage considérés avec le G92 correspondent à la position théorique de l’origine du repère pièce exprimée dans le repère programme. La figure suivante illustre la définition du repère programme à l’aide de G92.
Yp
G54
YP1 Op
Xp
G541 O1P
X1P
Om (Op)P = (-10,10)
G92 X -10 Y10 ZO
Figure 2-7 Repère programme et repère pièce
L’autre façon de spécifier le repère programme consiste à compenser le G54 défini comme repère pièce à l’aide de la commande G10 directement dans le programme NC.
SYS856 Techniques avancées en fabrication assistée par ordinateur
47
2.1.4 Positions de référence des MOCN Il est possible de prédéfinir jusqu’à quatre positions de référence par le biais des paramètres machine protégés en mémoire du contrôleur. Les paramètres modifiables définissant les positions de référence pour le contrôleur Fanuc se trouvent aux adresses numéros 1240 à 1243. La figure suivante présente quatre positions de référence différentes accessibles par le biais de la commande G30. Ces références sont persistantes tant et aussi longtemps qu’une intervention directe sur le contrôleur n’est pas entreprise pour les altérer par une personne autorisée. Ces positions de référence s’ajoutent à la référence machine qui est activée à l’aide du code G28. Le déplacement aux quatre autres positions de référence est respectivement activé par le biais du code G30(P1), G30P2, G30P3 et G30P4, selon la syntaxe expliquée ci-dessous. Il faut noter que la deuxième position de référence identifiée par G30 correspond à la position de changement d’outil et est réservée à cet effet.
YM 2e réf. 3e réf.
1re réf.
OM
4e réf.
XM
Référence machine (OM) : 1re référence : 2e référence : 3e référence : 4e référence :
G28 G30(P1) G30P2 G30P3 G30P4
(1re référence) (changement outil pour ATC * important)
Figure 2-8 Positions de référence
La technique afin de positionner l’outil à l’une ou l’autre des positions de référence est la suivante : G91 G28 G0 Z0; G91 G28 G0 X0 Y0; G91 G28 G0 A0 B0 C0;
SYS856 Techniques avancées en fabrication assistée par ordinateur
49
Il s’agit d’un déplacement relatif de 0 unité selon chacun des axes par rapport à la position de référence spéficiée par G28 ou bien G30. Le mouvement est brisé en trois blocs afin d’éviter toute collision entre la broche et le montage. Le déplacement aux positions de référence est toujours un retrait d’outil, donc le premier axe à déplacer est l’axe d’outil, l’axe Z. Par la suite, avant d’activer les axes rotatifs, il est préférable d’éloigner l’outil du montage à l’aide des axes X et Y. La commande est terminée par le positionnement des axes de rotation à leur position de référence respective. 2.2
La compensation des outils
Dans les sections précédentes, on réfère souvent à la notion de positionnement d’outil. Il est important de spécifier que le positionnement de l’outil calculé par les systèmes de FAO considère en fait, comme point de référence, la position du centre de l’outil à la pointe de ce dernier. Cependant, le contrôleur de machine déplace les axes par défaut de manière à positionner non pas la pointe de l’outil mais plutôt le point de référence qui consiste au point central de la face de la broche (Figure 2-9). Il est donc primordial d’informer le contrôleur de la longueur de l’outil chargé dans la broche et de lui commander une compensation en longueur par le biais d’une instruction en code G.
Figure 2-9 Compensation en longueur
SYS856 Techniques avancées en fabrication assistée par ordinateur
51
Dans le cas où la compensation d’outil en longueur n’est pas activée, une collision dommageable pour la machine peut se produire. Prenons l’exemple présenté à la figure suivante. Un déplacement à la position ZP = 0 est commandé alors qu’un outil est chargé dans la broche et qu’aucune compensation n’a été demandée par le programmeur. En théorie, le mouvement aura pour effet le déplacement de la face inférieure de la broche au niveau de la surface de la table, ce qui cause une collision et le bris de la machine. La longueur Loutil (Figure 2-11) doit être mesurée et entrée dans la table de compensation d’outil du contrôleur (Figure 2-12). La commande activant la compensation en longueur doit également être spécifiée dans le programme à la suite de tout chargement d’outil ou suivant chaque retour à une position de référence. Les codes G43 et G44 permettent cette compensation (l’utilisation de ces codes est présentée à la section suivante).
Collision si aucune compensation en longueur spécifiée !
Aoutil
Figure 2-10 Effet de la compensation d’outil en longueur
Figure 2-11 Longueur normalisée d’un outil avec porte-outil de type CAT
SYS856 Techniques avancées en fabrication assistée par ordinateur
53
La table de définition des longueurs d’outils inclut deux paramètres, soit la longueur nominale et la compensation d’usure. Le diamètre d’outil est similairement compensé par le biais de la même table. La longueur nominale est utilisée par le système de FAO pour la planification des trajectoires. Dans la vraie vie, il est difficile de monter un outil de coupe exactement selon la longueur nominale spécifiée. De plus, au cours de la vie utile de l’outil, une certaine usure en longueur et en diamètre sera observée. Ainsi, la vraie longueur telle que mesurée à l’aide d’un palpeur ou d’une station de préréglage (Figure 2-13), constitue la somme de la valeur nominale et de l’usure. Le paramètre d’usure devrait explicitement apparaître dans le tableau, car ce dernier peut être ajusté en fonction du temps d’usinage. Si de tels dispositifs de mesure ne sont pas disponibles, un comparateur peut faire le travail à peu de frais (Figure 2-14). La Figure 2-15 résume bien les paramètres importants à considérer lors de la mesure des outils, aussi bien en fraisage qu’en tournage. En considérant les trois types de système de mesure d’outils, le système de préréglage optique, dédié à cette tâche, permet le contrôle des angles et des rayons en coin. T
Nom
001 002 . . .
EM05 BEM025
Nom 7,500
Longueur Usure -0,010
Rayon Nom 0
Usure -0,005
Figure 2-12 Table de définition des outils (CNC)
Exemple de calcul fait par le contrôleur de machine lorsque la compensation en longueur est activée (G43). L’exemple est relatif à l’outil EM05, soit l’outil T1, apparaissant à la table de la Figure 2-12 : Cordonnée Z compensée = Z (Z P + A ) (transparent à l’usager)
Déplacement programme Déplacement réel de la broche
A = A nom
+
A usure
A = 7,500 − 0,010 = 7,490
ZP = 0 Z = 7.490
Figure 2-13 Banc de préréglage optique ou mesure des outils par palpage sur MOCN SYS856 Techniques avancées en fabrication assistée par ordinateur
55
Figure 2-14 Comparateur pour la mesure des outils
Figure 2-15 Paramètres caractéristiques des outils
2.2.1 Commande utilisée pour initier la compensation en longueur Tel que mentionné ci haut, les codes G utiles à l’activation de la compensation en longueur sont G43 et G44. Ces codes doivent accompagner un mouvement selon l’axe Z lors de l’activation et le registre H associé à l’adresse d’entreposage de l’information de décalage doit être spécifié à défaut de quoi, certains modèles FANUC prendront comme valeur le registre associé au numéro d’outil. D’autres modèles tomberont en mode d’alarme. La compensation en longueur DOIT être activée au premier mouvement en Z suivant le changement d’outil, autrement une collision est à prévoir. G43 Zxx H01
SYS856 Techniques avancées en fabrication assistée par ordinateur
57
2.2.2 Annulation de la compensation en longueur L’annulation de la compensation en longueur se fait à l’aide du code G49, ou encore par le biais de la séquence G43 H00, le registre H00 attribue une longueur nulle de l’outil en cours, ce qui cause implicitement l’annulation de la compensation. Il est très important de savoir que les codes de retour à une position de référence G28, G30, G30P2, G30P3 et G30P4 annulent automatiquement les compensations d’outils. Il est donc impératif de réactiver la compensation en longueur à la suite de tout retour à une position de référence, autrement les collisions deviennent inévitables. ou ou
G49 G43 H00 un retour à une position de référence G28 G30 G30P2 G30P3 G30P4
Le code G44 permet également une compensation en longueur. La compensation dans ce cas est appliquée vers le bas. La valeur en Z programmée est retranchée de la valeur égale à la longueur d’outil spécifiée dans le registre H. L’utilisation de G44 n’est pas répandue. Il est recommandé de choisir un type de compensation et de s’y tenir pour tous les programmes d’usinage afin d’éviter une confusion possible qui mettrait en péril l’intégrité des machines. L’exemple ci-dessous présente l’utilisation des deux codes de compensation G43 et G44. Exemple 2.1 :
Compensation en longueur : Programme NC G54 G90 G00 X0 Y0 ; G43 Z0 H01 ; G01 Z-30 F500 ; Z-100 ; G49 Z0 ;
G44 Z0 H02 G01 Z-30 Z-100 G44 compensation vers le bas G43 compensation vers le haut
Z commandé
H01 = 200
Compensation
0 -30 -100 0 Z commandé 0 -30 -100
200 170 100 Collision (-200) H02 = -150 150 120 50
200 + 0 200 + (-30) 200 + (-100) 0 Compensation -(-150) + 0 -(-150) + (-30) -(-150) + (-100)
direction Z - : Z = z - A direction Z + : Z = z + A
2.2.3 Mesure des outils par comparaison à un étalon Des appareils permettant la mesure des outils ont été présentés plus haut. Une autre technique très simple et directe, sans recourir à aucun appareil, est souvent utilisée. Il s’agit de la comparaison de l’outil à un étalon. Tel qu’illustré à la figure suivante, la technique consiste à appuyer l’outil sur un élément de référence et de prendre note de la coordonnée Z machine, puis de refaire l’exercice avec un étalon plutôt qu’avec l’outil de coupe. La longueur d’outil est déduite par comparaison des valeurs Z machine vues, connaissant la longueur étalon. SYS856 Techniques avancées en fabrication assistée par ordinateur
59
ZM
On
XM
ZO ZG
Ao
étalon LG
TABLE/RÉF.
Z G = 300 Z G + LG = Z O + A O
A O = (Z G − Z O ) + LG
Z O = 280 LG = 20
A O = (300 − 280) + 20 = 40 mm
Figure 2-16 Longueur d’outil par comparaison à un étalon
2.2.4 Décalage des rayons d’outils Le décalage des rayons d’outils permet à la trajectoire programmée en FAO, ou bien directement en code G, d’être compensée d’une valeur radiale égale à la spécification donnée dans la table du contrôleur. Tout comme la longueur d’outil, les paramètres de compensation incluent une valeur nominale (géométrique) et une valeur d’usure. Lorsque la trajectoire est développée à « main levée », sans l’aide d’un outil FAO, il est d’usage courant de recourir à la compensation complète du rayon d’outil à partir du code G représentant la trajectoire du centre d’outil le long de la géométrie nominale du dessin. Lorsqu’un système de FAO est utilisé, le calcul de la compensation de la trajectoire est effectué par le logiciel à partir du rayon nominal de l’outil de coupe, tel que spécifié dans la librairie d’outil résidente dans le logiciel de FAO. Ainsi, le paramètre nominal de compensation du rayon entré dans la table du contrôleur est nul, alors que le paramètre d’usure permet de compenser légèrement pour la différence radiale entre le nominal et la valeur réelle telle que mesurée pour l’outil. La figure suivante illustre un parcours d’outil programmé à partir d’une géométrie nominale, ainsi que la trajectoire décalée d’une valeur égale au rayon de l’outil, tel que mesuré à l’aide d’une station de préréglage par exemple. Concernant la direction du décalage, deux codes G permettent d’ordonner un décalage à droite de la trajectoire programmée ou un décalage à gauche de cette dernière. On distingue un décalage à gauche d’un décalage à droite en regardant la direction du mouvement de l’outil. Un observateur regardant dans la direction du déplacement verra un décalage à gauche ou à droite selon la position d’outil par rapport à la trajectoire. La Figure 2-18 illustre bien la différence entre ces décalages. Lorsque la valeur de décalage spécifiée est négative, alors la direction est inversée. Le décalage à droite devient à gauche et vice-versa (Figure 2-19). SYS856 Techniques avancées en fabrication assistée par ordinateur
61
Figure 2-17 Décalage de trajectoire NC
Décalage à gauche : G41 Décalage à droite : G42
Figure 2-18 Décalage à gauche et décalage à droite
SYS856 Techniques avancées en fabrication assistée par ordinateur
63
Figure 2-19 Spécification d’un décalage avec valeur négative
La spécification du décalage sur le rayon d’outil est effectuée par le biais des codes G41, pour un décalage à gauche, ou encore G42, pour un décalage à droite. Le code doit accompagner un mouvement réel selon un des axes du plan dans lequel le décalage est appliqué. Le code doit également être accompagné du registre « D » permettant d’identifier l’adresse où les valeurs de compensation sont spécifiées. Le numéro accompagnant le registre n’est pas nécessairement celui de l’outil. Spécification à l’aide d’un registre :
G41 X Y Z D01
Annulation du décalage : Tout comme le décalage en longueur, l’annulation du décalage de rayon d’outil peut se faire par deux codes dédiés. Il peut également être effectué de manière indirecte par le biais de codes de retour aux positions de référence : G40 accompagné d’un mouvement G41 ou G42 accompagné de D0 (registre D sans valeur) ou encore G28
G30
G30P3
G30P4
Tel que mentionné plus haut, les décalages en rayon sont toujours appliqués dans un plan de référence, soit l’un ou l’autre des plans XY, ZX ou YZ. Ces plans de référence sont appelés par le bais des codes respectifs G17, G18 et G19 (Figure 1.11).
SYS856 Techniques avancées en fabrication assistée par ordinateur
65
Le décalage de rayon demande au contrôleur un calcul à chaque mouvement effectué. Ainsi, certaines règles d’application doivent être respectées par le programmeur NC afin de s’assurer de l’applicabilité des compensations commandées. Tel qu’illustré à la Figure 2-20, la première règle à respecter concerne l’activation de la compensation sur un mouvement linéaire seulement (G00 ou G01). Le contrôleur de machine-outil ne prévoit pas le calcul visant l’activation d’une compensation sur une trajectoire circulaire (G02 et G03). L’outil abordant un mouvement circulaire doit nécessairement être en mode de décalage de rayon afin d’éviter toute anomalie. La Figure 2-21 illustre la difficulté qu’ont les contrôleurs de compenser un rayon sur un mouvement circulaire. Pour activer une compensation alors que le premier mouvement de coupe est un arc circulaire, il s’agit d’ajouter un mouvement d’approche linéaire qui précède l’arc de cercle et de commander le G41 ou le G42 sur le mouvement linéaire ajouté (Figure 2-22). Le mouvement peut être rapide ou en vitesse d’avance sans que cela ne fasse différence en ce qui concerne la compensation.
G17 G41 G01 Xx2 Yy2 D01 X x3 Yy3 G40 Xx4 Yy4
(activation de la compensation sur un mouvement linéaire) (déplacement au point 3) (annulation complète du décalage à l’arrivée au point 4)
Figure 2-20 Activation de G41 ou G42 sur un mouvement linéaire
P2
Les CNC ne peuvent pas calculer cette interpolation/trajectoire.
Figure 2-21 Application d’une compensation sur un arc de cercle SYS856 Techniques avancées en fabrication assistée par ordinateur
67
P3 P2
G 41G 01X x 2 Yy 2 Δ01 G 02
P3
G 40
P4
P1
Figure 2-22 Ajout d’un mouvement linéaire pour l’application de la compensation
La technique d’ajout d’un mouvement linéaire à un arc de cercle est très répandue puisque les arcs de cercle sont généralement utilisés pour aborder la matière à usiner lors de l’usinage de profils de pièces. Ainsi, l’entrée circulaire tangentielle doit être pleinement compensée en rayon afin d’obtenir le maximum de précision dimensionnelle pour la géométrie usinée. La Figure 2-23 illustre la démarche d’entrée circulaire tangentielle avec un mouvement linéaire, effectué à priori, à partir duquel la compensation est activée. La Figure 2-24 montre l’importance d’une entrée adéquate dans la matière lors de l’usinage de profils. En fait, dans ce cas précis, l’entrée avec un angle supérieur à 90 degrés cause un enlèvement excessif de matière (« gouging ») dans la partie utile de la pièce finale à obtenir !
G 41
¾
approche tangentielle dans la pièce
Figure 2-23 Approche tangentielle et application de la compensation
SYS856 Techniques avancées en fabrication assistée par ordinateur
69
o
90
coupe excessive
Figure 2-24 Approche tangentielle et application de la compensation
Les contrôleurs possèdent différents algorithmes de calcul permettant l’introduction transparente de mouvements simplificateurs ou optimisant les trajectoires programmées. La Figure 2-25 et la Figure 2-26 illustrent quelques exemples de type de mouvements effectués dans différentes situations.
Figure 2-25 Correction de trajectoires à l’intersection de deux segments
SYS856 Techniques avancées en fabrication assistée par ordinateur
71
bissectrice
centre
R normale
• R contour à exécuter
point à calculer
Figure 2-26 Décalage des trajectoires dans le cas des angles rentrants
Dans certains cas, l’anticipation de lecture du contrôleur, limitée à deux blocs, ne permet pas de compenser adéquatement les trajectoires. Cela a pour effet la mise en alarme des contrôleurs afin d’éviter des coupes excessives dans la pièce, résultant d’aberrations algorithmiques ou mathématiques. La Figure 2-27 en cite deux exemples. L’ensemble des cas de figure est traité de manière exhaustive dans les manuels de programmation accompagnant la machine-outil. Il est important d’en prendre note, notamment lors du développement avancé de post-processeurs.
•
Figure 2-27 Types de contours mettant en défaut certains contrôleurs
Finalement, les cas de compensations en 2D sont toujours appliqués dans un plan du trièdre normal d’une machine-outil. La plupart des machines supportent ce type de compensation, tout en gérant d’un niveau différent les situations d’exceptions. Les nouvelles technologies en matière de contrôleurs permettent la compensation en 3D. Cette compensation est effectuée en considérant le vecteur d’orientation d’outil en un point donné de la trajectoire, ce qui permet un maximum de précision dimensionnelle et géométrique dans le cas de l’usinage 3 axes de surfaces complexes ou encore dans le cas de l’usinage multiaxe. En multiaxe, la compensation du rayon selon les plans G17, G18 ou G19 n’est plus efficace. L’option de compensation en 3D devient alors très utile pour les usinages de grande précision.
SYS856 Techniques avancées en fabrication assistée par ordinateur
73
L’exemple suivant résume l’utilisation des compensations d’outils. Exemple 2.2 :
Usinage de profil en considérant les compensations d’outils. y
z
80 60
40 40
0
z
20
20
20 x
G 54
100
D01= 15 mm – 0.02 T01 (END Mill φ 30 ) TO1 MO6 G90 G54 G00 X40; G43 Z-20 H01 G17 G41 G01 X 100 Y20 D01 F120 Y60 X 140 Y80 G02 X 180 Y40 R40 X 160 Y20 R20 G01 X 90 G00 Z30 G40 X 0Y0 G91 G28 Z0 X 0Y0 M30
SYS856 Techniques avancées en fabrication assistée par ordinateur
75
Chapitre 3 3 3.1
Les cycles fixes
Introduction
Les cycles fixes sont des routines d’application développées par les manufacturiers de machine dans le but d’améliorer l’efficacité de la programmation et de l’usinage de caractéristiques répétitives telles les trous de toutes sortes. Les cycles sont résidents dans les contrôleurs de machine et sont facilement utilisables par le biais d’une simple syntaxe en code G, faisant intervenir de multiples paramètres contrôlant l’usinage. En général, toutes les machines sont dotées de cycles de perçage de base, tels que ceux présentés ci-dessous. Certaines machines offrent une gamme beaucoup plus étendue de cycles qui permettent notamment des usinages de pochettes et d’îlots de différentes géométries. Ce chapitre présentera les mouvements typiques d’un cycle de perçage, puis détaillera les différents cycles, soit : le perçage simple, le perçage profond avec débourrage, le taraudage, le cycle d’alésage fin et le cycle de contre alésage. Deux exemples démontreront l’utilisation des cycles en usinage de multiples trous. 3.2
Mouvements typiques d’un cycle
Pour l’ensemble des schémas présentés dans ce chapitre, les traits en continus représentent des mouvements en vitesse d’avance alors que les traits pointillés sont associés à des déplacements rapide. Tel qu’illustré à la figure 3.1, il y a principalement cinq mouvements typiques intervenant lors d’une procédure de cycle d’usinage. Le premier mouvement concerne la mise en position de l’outil au dessus du premier trou à percer, dans le plan de perçage sélectionné à l’aide des codes G17 à G19. Le niveau initial, soit le niveau Z (dans le cas de G17), est défini comme étant le plan z0 associé à la coordonnée du point de déplacement précédant l’activation du cycle. Il s’agit du plan de retrait de l’outil à la fin de la séquence du cycle. Le deuxième mouvement est le déplacement d’approche en rapide jusqu’au niveau du plan R, plan de « clearance ». Par la suite, le mouvement de perçage en vitesse d’avance est effectué jusqu’à la profondeur spécifiée, puis une opération de fond de trou est activée dans le cas de cycles particuliers. Il faut noter que le mouvement #3 de perçage peut être interrompu dans le cas de certains types de cycles (perçage profond). Le mouvement #5 ou #6 décrit un retour en vitesse rapide ou en vitesse d’avance, selon le type de cycle. Le retour peut s’effectuer à deux positions distinctes, selon le choix du programmeur. La première position d’arrêt est le plan R. Ce dernier est choisi lorsqu’une succession de trous sont percés sans qu’il y ait de présence d’obstacles (îlots) entre chacun d’eux. Le petit retrait au dessus de la surface permet de minimiser le plus possible les déplacements rapides et de rendre ainsi le perçage de nombreux trous successifs le plus efficace possible. Le deuxième plan de retrait est le plan initial (niveau Z). Il permet un passage au-dessus des obstacles et termine bien une séquence de perçages multiples en logeant l’outil à une position sécuritaire. La sélection du plan de retour se fait par le biais des codes G99 (niveau R) et G98 (niveau Z). Le type d’incrémentation G90 ou G91 de même que le plan de référence doivent également être spécifiés pour l’ensemble des cycles. Le plan par défaut est le G17.
1
position initiale (retour)
rapide
niveau Z = z0
x0 y0 z0
avance
6 2 niveau R (clear none) x1 y1 z1
5 3
profondeur spécifiée
4
coordonnée z relative au niveau Z (G90) (point Z)
1
mise en position x y du trou 1 en rapide
2
rapide au point d’avance R
3
perçage en avance jusqu’au point Z
4
opération de fond
5
ou 6
retour rapide au niveau R ou Z
Figure 3-1 Mouvements typiques d’un cycle de perçage
La syntaxe générale des cycles en code G inclut, selon le type de cycle, un ou plusieurs des paramètres suivants (contrôleur SEICOS d’Hitachi Seiki) : G__
G ΔΔ X_ Y_
98 ou 99
# de cycle
position du trou
Z_
R_
P_
Q_
L_
F_
E_
prof. de fond
début feed
Temporisation au fond
profondeur intermittence
K (fanuc) répétition
avance
vitesse de retour
SYS856 Techniques avancées en fabrication assistée par ordinateur
79
Un code G permet d’identifier le cycle qui sera activé lors du traitement de l’information par le contrôleur de machine. La position du trou dans le plan d’interpolation doit être spécifiée de même que sa profondeur totale. Le niveau R est spécifié par le biais du mot R. La valeur accompagnant ce mot est spécifiée relativement au niveau initial Z. Pour certains cycles, une valeur de temporisation en fond de trou est spécifiée à l’aide du mot P. Il s’agit d’une pause exprimée en millisecondes, forçant l’outil à demeurer stationnaire. Concernant les cycles de perçage profond, le paramètre Q permet de définir une profondeur de perçage effectué par intermittence, c'est-à-dire un perçage total par succession de petits mouvements de perçage de profondeur Q. Le nombre d’intermittences est précisé par le biais du paramètre de répétition « L ». Le mot F précise la vitesse d’avance lors de la coupe. Si la vitesse de retour diffère de la vitesse rapide ou de la vitesse d’avance spécifiée, il est possible de recourir au mot E afin de préciser une vitesse différente. Tout comme les autres mouvements d’usinage, les cycles peuvent être exprimés en mode relatif ou absolu. Il y a une légère différence dans l’interprétation des mouvements selon l’utilisation d’un mode ou de l’autre. Les deux sections suivantes présentent les subtilités différenciant ces modes opératoires.
SYS856 Techniques avancées en fabrication assistée par ordinateur
81
3.3
Spécification d’un cycle en mode absolu (G90)
Un exemple de programme permettant le perçage en deux positions et provenant d’un système de FAO (en langage CL) pourrait avoir la forme suivante : G 0T0 / x 0 , y 0 , z 0 (-300, 200, -100) CYCLE/DRILL, DEPTH, 50, MPM, 7.0, CLEAR, 5 G 0T 0 / x 1 , y 1 , z 1 (-200, 200, -200) G 0T 0 / x 2 , y 2 , z 2 (-100, 200, -200) CYCLE/OFF
R − 95
G 98
G 99
La conversion en code G de ce programme prend la forme suivante en mode absolu : G17 G90 G99 GΔΔ X − 200 Y − 200 Z − 150 R − 95 F7 (Perçage/cycle appliqué au point 2) X − 100 G80 (Fin de cycle)
SYS856 Techniques avancées en fabrication assistée par ordinateur
83
3.4
Spécification d’un cycle en mode relatif (G91)
Le même programme spécifié en mode relatif aurait plutôt la spécification suivante :
G 98
R − 95 G 99
G17 G91 G99 GΔΔ X − 100 Y − 100 Z − 55 R − 95 F7 3.5
Cycle de perçage simple (G81)
Le perçage simple est activé par le biais du code G81. Il s’agit d’un mouvement en vitesse d’avance jusqu’au fond du trou puis d’un retrait en rapide. Les mots X, Y, Z, R et F sont requis à sa spécification.
G81 X _ Y _ Z _ R _ F _ x0 y0 z0
Z
G 98 R x1 y1 z1
G 99 Z
SYS856 Techniques avancées en fabrication assistée par ordinateur
85
3.6
Cycle de perçage profond avec débourrage « DEEP hole » ou « Peck drilling »
Ce cycle de perçage s’applique aux trous profonds requérant un dégagement du copeau répétitif lors de la coupe. C’est pourquoi le perçage est effectué avec intermittence. Deux codes sont utilisables pour les perçages profonds, le G73 et le G83. Dans le premier cas, un retour d’outil en rapide est effectué sur une distance δ, alors que le code G83 dicte un retour au plan R après chaque mouvement d’intermittence, ce qui permet un meilleur dégagement de copeau, donc un fini de surface supérieur. La valeur δ est calculée à partir Retour en rapide de après chaque intermittence G73
Retour au plan R après chaque intermittence G83
Z G 98
G 98 R
Q
Q
G 99 d
Q
d
Q Q d paramètre machine = 0.05''
de la profondeur de perçage Q à laquelle est soustraite une marge « d » dont la valeur est spécifiée dans le contrôleur de machine comme paramètre fixe. Le nombre de répétitions « L » est supérieur ou égal à la profondeur totale du trou divisé par l’intermittence. ⎡ profondeur ⎤ ⎢L ≥ ⎥ Q ⎣ ⎦
La syntaxe associée au cycle de perçage avec débourrage est la suivante : G 73 X _ Y _ Z _ R _ Q _ F _ L _ G83
SYS856 Techniques avancées en fabrication assistée par ordinateur
87
3.7
Cycle de taraudage (G74, G84)
Le cycle de taraudage permet l’usinage de trous filetés selon un « pas » conventionnel (G84) ou un « pas » inversé (G74). Puisqu’il s’agit d’un taraudage rigide, toutes les machines ne sont pas nécessairement aptes à supporter les mouvements de ce cycle. Dans le cas du cycle G74, le programmeur amorce la démarche en activant la broche en sens antihoraire (SAH). Un mouvement rapide positionne l’outil au plan R, puis la coupe s’effectue selon la longueur spécifiée. Au fond du trou, la broche change momentanément de sens de rotation pour permettre le retrait de l’outil sans endommager les filets usinés. Le retour au plan R ou au niveau initial Z se termine par la mise en rotation initiale de la broche. L’inverse de la démarche décrit le taraudage de filets à « pas » conventionnel. G74
pas à gauche
G84
(par programmeur) broche SAH (M04)
M03
SAH (auto)
Z
pas conventionnel
G 98 H SA
broche (SH)
SH
o) aut ( ) 9 (G9
R
fond
(G74)
SH (auto)
G 98 R
SH (G99)
(SAH)
(G84)
Dans le cas du cycle de taraudage, l’opérateur de machine ne doit pas intervenir au cours de l’exécution du mouvement de coupe en changeant les vitesses de rotation ou d’avance par le biais des potentiomètres « feedrate override » et « spindle override ». Un moyen de l’en empêcher est de régler le contrôleur en mode de taraudage par le biais du code G63. Ce réglage est nécessaire afin d’assurer l’intégrité du montage pièce machine. G 63 G 74 X _ Y _ Z _ R _ P _ F Suite aux taraudages, le mode d’usinage peut être réactivé par le biais de la commande G64.
SYS856 Techniques avancées en fabrication assistée par ordinateur
89
3.8
Cycles d’alésage fin ou d’alésage en tirant avec la barre à aléser (boring bar)
Le cycle d’alésage fin permet la production de trous avec grande précision. Une barre à aléser est utilisée avec ce type de cycle. Une opération de fond de trou permet l’arrêt de la broche pour dégager l’outil de la surface usinée. L’outil est par la suite retiré du trou en vitesse rapide. Le dégagement de la pointe d’outil d’une valeur spécifiée par le mot Q permet de ne pas endommager la pièce lors du retrait d’outil. La différence entre les codes G76 et G87 est la direction avec laquelle l’usinage est effectué. L’usinage en poussant est effectué de haut en bas du trou avec un retrait sans contact avec la paroi alésée. L’alésage en tirant consiste à positionner l’outil au fond du trou puis d’usiner en tirant l’outil, soit de bas en haut du trou. ( G76 , G87 )
G 76 X _ Y _ Z _ R _ Q _ P _ F
en poussant en tirant
temporisation au fond du trou valeur de dégagement au fond du trou
Z G 98
R
G 99
P
Étant donné que « Q » est une valeur modale pour tous les cycles, et que sa signification diffère dans les cas d’alésage et de perçage débourrage, il devient très important de toujours le définir à nouveau lors de l’activation d’un cycle (ne pas considérer les valeurs par défaut). Compte tenu que l’outil doit être déplacé d’une distance « q » dans une direction fixe et prédéterminée dans la routine d’exécution du cycle, la pointe de l’outil doit être préférentiellement orientée lors du chargement de l’outil dans la broche. L’orientation de la broche doit donc être activée par le biais du code M19 prioritairement à l’exécution du cycle. M19 permet l’orientation de la broche
SYS856 Techniques avancées en fabrication assistée par ordinateur
91
3.9
Cycles de perçage contre-alésage
Ce cycle permet un perçage avec un alésoir afin d’obtenir des trous d’une profondeur précise à fond plat. Le cycle est activé par le code G82 et fait intervenir un paramètre de temporisation en fond de trou afin d’améliorer le fini de surface et la précision du trou. Les autres mouvements du cycle sont identiques au perçage simple. G82 X _ Y _ Z _ R _ P _ F _ temporisation au fond du trou 3.10 Alésages divers
Plusieurs modes d’alésage sont également disponibles comme cycles de base pour la plupart des manufacturiers de machine. Pour la Hitachi Seiki, les cycles G85, G86, G88 et G89 offrent des variantes en termes de mouvement permettant de répondre à la plupart des besoins en matière d’usinage de trous de précision. G85
G86
G88
G89
retour en avance
arrêt au fond + retour rapide
boring bar au point Z (fond) temporisation P puis arrêt outil dégagement manuel
temporisation fond + retour vit. avance
3.11 Annulation des cycles et conditions particulières
Le code d’annulation des cycles est le G80. Ce code peut être spécifié seul sur un bloc ou être accompagné de mouvements. G80 : annulation des cycles Indirectement, tout cycle sera également annulé lorsque les codes G00, G01, G02 ou G03 sont activés alors que la machine est en mode actif d’usinage de cycle. Il est également important de mentionner que les corrections d’outils sont toujours ignorées en mode de cycle fixe et que la réactivation des compensations en diamètre est requise suivant un cycle.
SYS856 Techniques avancées en fabrication assistée par ordinateur
93
Exemple 3.1 : cycle de perçage simple (G81) Zp Xp
Position actuelle de l’outil P1 (1.5 ; 0 ; −1.5)
x p = 0 yp = 0 zp = 0
P2 (2.5 ; 0 ; − 1.5)
Le programme permettant le perçage successif de trous aux point P1 et P2 avec un retrait au plan R se lit comme suit : G90 G 0 Z − 1.0
G99 G17 G81 X 1.5 Z −1.6 R − 0.45 F 6.0 X 2.5 G80
G 0 Z0
(retrait à l’origine)
La profondeur Z spécifiée comme paramètre du cycle est calculée ainsi pour un foret de diamètre égal à 1 pouce et un angle de 120 degrés à la pointe d’outil (une marge de 0.05 pouce est considérée afin de bien défoncer la pièce par un perçage complet) : φ1.0
δ
Tg 60 =
φ/2 δ
δ=
0.5 ≈ 0.3 Tg 60
Z = − (0.5 + 0.75 + 0.3 + 0.05) = − 1.6
SYS856 Techniques avancées en fabrication assistée par ordinateur
95
Exemple 3.2 : cycle de perçage avec débourrage G83 Z X
position actuelle de l’outil
Zp -1.0 0.75
Z0
Z R r = 0.05''
3''
Le diamètre du trou est égal à 1 pouce. En considérant des mouvements de coupe intermittents de 0.75 pouce, et une profondeur totale de 4.1 pouces, le nombre d’intermittences est calculé comme suit : Profondeur : 3.75″ + 0.35 = 4.1 pouces de profondeur totale profondeur en intermittence : 3.4 pouces avec Q = 0.75″ G90 G 0 Z − 1.0 ; G17 G98 G83 Z − 4.10 Q 0.75 L4 F6.0
SYS856 Techniques avancées en fabrication assistée par ordinateur
97
Chapitre 4 4 Le langage APT 4.1
Introduction
L’appellation donnée au langage APT vient de « Automatically Programmed Tool ». Il s’agit d’un langage très riche en possibilités, qui permet de définir à la fois la géométrie sous forme syntaxique ainsi que les spécifications requises à l’usinage de pièces simples et complexes. Avant l’avènement des logiciels de FAO, ce langage constituait la référence dans le domaine de l’usinage à commande numérique. Les programmes en langage APT doivent être compilés, ce qui permet le calcul des trajectoires d’outils et la conversion des programmes en syntaxe CL « Cutter Location », traductible par post-traitement NC afin de produire un code G compatible à une technologie de machine-outil donnée. Ce langage permet les coupes en trois dimensions (multiaxes simultanés selon les machines) en dirigeant l’outil dans un cube imaginaire à l’aide de géométrie de construction n’appartenant pas nécessairement à la pièce. L’outil se déplaçant en 3D doit être guidé le long de la trajectoire souhaitée.
+Z
CUBE IMAGINAIRE
PIÈCE
+X
-Y
Figure 4-1 Cube imaginaire englobant la pièce à obtenir par usinage
Figure 4-2 Surface « guide » de l’outil
La démarche de planification de trajectoires repose sur la spécification de trois types de surface pour diriger l’outil. À la Figure 4-2, l’outil se déplace en ligne droite et est guidé par deux surfaces concourantes. La première surface appelée « guide » dirige le côté de l’outil de coupe alors qu’une autre surface appelée « pièce (part)» permet un contact de dessous avec l’outil. Il s’agit du plancher sur lequel repose l’outil. Les plans peuvent être imaginaires afin de guider l’outil selon une trajectoire par le programmeur. Afin de changer de direction ou d’arrêter le couteau, une 3e surface imaginaire est utilisée. Cette surface porte le nom de surface butée.
Figure 4-3 Surfaces « guide », « pièce » et « butée »
En résumé, étant donné que chaque surface a une fonction, on leur a attribué un nom fonctionnel : Surface guidant le côté de l’outil : Surface guidant le dessous de l’outil : Surface d’arrêt ou de changement de direction : SYS856 Techniques avancées en fabrication assistée par ordinateur
« guide » ou Drive Surface « pièce » ou Part Surface « butée » ou Check Surface 101
Rappel :
4.2
La surface « pièce » tout comme les autres est infinie (sans frontière) et n’appartient pas nécessairement à la pièce.
Modificateurs aux surfaces « butée »
Afin de dicter les endroits précis pour arrêter le couteau ou bien pour changer sa direction de déplacement, des modificateurs sont utilisés de concert avec les mots majeurs utilisés pour décrire les trajectoires. Le mot TO dictera l’arrêt de l’outil « avant » la surface butée, le mot ON dictera l’arrêt « sur » la surface butée alors que le mot PAST dictera un arrêt au-delà de la surface butée (Figure 4-4). Général
TO ON PAST
Particulier
TANTO PSTAN
la surface butée « check » la surface butée « check » la surface butée
Figure 4-4 Modificateurs appliqués aux surfaces butées
Lorsque le mouvement d’outil intègre l’un ou l’autre des modificateurs TO, ON ou PAST appliqué à la surface butée, l’outil peut subir un changement de direction si un ou l’autre des mots mineurs disponibles à cet effet sont utilisés dans l’instruction. Pour diriger l’outil vers la droite alors qu’il a atteint la surface butée, le mot RIGHT doit être spécifié. Similairement les mots LEFT, FORWARD, BACK, GOUP, GODOWN permettent respectivement des changements de direction vers la gauche, vers l’avant, vers l’arrière, vers le haut ou vers le bas (Figure 4-5).
SYS856 Techniques avancées en fabrication assistée par ordinateur
103
Figure 4-5 Changements de direction de l’outil en cours de trajectoire 4.3
Instructions de mouvement continu
La spécification des instructions de déplacement continu de l’outil est donnée selon le format général de base suivant : GOLFT GORGT GOFWD GOBACK GOUP GODOWN Mot majeur
(symbole) Drive Surface « guide »
TO PAST ON TANTO PSTAN
(symbole) Check Surface « butée »
Mot mineur, modificateur surface butée
Figure 4-6 Syntaxe d’un mouvement continu SYS856 Techniques avancées en fabrication assistée par ordinateur
105
Un mot majeur apparaissant devant la barre oblique permet un changement de direction lors de l’atteinte d’une surface butée. Le changement de direction fait intervenir une nouvelle surface guide pour conduire l’outil jusqu’à une nouvelle surface butée, affectée d’un modificateur de surface. Exemple 4.1 : (GOLFT et GORGT) GOLFT
L1
direction précédente GOLFT/L1, TO, L2 GOLFT L2
DS
CS
GORGT GORGT GORGT/L1, TO, L2 direction précédente
SYS856 Techniques avancées en fabrication assistée par ordinateur
107
Exemple 4.2 : (GOFWD et GOBACK)
SYS856 Techniques avancées en fabrication assistée par ordinateur
109
Exemple 4.3 : (GOUP et GODOWN)
GODOWN P1
PL2
PL1
PL3 GOTO/P1 GO/TO, PL2, TO, PLPS, TO, PL1 GODOWN/PL2, TO, PL3
SYS856 Techniques avancées en fabrication assistée par ordinateur
* Même direction que la direction négative de l’axe d’outil.
111
4.3.1 Utilisation des directions INDIRP et INDIRV Dans certains cas, il peut être nécessaire d’utiliser les mots INDIRP (dans la direction d’un point) ou INDIRV (dans la direction d’un vecteur) pour indiquer la direction de déplacement plutôt que d’utiliser les mots GORGT ou GOLFT, par exemple. On spécifie la direction INDIR(P,V) puis GOFWD :
Figure 4-7 INDIRP et INDIRV
4.3.2 Retour sur les modificateurs de surface « butée » TO :
Le mouvement se termine lorsque le couteau atteint le côté de la surface « butée ».
PAST :
Le mouvement se termine lorsque le couteau dépasse complètement la « butée ».
ON :
Le mouvement se termine lorsque le centre du couteau est sur la surface « butée ».
TANTO :
Peut seulement être utilisé si la surface « guide » est tangente à la surface « butée ». Le mouvement se termine au point où le couteau, le guide et la surface « butée » sont mutuellement tangents.
PSTAN :
Peut seulement être utilisé lorsque la surface « pièce » est tangente à la surface « butée » : le mouvement se termine au point où le couteau, la surface « pièce » et la surface « butée » sont mutuellement tangents l’un avec l’autre.
SYS856 Techniques avancées en fabrication assistée par ordinateur
113
Exemple 4.4 : (TO, ON, PAST)
Exemple 4.5 : (TANTO, PSTAN)
PLΔS
SYS856 Techniques avancées en fabrication assistée par ordinateur
115
4.4
Utilisation des mouvements point à point
Jusqu’à maintenant dans les exemples présentés, l’instruction GOTO a été utilisée à quelques reprises. Il s’agit en fait d’un déplacement à un point donné en mode absolu. Pour un déplacement en mode relatif, l’instruction GODLTA/ X, Y, Z est de rigueur. Normalement, un programme APT débute toujours par la définition d’une position de départ. Le point de départ peut être spécifié par le biais de GOTO mais également par une instruction dédiée à cet effet, soit l’instruction FROM. FROM/P1 ; GOTO/Point4 ;
FROM/5, 0, 6 GOTO/Départ
;
GOTO/1, 1, 2
Symboles Jusqu’à maintenant, nous n’avons pas spécifié d’énoncé permettant de considérer la surface pièce. En fait, celle-ci doit être spécifiée une première fois, puis elle demeure modale tant et aussi longtemps qu’il n’y a pas de changement explicite de cette surface. +Z
GOTO / P2
P1
P3 P4
+Y
−Y
P2
P7
P5
GOTO
+ X
P6
+Z +Y
− X
−Y
+ X
−Z
Figure 4-8 Déplacement en mode point à point SYS856 Techniques avancées en fabrication assistée par ordinateur
117
4.5
Instruction de départ GO
Avant de spécifier une instruction de mouvement continu de l’outil, il est nécessaire de définir une instruction de départ par le biais du mot majeur GO : GO /
TO ON PAST
,
TO ON PAST
Drive Surf. , « guide »
,
TO Part Surf. , ON « pièce » PAST
, Check Surf. « butée »
modale Les modificateurs TO, ON et PAST sont optionnels. Le modificateur par défaut est TO.
GO/
TO ON PAST
,
DSURF
,
TO ON PAST
,
PSURF
,
TO ON PAST
,
CSURF
CS U
RF
DSURF
P1
CS U PS RF U RF
DSURF
PSURF
Figure 4-9 Instruction de départ GO SYS856 Techniques avancées en fabrication assistée par ordinateur
119
Dans le cas où seulement deux surfaces sont spécifiées dans l’instruction GO/, la surface « butée » étant omise, l’outil empruntera le chemin le plus court pour se rendre à la surface « guide », soit un déplacement perpendiculaire à la surface « guide » (Figure 4-10). GO /
TO ON PAST
,
Drive Suf. ,
TO ON PAST
,
Part Surf.
(spécification de 2 surfaces seulement)
Figure 4-10 Spécification de deux surfaces avec GO
Si seulement une surface est spécifiée, soit la surface « guide », la surface « pièce » est assumée comme étant le plan XY (Z=0) et l’outil empruntera le chemin le plus court pour son positionnement initial.
GO /
TO ON PAST
,
Drive Surf.
(1 surface spécifiée, soit la surface « guide »)
Figure 4-11 Spécification d’une surface avec GO SYS856 Techniques avancées en fabrication assistée par ordinateur
121
La direction du mouvement de départ peut également être spécifiée avec INDIRP, INDIRV (Figure 4-12 et Figure 4-13). INDIRP/ds-point, ps-point, cs-point (1 à 3 points) INDIRP/P1 DS /3, 5, 10 DS /P1, P2 DS, PS /3, 5, 10, 5, 7, 4 DS, PS /, P2 PS /, P3 CS ... V1 = vector / 1, 0, 0 INDIRV/V1 INDIRV/1, 0, 0 INDIRV/V1, V2 drive pont direction pointant vers la (les) surface (s)
Figure 4-12 Utilité de INDIRV
Tel qu’illustré à la Figure 4-13, la direction est ambiguë sans utiliser INDIRV. Z
Y S1
S1
INDIRV
INDIRV
P1
P1 PL1 Z X
X
GOTO/P1 INDIRV/-1, 0, 0 GO/TO, S1, TO, PL1
Figure 4-13 Ambiguïté de direction d’usinage SYS856 Techniques avancées en fabrication assistée par ordinateur
123
4.6
Autres formes de spécification des surfaces « pièce »
Il existe deux commandes permettant de spécifier une surface « pièce », soit PSIS et AUTOPS. Ces commandes peuvent être utilisées en tout temps pour changer la surface « pièce » qui est modale depuis son initialisation par le biais de la commande GO. 4.6.1 PSIS : (Part Surface IS) La surface spécifiée devient la surface modale. L’instruction GO permet de spécifier la surface « pièce » au début de la séquence. Par la suite, les seules instructions permettant son changement sont PSIS, AUTOPS.
GO/TO, PL1, TO, PL2, ON, L1 GOFWD/PL1, TO, CYL1 PSIS/CYL1 GOFWD/PL1, TO, PL3
$$ PL2 est Surf pièce $$ se déplace en ligne le long de PL1 et PL2
Figure 4-14 Utilisation de PSIS
4.6.2 AUTOPS Ce mot génère un plan parallèle au plan XY passant par la position courante de l’outil de coupe. Ce plan devient alors la surface « pièce » modale. Exemple :
GOTO/0, 0, 1.5 GO/PAST, L1, L2 AUTPOS GORGT/L1, L3
SYS856 Techniques avancées en fabrication assistée par ordinateur
125
Exemple 4.6 :
Programme APT décrivant les mouvements illustrés CUTTER/1.0 TOLER/0.001 FROM/SP GO/TO, BSURF, TO, PSURF, TO, ASURF GORGHT/BSURF, PAST, CSURF GOLFT/CSURF, PAST, DSURF GOLFT/DSURF, PAST, ASURF GOTO/SP 4.7
Spécification des diamètres d’outil
En utilisant les mots disponibles en APT pour conduire l’outil, il est clair que le système a besoin de son diamètre afin de calculer automatiquement la trajectoire de son centre « CL » lors de la compilation. L’instruction permettant cette spécification est CUTTER. Les paramètres de CUTTER incluent le diamètre et le rayon en coin de l’outil. CUTTER/d CUTTER/d, r diamètre
corner radius
Si on spécifie CUTTER/0, alors on obtient une trajectoire non décalée. SYS856 Techniques avancées en fabrication assistée par ordinateur
127
4.8
Tolérances d’usinage
Le langage APT approxime le mouvement du couteau le long d’une trajectoire curviligne en générant une série de mouvements linéaires qui ne dévient pas de la trajectoire réelle d’une grandeur supérieure à des tolérances données : 4.8.1 OUTTOL / t1 Tolérance extérieure appliquée au côté extérieur à la surface théorique usinée. L’application de OUTTOL est conservatrice, elle laisse un excès de matériel. OUTTOL/t1
Excès de matériel à laisser sur la pièce t1
OUTTO1
Figure 4-15 OUTTOL
4.8.2 INTOL / t2 Tolérance intérieure appliquée au côté interne de la surface théorique usinée. L’application de INTOL provoque des undercut (enlèvement de matière excessif).
Figure 4-16 INTOL
Lorsqu’on souhaite obtenir une tolérance interne de 0 et une tolérance externe spécifique, l’énoncé TOLER / t1 permet cette spécification.
SYS856 Techniques avancées en fabrication assistée par ordinateur
129
4.8.3 TOLER/t1 Les valeurs par défaut en APT sont :
OUTTOL/0.0005 INTOL/0
OUTTOL, INTOL et TOLER sont des instructions modales.
t2 t1 Figure 4-17 Combinaison OUTTOL et INTOL 4.9
Simplification des programmes par l’ajout de décalages outils
Le langage APT positionne l’outil décalé par rapport à une surface en mettant sa surface tangente à la surface de la pièce. En plus de spécifier les mouvements outils à l’aide de TO, ON, PAST, ce qui a comme effet un décalage, il est normalement de mise de spécifier explicitement le décalage à l’aide de mots particuliers. Ceci permettra la simplification des programmes en ignorant les mots spécifiant les contraintes relatives aux surfaces « butée ». 4.9.1 Décalage des surfaces « guide » TLLFT (tool left) : Le couteau est du côté gauche de la surface relativement au mouvement. TLRGT (tool right) : Le couteau est du côté droit de la surface relativement au mouvement. TLON (tool on) : Le couteau est sur la surface « guide » sans décalage. L2
L2
L1
L1
P1 GOTO/P1 GO/TO, L1 TLRGT GORGT/L1, TO, L2
GOTO/P1 GO/PAST, L1 TLLFT GORGT/L1, L2
GOTO/P1 GO/ON, L1 TLON GORGT/L1, L2
Figure 4-18 Types de décalages outil SYS856 Techniques avancées en fabrication assistée par ordinateur
131
Exemple de programme référant aux décalages : GO/TO, L1 TLLFT GOLFT/L1, TO, L2 GOLFT/L2, ON, L3 TLON GOLFT/L3, TO, L4 TLLFT GOLFT/L4, L5
L2
L1 L5
L3
L4 4.9.2 Décalage des surfaces « pièce » Ce décalage dicte la position de l’outil relativement à la surface « pièce ». Il existe deux types de décalage, soit TLOFPS et TLONPS. TLOFPS (Tool off Part Surface) : The cutter is offset from the part surface. TLONPS (Tool on Part Surface) : The cutter center is positioned on the part surface. Le décalage par défaut est TLOFPS.
Figure 4-19 Décalage de la surface « pièce » 4.10 Simplification des instructions de mouvement
Dans une suite de mouvements, les surfaces « butée » deviennent en général les surfaces « guide » pour les mouvements subséquents. Ceci signifie qu’on doit spécifier le même symbole deux fois, premièrement en tant que CS, deuxièmement en tant que DS dans l’énoncé suivant. Afin d’éliminer le besoin de spécifier deux fois le même symbole, APT offre un moyen d’omettre à la fois la spécification de la CS et également du symbole modificateur (TO, ON, PAST, TANTO, PSTAN). SYS856 Techniques avancées en fabrication assistée par ordinateur
133
La surface « butée » est dite « implicite » selon cette formulation. Le format est le suivant : GOLFT GORGT / drive surface GOFWD GOBACK APT regarde d’avance la CS pour l’énoncé courant en se référant à la DS du prochain énoncé en mouvement. Le décalage associé à la CS est déduit du décalage actuel pour la surface guide (TLLFT, TLRGT, TLON). Les combinaisons possibles sont données à la table suivante: DS offset
Mot
CS décodé
TLLFT TLLFT TLRGT TLRGT TLLFT, TLRGT, TLON TLLFT, TLRGT, TLON TLON TLON
GOLFT GORGT GOLFT GORGT GOFWD GOBACK GOLFT GORGT
TO PAST PAST TO TANTO TANTO ON ON
-1-2-
⇒
Figure 4-20 Simplification des mouvements Exemple 4.7 :
En se référant à la Figure 4-21, la simplification du programme existant (ancienne forme) devient la spécification simplifiée des instructions telle que présentée à la colonne de droite. Ancienne forme GOTO/P1 GO/PAST, L1 TLLFT GORGT/L1, T0, C1 GOLFT/C1, TO, L2 GOFWD/L2, PAST, L3 GORGT/L3, PAST, L1
Nouvelle forme GOTO/P1 GO/PAST, L1 TLLFT GORGT/L1 GOLFT/C1 GOFWD/L2 GORGT/L3, PAST, L1 ÅInstruction complète
SYS856 Techniques avancées en fabrication assistée par ordinateur
135
Figure 4-21 Simplification d’un programme 4.11 Vitesse d’avance intégrée aux instructions
Il est possible d’intégrer les vitesses d’avance aux instructions de mouvement. On peut également utiliser le mot de postprocesseur « FEEDRATE » pour ce faire. GO/TO, L1, 25
Idem à :
FEDRAT/25 GO/TO, L1
4.12 Décalage additionnel au rayon d’outil
THICK/ps-thick, ds-thick, cs-thick, cs2-thick THICK/ 0.25,0 THICK/ 0, 0.5, -1.5
$$ $$
.25 au ps, 0 aux autres 0 au ps, 0.5 au ds, -1.5 aux autres
Si la valeur de « thick » est négative, cela correspond à l’annulation du décalage de rayon d’outil. Spécification des décalages GOTO/P1 GO/PAST, L1 TLLFT GORGT/L1
Æ TLLFT, GORGT/L1
SYS856 Techniques avancées en fabrication assistée par ordinateur
137
4.13 Étapes requises à la définition d’une séquence d’usinage en APT
En résumé, les étapes suivantes sont nécessaires à la définition de séquences d’usinage en langage APT. 1. Définition de l’outil : CUTTER 2. Spécification des tolérances TOLER, INTOL et/ou OUTTOL 3. Énoncé de départ GO/ pour déplacer l’outil sur les surfaces « guide » et « pièce » et définir la surface « pièce » modale. 4. Spécification du décalage outil TLLFT, TLRGT, TLON et TLOFPS, TLONPS pour les surfaces « guide » et « pièce » (optionnel). 5. Définition du premier mouvement de l’outil le long des surfaces « guide » et « pièce » spécifiées. Énoncés de mouvement qui décrivent le mouvement de l’outil de coupe (GORGT, GOLFT, GOUP, …). 6. Continuer la spécification des mouvements continus. 7. Inclure les mots de postprocesseurs pour préciser les paramètres de coupe et autres actions. La géométrie doit préalablement être définie (avant la description de tout mouvement d’outil). 4.14 Géométrie, mots auxiliaires et mots de PP
4.14.1 Mots majeurs vs mots mineurs Les mots majeurs se situent avant le « / » et indiquent une instruction à exécuter (mouvement p.r. à des surfaces). Les mots permettant de qualifier les instructions sont dénommés mots mineurs (limites, frontières du déplacement : les 3 surfaces). On les retrouve à la droite du « / ». À ne pas confondre avec les symboles (variables) ou constantes permettant de définir les coordonnées ou la géométrie. 4.14.2 Description de la géométrie Lors de la description des mouvements, on réfère à des symboles ou variables permettant d’identifier des éléments géométriques. Il est nécessaire que ces symboles soient préalablement définis par le biais des énoncés de géométrie. Pour un point, un exemple de symbole est donné à la figure suivante.
Figure 4-22 Exemple de symbole pour un point SYS856 Techniques avancées en fabrication assistée par ordinateur
139
Règles concernant le nom des symboles :
6 caractères au maximum Au moins un caractère doit être une lettre P54321 (ok )
567891 (non ok )
Logiquement, le nom choisi pour les symboles devrait être significatif, soit associé au type de géométrie. P1, PT1, PNT1 LI, LN1, LTN1 C1, CIR1 …
(point) (ligne) (cercle)
4.14.2.1 La ligne en APT
Exemple de spécification :
P1 = POINT/5, 6, 0 P2 = POINT/17, 9, 0 L1 = LINE/P1, P2
Seize façons différentes de décrire une ligne en APT. Les différentes possibilités permettent en fait de réduire les calculs requis pour spécifier la ligne en formation du dessin 2D donné. L2 = LINE/P2, ATANG1, 20
angle par rapport à l’axe X.
SYS856 Techniques avancées en fabrication assistée par ordinateur
141
4.14.2.2 Le cercle en APT
Exemple de spécification :
C1 = CIRCLE / 10, 10, 0, 7 centre rayon
Un cercle doit toujours être spécifié même si le mouvement se fait sur une portion de ce cercle (arc de cercle). C’est l’instruction de mouvement qui permettra le déplacement sur l’arc. 4.14.2.3 Le plan en APT
Exemple de spécification : PLNI = PLANE / P1, P2, P3 4.14.3 Énoncés de postprocesseur 4.14.3.1 Mots sans paramètres
FINI, END STOP OPSTOP RAPID GOHOME RETRCT -
génère un code fin de programme génère un code d’arrêt machine génère un code d’arrêt optionnel génère un code de mouvement rapide va à la position HOME (G28…) retrait de l’outil au plan CLRPLN défini.
4.14.3.2 Mots avec paramètres
Majeur / (mineur), numérique MACHIN / nom, numéro
spécifie le postprocesseur à utiliser pour la traduction
SYS856 Techniques avancées en fabrication assistée par ordinateur
143
FEDRAT / 10 SPINDL / 1 000 COOLNT / (ON, OFF) DELAY / 2
FEDRAT / num, (IPM, IPR, …) SPINDL / (CLW, CCLW), num
CYCLE/DRILL, DEPTH, depth, IPM, feed, CLEAR, r, (return) CYCLE/FACE, DEPTH, depth, IPM, feed, CLEAR, r, (return), DWELL, seconds REV, revs CYCLE/OFF UNITS/ Feet Inches mm cm LOADTL/M CUTCOM/ LEFT RIGHT
⎡XYPLAN⎤ ⎢XYZ ⎥ ⎢ ⎥ ⎢YZPLAN ⎥ ⎢ ⎥ ⎣ ZXPLAN ⎦
[OSETNO, OFFSET]
CUTCOM/ ON OFF CUTCOM/ON, LENGTH
[OFFSET]
⎡ NOW ⎤ ⎢ NEXT ⎥ ⎣ ⎦
/OFF, LENGTH
4.14.3.3 Mots avec chaînes de caractères
PARTNO / ‘ NO. 123-765 OP 10’ PARTNO NO. 123-765 OP 10
INSERT INSERT
commentaires pour le listing ‘commentaires pour le listing’ N0100 x -25 m32 / ‘N0100 x -25 m32’
PPRINT PPRINT /
Usage à déterminer par le POSTPROCESSEUR
Nous verrons d’autres syntaxes lors de la présentation des notions associées aux postprocesseurs.
SYS856 Techniques avancées en fabrication assistée par ordinateur
145
4.15 Programmation multiaxe
Le langage APT génère l’orientation de l’axe en mode d’usinage multiaxe. C’est le rôle du postprocesseur par la suite de convertir ces vecteurs d’orientation en rotation d’axes machine. Si l’axe n’est pas spécifié en multiaxe, alors APT assume un vecteur 0, 0, 1 comme orientation. Les énoncés disponibles en APT pour le multiaxe sont MULTAX et TLAXIS. 4.15.1 Sortie des vecteurs d’axe outil MULTAX MULTAX/ON MULTAX/OFF
Condition modale de sortie ou de non-sortie du vecteur i, j, k d’orientation d’outil dans le CL-file.
⇒ 6 valeurs sont sorties en chaque point, les coordonnées x, y, z, et le vecteur i, j, k. 4.15.2 Contrôle de l’orientation d’outil TLAXIS/i, j, k /vector /1
Orientation fixe de l’outil (modal) Mode d’orientation fixe
Conserve la dernière orientation variable dans le mode fixe d’orientation. Un énoncé TLAXIS n’a aucun effet tant qu’un mouvement n’est pas précisé. Spécification de l’axe fixe dans FROM et GOTO FROM/point, vector /x, y, z, i, j, k … GOTO/point, vector /x, y, z, i, j, k /point, i, j, k / x, y, z, vector /pnt, vec pntvec = PNTVEC/10.5, 7.25, 15, 1, 0, 1
SYS856 Techniques avancées en fabrication assistée par ordinateur
147
GOTO/P1 TLAXIS/1,0, 0 GOTO/P2
Défaut (0,0, 1) orientation de l’axe parallèlement à X
Correspond à GOTO/P1 GOTO/P2, 1,0, 0
(idem)
En multiaxe, la spécification d’une seule valeur par GODLTA signifie un mouvement selon l’axe. Il s’agit d’un retrait si la valeur est positive ou d’une plongée si la valeur est négative.
Figure 4-23 Orientation d’outil
SYS856 Techniques avancées en fabrication assistée par ordinateur
149
4.15.3 Changements variables de l’axe d’outil Application aux énoncés de départ de mouvement et aux énoncés de mouvements continus. Un énoncé TLAXIS qui initie une orientation variable de l’outil doit spécifier les informations suivantes :
Quelle surface va régir/déterminer l’axe d’outil (drive ou part surface)? Comment l’axe sera orienté relativement à la normale de la surface de contrôle en un point donné?
Les formes suivantes sont possibles : TLAXIS/NORMPS
normale à la surface « pièce »
TLAXIS/NORMDS
normale à la surface « guide »
TLAXIS/PARLEL, 1
parallèle aux règles d’une surface réglée (surface « pièce »)
TLAXIS/PARLEL, 2
parallèle aux règles d’une surface réglée (surface « guide »)
TLAXIS/ATANGL, 1, angle
à un angle de PS normale
TLAXIS/ATANGL, 2, angle
à un angle de DS normale
TLAXIS/ATANGL, 1, angle 1
à un angle 1 de PS normale
TLAXIS/CUTANGL, angle 2
avec angle d’attaque angle 2
TLAXIS/ATANGL, 2, angle 1
à un angle 1 de DS normale
TLAXIS/CUTANGL, angle 2
avec attaque lead/log angle 2
TLAXIS/ATANGL, 1, angle, vector
4 axes made for PS
TLAXIS/ATANGL, 2, angle, vector
4 axes made for DS
SYS856 Techniques avancées en fabrication assistée par ordinateur
151
Exercice 4.1 : Développer le programme APT pour usiner le contour de la pièce illustrée.
5
C2 r=1
4
P3
3
P2
L3 L2
2 C3 1
+
C1
+ P1
r = .5
r = .5
L1 0 1
2 1.5
SYS856 Techniques avancées en fabrication assistée par ordinateur
3
4
5
3.5
153