Plan du cours
Programmation en code G
Le code G est un langage proche du langage machine
Les MOCN se programment de manière similaire
Chaque directeur de commande numérique utilise un code G avec des variantes
Un programme pour la machine X ne marche pas forcément sur la machine Y
Normalisation du code G
La norme 6983/1 décrit le format des programmes pour les machines à
commande numérique indépendamment du type de machines.
6983/1 remplace un ensemble de normes plus anciennes (ISO 840, 1056,1057,
1058, 1059, 2539).
Cette norme est adaptée pour les systèmes de commande de type:
mise en position
mouvement linéaire (paraxial)
contournage
Le respect de cette norme ne garantie pas l’interchangeabilité des programmes
La norme 6983/1 fait référence à d’autres normes:
646: Jeu de caractères codés sur 7 éléments (ASCII)
841: Nomenclature des axes et des mouvements
2806: Commande numérique des machines: Vocabulaire
6983/2: Commande numérique des machines: format et définition des mots adresse
Jeux de caractères
Codage sur 7 bits.
Pas de caractères en minuscule
Tous les caractères non imprimables sont ignorés, sauf <Fin De Bloc>
Contrôle de parité
Assurer l’intégrité du transfert dans un environnement d’atelier
Parité paire sur le 8ième bit pour la norme 6983/1 et ISO en général
Parité impaire sur le 8ième bit pour la norme EIA (plus rare aujourd’hui)
Mémoire CN réduite
Éviter les commentaires trop longs
Si nécessaire les espaces et tous les caractères inutiles seront supprimés
exemple:
Caractère Signification
A,B,C mouvement angulaire des axes primaires de
rotation autour de X, Y et Z
D numéro du registre du correcteur outil
E non-attribué
F première vitesse d'avance
G fonction opératoire
H numéro du registre du correcteur outil
I,J,K coordonnées du centre du cercle en interpolation
circulaire
L nombre de répétition de certains cycles
préprogrammés
M fonction auxiliaire
N numéro de bloc
O numéro de programme
P,Q référence au numéro de ligne d'un cycle
préprogrammé de tournage
R point de retrait en cycle de perçage
S vitesse de rotation de la broche
T numéro d'outil
U,V,W adresses relatives des axes primaires X, Y et Z en
tournage
X,Y,Z mouvement des axes primaires X, Y et Z
Remarques:
Même dans les commentaires les autres caractères ne peuvent pas être utilisés
(en particulier les minuscules et la virgule)
Un commentaire ne doit pas contenir les caractères : et %
Généralités
Adresse: Le premier caractère est toujours une lettre majuscule et
donne la signification du mot
Valeur numérique: entière ou réelle signée
Le signe décimal est implicite (les valeurs sont en µm ou 1/10 000”)
Le signe décimal est supporté en option
Numéro de bloc
Adresse N suivi par un nombre entier
Facultatif
C ’est un label (l’ordre croissant ne doit pas être respecté)
Utilisé : suivi d’un nombre pour les points d ’entrée dans le programme
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 8
Roland Maranzana
Mots de programmation (suite)
Unités
Certains équipements supportent 2 systèmes d’unités
G20 Système International (mm)
G21 Système Impérial (po.)
Pour une même machine, les données introduites en mm permettent
une meilleure résolution (1/10000in. = 0,00254mm).
Vitesse d’avance
G93 Inverse du temps (vitesse/distance) (modal)
G94 Avance par minute (plus souvent G98) (modal)
G95 Avance par tour (plus souvent G99) (modal)
Si les vitesses de coupe et d’avance ne sont pas indépendantes, il est
recommandé d’utiliser G95
L’utilisation de G93 n’est recommandée que lors de
déplacement en interpolations linéaire et circulaire simultanées
L’adresse F suivi d’un entier ou un réel exprime la valeur de la vitesse
Vitesse de coupe
G96 Vitesse de coupe constante (modal)
G97 Vitesse de rotation constante (modal)
En tournage G96 est souvent préférable
L’adresse S suivi d’un entier exprime la valeur de la vitesse
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 10
Roland Maranzana
Interpolation
Principe
L’outil suit une courbe d’interpolation dont la description peut s’étendre
sur plusieurs blocs
Un code G définit le type de déplacement
Le point de départ est la position courante de l’outil (le point d’arrivée
précédent), seules les coordonnées du point d’arrivée sont données
Interpolation point à point
G00 Déplacement rapide jusqu’au point d’arrivée (modal)
La vitesse de déplacement n’est pas programmable
Utilisé pour la mise en position rapide de l’outil
Z Y
Attention la trajectoire n’est pas contrôlée
Interpolation linéaire
G01 Interpolation linéaire à vitesse contrôlée (modal)
La vitesse d’avance doit être introduite avant ou dans le même bloc
Interpolation circulaire
G02 Interpolation circulaire dans le sens horaire (modal)
G03 Interpolation circulaire dans le sens anti-horaire (modal)
Déplacement suivant un arc de cercle dans un plan parallèle aux axes
G17 Plan XY (modal et par défaut en fraisage)
G18 Plan ZX (modal et par défaut en tournage)
G19 Plan YZ (modal)
Les déplacements se font à la vitesse programmée
En plus des coordonnées du point d’arrivée, il faut introduire les
coordonnées du centre du cercle avec les adresses I, J, K, relativement
du point de départ au centre de l’arc
Certaines CN utilisent le rayon avec l’adresse R (pour arc < 180°)
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 12
Roland Maranzana
Interpolation (suite)
En fraisage En tournage
Z
G03
G03
G03
X Y Z
G03
Y X
Z
X Y
Sens trigo (antihoraire) = G03
Sens trigo (antihoraire) = G03
en absolue
jc
y1
G02 X x1 Y y1 I ic J -jc
en relatif
G02 X (x1-x0) Y (y1-y0) I ic J -jc x0 ic x1 X
en absolue
ic x0
G03 X x1 Y y1 I ic K kc
en relatif x1
G02 X xa Y ya R r
r
xa, ya
X X=5 X
I=100 X=125
I=-20
Y Z Y=65 Y
Z
Y=70 J=-45
J=40
X X=5 X
X=125
I=100 I=-20
Repère normalisée
Axe Z:
Orientation: Axe de la broche
Direction: Positif (Z+) dans la direction qui éloigne la pièce ou l’outil de la
broche
Axe X:
Orientation: Normal à Z suivant l’orientation du plus grand déplacement de
la pièce ou de l’outil
Direction: Positif (X+) dans la direction qui éloigne la pièce de l’outil
Axe Y:
Orientation: Normal à X et Z
Direction: Positif (Y+) de manière à former un repère orthonormé direct
Axe A, B, C:
Axe de rotation respectivement autour de X, Y, Z.
Z Y
Sens positif dans le repère orthonormé
C+
X
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 18
Roland Maranzana
Les repères
Zm
DZi
Zd
Xp DXi
Zp
G41
à gauche de la trajectoire
programmée
G42
à droite de la trajectoire
programmée
Exemple en fraisage
….
30 60
N100 G41 G01 X60. Y50. D11
N110 X40. Y50.
N120 G02 X30. Y60. I0. J10.
N130 G01 Y100.
40
R10
….
y
50
x
Exemple en tournage
….
N100 G41 G01 X100. Z40.
N110 X60.
N120 G03 X40. Z50. I0 K10.
N130 G01 Z70. x
N140 X30. Z90.
40
N150 X-2. R10
20
15
N160 G40 Z100. z
40
…. 70
90
Les axes
4 axes X, Y, Z, C
3 axes simultanés
Les codes G
G00 G01 G02 G03
G17 G18 G19
G40 G41 G42 G43 (associé au mot d ’adresse H désignant le registre
contenant la valeur du rayon de compensation)
G90 G91
G94 G95
G20 Sélection des unités du système impériale
G21 Sélection des unités du système international
G Code du cycle (73, 74, 76, 81, 82, 83, 84, 85, 86, 87, 88, 89)
X, Y Position du perçage (absolue/relative)
Z Cote du fond (absolue/relative)
R Cote du point de dégagement (Retract point)
Q Valeur de l’incrément pour le perçage par étapes
Valeur du dégagement latéral avant retrait avec arrêt indexé
P Valeur de l’arrêt temporisé en ms
F Vitesse d’avance en usinage
K Nombre total de perçages
Remarque:
Dépendant du cycle sélectionné, seuls les mots nécessaires sont déclarés
Arrêt temporisé
Arrêt temporisé
Fond du perçage G82 P _
G82 P _ Fond du perçage
Z
Z
Position courante
Q Q
(d)
(d)
Q Q
(d)
G74 G84
Broche Trigo
M04 (CCW) Broche Anti-trigo
M03 (CW)
Broche Anti-trigo
M03 (CW) Broche Trigo
M04 (CCW)
Avec G99
Fond de l ’alésage
Fond de l ’alésage
Z
Z
Autres codes M
M98 appel d ’un sous programme
Exemple:
….
M98 P1001 O1001;
…. ….
…. ….
M99
Remarques:
Un bloc peut contenir jusqu’à 9 codes G mais un seul code M et T
Le mot d’adresse N est facultatif
La vitesse de coupe est toujours exprimée en tours par minute (RPM)
Vc max 4800t/mn, Va/x et Va/y max 18m/mn, Va/z 12m/mn en rapide
Les registres de compensation de longueur et de rayon d’outil sont
exprimés avec le mot d’adresse H associé à G41, G42, G43
Les valeurs des mots d’adresse X,Y,Z,C doivent TOUJOURS avoir un
point décimal
Le mot d’adresse T présélectionne un outil dans le magasin, le
changement d’outil est réalisé avec M06
Le caractère de fin de bloc est le ;
100
Outil 1: Fraise 2 tailles en bout ø40mm
correcteur associé 1 et 11 25
Outil 2: Fraise 2 tailles en bout ø8mm
correcteur associé 2 et 22 15
O0027 G28 G91 Z0.
G80 G54 G40 G0 G28 Y0.
G28 G91 Z0. M6
G28 Y0. T0
25
T1
M6
G90 G0 X20. Y80. S6000 M3
G43 Z10. H2 M8
R20
T2 Z0.
G90 G0 X-30. Y-30. S2500 M3
75
40
X80.
G02 X100. Y55. J-20.
G91 G28 Z0
G28 Y0
R30
G1 Y40. M6
X55. M30
G03 X25. Y10 J-30.
G1 Y0.
X-30.
G40 Y-30.
25
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 36
Roland Maranzana
Exercice (1/6)
Z
Usiner la pièce suivante la Enshu X
Origine outil
10,00
Opération 1: Contournage extérieur (départ point A) COUPE G-G
10,00
25,00
Outil : Fraise 2 tailles ø50, poste 1
Vc: 250m/mn
Y
Va: 0,08mm/t X
Opération 2: Contournage de la poche intérieure (départ point B)
Origine outil 100,00
Outil : Fraise 2 tailles ø20, poste 2
50,00
Vc: 300m/mn
Va: 0,06mm/t
Remarque: Toutes les opérations en avanlant et avec lubrification
50,00
100,00
G
A 25,00
R
B
G
Les axes X
Les codes G
G00 G01 G02 G03 (avec R, arc <180º )
G40 G41 G42 G43
G20 Sélection des unités du système impériale
G21 Sélection des unités du système international
G90 Cycle (canned cycle) à la place de coordonnées absolues
G94 Cycle (canned cycle) à la place de Va en Unité/mn
G98 Vitesse d’avance en unité par minute, à la place de G94
G99 Vitesse d’avance en unité par tour, à la place de G95
Programmation en relatif suivant X et Z en utilisant les mots U et W
Remarques:
Un bloc peut contenir plusieurs codes G (mais un seul code M et T)
Les coordonnées relatives et absolues peuvent être utilisées dans le
même bloc (X/U et Z/W)
Les valeurs suivant X sont programmées au diamètre (vrai pour U aussi!)
Le mot d’adresse N est facultatif
Les codes suivants sont actifs à la mise sous tension:
G00 G25 G40 G69 G97 G99
Le contrôleur possède 32 registres de compensation d’outils
Les valeurs des mots d’adresse X,Z doivent TOUJOURS avoir un point
décimal
Le mot d’adresse T réalise immédiatement un changement d’outil sans
attendre un M06
Le caractère de fin de bloc est le ; G00 X xa Z za
Attention au G00
xa,za
Particularités:
G43/G49 sans signification: registre de compensation en longueur
inclus dans l’appel de l’outil (Tnnnn)
G90/91 différent du fraisage. Utiliser les mots U(X) et W(Z) pour
fonctionner en coordonnées relatives
G98 et G99 utilisés pour définir le mode et la vitesse d’avance
G71-G73 sont des cycles préprogrammés de tournage
G32/92 sont des cycles préprogrammés de filetage
G10 P _ X_ Z_ R_ Q_
P: Numéro du registre (1 à 32)
X, Z: Décalage de position en X et Z
R: Rayon de la pointe de l’outil
X
Q: Position de la pointe théorique de l’outil 8
4 3
G10 P _ U_ W_ C_ Q_
P: Numéro du registre (1 à 32) 0/9 7
U, W: Décalage de position en X et Z relatif 5 Z
C: Variation du Rayon de la pointe de l’outil
Q: Position de la pointe théorique de l’outil 2
1
6
École de technologie supérieure
Génie de la production automatisée GPA-664, Fabrication Assistée par Ordinateur 43
Roland Maranzana
Programmation du tour Hardinge / Fanuc OT (7)
Trajectoire du centre du
centre de pointe de l’outil
Z
Trajectoire programmée et réalisée
avec compensation de rayon
X G42
X, Z
F
ß
Pas du filetage
G90 U _ W_ R_ F_
U, W: Coordonnées du point diagonalement
opposé au point de départ en relatif
G90
G92 U _ W_ R_ F_
U, W: Coordonnées du point diagonalement
opposé au point de départ en relatif
G92
R
F
X
G94 U _ W_ R_ F_ G94
U, W: Coordonnées du point diagonalement
opposé au point de départ en relatif
X R
P numéro du
bloc de début
U1
Q numéro du
Remarque: bloc de fin
Le profil doit être monotone croissant
Le cycle réalise la passe de demi-finition
U2
P numéro du
bloc de début
Q numéro du
U1
bloc de fin
Remarque:
Le profil doit être monotone croissant
Le cycle réalise la passe de demi-finition U2
P numéro du
bloc de début
Remarque:
Le profil doit être monotone croissant
U2