Notes Cours Programmation APT [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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