Vous êtes sur la page 1sur 10

Notice

Utilisation du Gcode
Code ISO
Version 1.0
MAJ 09/01/2008

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page - 1 -
N° 200406
Utilisation du Gcode
Code ISO

Table des matières :

..................................................................................................................................................................................
I - Généralités sur le code ISO ................................................................................................................................ 3
II - Généralités sur le fraisage et les fraiseuses ....................................................................................................... 4
III - Description du Gcode ...................................................................................................................................... 4
Fonctions préparatoires G ............................................................................................................................ 4
Fonctions auxiliaires M................................................................................................................................. 4
IV - Instructions du code ISO analysées par Gpilote pour Charlyrobot. ................................................................. 5
V - Syntaxe d'un programme................................................................................................................................... 7

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 2
N° 200406
Utilisation du Gcode
Code ISO

I - Généralités sur le code ISO


G-code est le nom d'un langage de programmation pour piloter des machines-outils à commande numérique. Il a
été développé par l'EIA au début des années 60, et finalement normalisé par l'ISO en février 1980 sous la
référence RS274D/ (ISO 6893).
Compte tenu de l'absence de développements ultérieurs, de la grande variété des configurations de machines-
outils, et du peu de demande pour une réelle interopérabilité, peu de contrôleurs à commande numérique
respectent ce standard. Des extensions et variantes ont été ajoutées indépendamment par divers fabricants, ce qui
fait que les opérateurs doivent connaître les différents dialectes et particularités des machines qu'ils utilisent, et
les systèmes de CFAO doivent se limiter au plus petit dénominateur commun des machines qu'ils commandent.
Beaucoup de fabricants ont essayé de contourner cette difficulté à rester compatible en suivant la route tracée par
Fanuc. Malheureusement, Fanuc n'est pas conforme à la norme RS-274 ou à ses précédents standards, et a été
lent à ajouter de nouvelles fonctionnalités et à utiliser la puissance croissante des ordinateurs. Par exemple, ils
ont transformé la commande g70/g71 en g20/21; ils ont utilisé des parenthèses pour les commentaires, ce qui à
causé des problèmes lors de l'introduction des calculs mathématiques.

Les fichiers G-code sont produits par des programmes de CFAO tels que Mayka, Artcam, Alphacam, etc. Ces
applications utilisent en général des convertisseurs appelés post-processeurs pour optimiser le code en vue de son
utilisation sur une machine particulière. Les post-processeurs sont généralement modifiables par l'utilisateur afin
d'optimiser leur usage. De tels programmes doivent être adaptés pour chaque type de machine outil.

G-code est aussi le nom d'une commande dans un programme CNC qui commence par la lettre G, et
généralement c'est un code qui décrit le type d'action à exécuter, par exemple:
• déplacement rapide
• déplacement à vitesse contrôlée en ligne droite ou suivant un arc
• série de déplacement à vitesse contrôlée en vue de réaliser un trou, une découpe de pièce à une
dimension donnée, ou un profil décoratif ajouté sur le bord d'une pièce.

Les codes de positionnement :


X position
Y position
Z position
A position
B position
C position
I Axe X des données d'un arc
J Axe Y des données d'un arc
R Rayon

Les codes de commandes :


M code, parfois référencé comme fonction 'diverse' ("Miscellaneous" en anglais)
F vitesse de déplacement
S vitesse de rotation
N numéro de ligne
T Sélection d'outil

Des machines différentes peuvent utiliser le même code pour effectuer des fonctions différentes, même les
machines qui utilisent le même contrôleur CNC.

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 3
N° 200406
Utilisation du Gcode
Code ISO

II - Généralités sur le fraisage et les fraiseuses


Origines
Origine programme (OP) : c'est le point origine du programme à partir duquel les mouvements de la machine
sont programmés.
Origine machine (OM) : c'est le point origine dans l'espace à partir duquel la machine mesure ses déplacements.
Elle est définie par le constructeur et elle est fixe.
Origine pièce (Opp) : elle sert à situer la pièce dans la machine. Elle est définie par l'opérateur.

Corrections
Les correcteurs permettent de tenir compte des différentes longueurs et diamètres d'outil.
Correcteur de longueur de fraise : Activé automatiquement lors du changement outil M6.
Correcteur de rayon de fraise: G41 et G42, annulation par G40.
G41 positionne l'outil à gauche de la trajectoire programmée d'une valeur égale au rayon.
G42 positionne l'outil à droite de la trajectoire programmée d'une valeur égale au rayon.

Axes
L'axe Z d'une machine à commande numérique est toujours l'axe de la broche tournante.
Les axes X et Y sont disposés suivant un repère orthonormé direct par rapport à Z.
L'axe X est celui qui permet la plus grande distance de déplacement. Le dernier axe étant l'axe Y.

Sur certaines machines, on trouve des axes supplémentaires appelés Axe A, B, C.


Les axes A, B, C sont des axes rotatifs :
 A tournant autour de X,
 B autour de Y,
 C autour de Z.

III - Description du Gcode


Dans cette syntaxe, le % fixe un numéro de programme. Le N est un numéro ligne, très souvent facultatif.

Fonctions préparatoires G
 La fonction G 0 (ou G0) : interpolation linéaire en mode rapide.
 La fonction G 01 (ou G1) : interpolation linéaire en mode de travail (à la vitesse programmée).
 La fonction d'interpolation circulaire :
 G 02 (ou G2) : interpolation circulaire sens anti trigonométrique
 G 03 (ou G3) : interpolation circulaire sens trigonométrique.
 La fonction de temporisation (programmable avec F, X ou P) G 04 (ou G4).
 Certains codes G de la famille G60 G70 peuvent être utilisés par les fabricants de DNC pour : - Le
choix de la programmation cartésienne ou polaire ; - L'activation d'un facteur d'échelle ; - La mise en
action d'une fonction miroir ; - La programmation en mesure métrique ou en pouce.
Le code G90 : la programmation des points en absolu se fait par rapport à l'origine programme.
Le code G91 : la programmation des points en relatif se fait depuis chaque point par rapport au précédent.

Fonctions auxiliaires M
 Mise en rotation broche :
M3 horaire,
M4 anti-horaire
Arrêt par M5.
 Changement outil automatique ou manuel M6.
 Mise en route de l'arrosage M8. Arrêt par M9
 Fonction de fin de programme M2 ou M30.
 Fonction d'arrêt programme M0.

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 4
N° 200406
Utilisation du Gcode
Code ISO

IV - Instructions du code ISO analysées par Gpilote pour Charlyrobot.


PREAMBULE :
 Les commandes de déplacement sont traitées en centre outil pour XY et bout d'outil pour Z (pas de gestion
de correcteur d’outil).
 Les commandes G0 et G1 sont modales.
 Les commandes G2 et G3 ne sont pas modales. Dans les versions les plus récentes du module de pilotage,
une commande G2 ou G3 implicite est acceptée car reconnue par la présence des paramètres I, J. ou R.

Le premier déplacement en début d'usinage ou après un changement d'outil doit spécifier les coordonnées X
Y Z.

Commandes exécutées :

XYZ Coordonnées des points en mm.

A Coordonnée en degré de l'axe de rotation horizontal et parallèle à l'axe X (4ème axe)


Quand A est utilisé les origines de Y, Z doivent correspondrent aux coordonnées Y, Z du 4ème
axe.
limité à ±650 tours

G0 Déplacement rapide (hors matière)

F Vitesse d’avance en mm/mn.

G1 Interpolation linéaire utilisant la vitesse de la dernière commande F.


G2, G3 Interpolation circulaire utilisant la vitesse de la dernière commande F.
Uniquement dans le plan XY. G2 : arc sens horaire. G3 : arc sens antihoraire.
Si R est spécifié, l’arc le plus petit est appliqué. Sinon spécifier I, J qui correspondent aux
coordonnées X, Y du centre de l’arc.

G4 F... Temporisation du programme en secondes.

G14 Début du mode coulé (optionnel)


G15 Fin du mode coulé (optionnel)
G16 Annule la génération automatique du mode coulé
Les commandes G14 et G15 sont à utiliser uniquement suite à commande G16 qui doit être
placée en début de fichier.

G28 Retour en vitesse rapide à l’origine – séquence de déplacement : ZXYA

G52 Prise d’origine machine (optionnel)

G90 Mode absolu (mode par défaut, recommandé)


G91 Mode relatif

N Numéro de ligne (optionnel)

M2 Fin de programme (optionnel)


M3 Marche broche sens horaire
M4 Marche broche anti-horaire (sera éventuellement assimilée à M3)
M5 Arrêt broche (optionnel grâce à l’arrêt automatique en fin de fichier)
M6 Nouvel outil
S Vitesse broche Tr/mn (optionnel si la broche n’est pas pilotée par la CN)
T Numéro d’outil

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 5
N° 200406
Utilisation du Gcode
Code ISO
(...) Commentaire (optionnel)
% Numéro de programme pièce
(optionnel ; si la commande est utilisée, alors un seul numéro est autorisé)
/ ignorer le reste de la ligne

Commandes analysées mais ignorées :

D Angle additionnel ou 3° vitesse d’avance


E Angle additionnel ou 2° vitesse d’avance
G83 ... G80 Cycle de perçage (ignore tout le bloc)
Gxx Toute autre commande G
H (disponible pour utilisation particulière)
L (disponible pour utilisation particulière, ex sous-programmes)
Mxx Toute autre commande M
P 3° mouvement parallèle à l’axe X
Q 3° mouvement parallèle à l’axe Y
R 3° mouvement parallèle à l’axe Z
: Division de programme

Toute autre commande est ignorée jusqu’en fin de ligne.

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 6
N° 200406
Utilisation du Gcode
Code ISO

V - Syntaxe d'un programme


Exemple n°1 : Réalisation simple en 3 axes.

N10 G71
N20 G90
N30 T1
N40 S8000
N50 G0 X10 Y10 Z10
N60 G1 Z-1 F1200
N70 X20
N80 Y20
N90 X10
N100 Y10
N110 Z10
N120 T2
N130 G0 X10 Y20 Z10
N140 G1 Z-1 F800
N150 G2 X20 Y20 R10 F1200
N160 G1 Z10 F800

Description du fonctionnement du programme :

 N10 indique un numéro de ligne, il est facultatif. G71 fixe l'unité en métrique, G70 l'unité en pouce.
 N20 G90 fixe le mode absolu (G91 le mode relatif). Il est par défaut en G90 s'il n'est pas spécifié.
 N30 demande l'outil n°1.
Gpilote va positionner automatiquement la broche à la position de changement d'outil.
Avec un changeur d'outil, va prendre l'outil placé dans la position 1 dans le râtelier. Il déposera
automatiquement l'outil en broche, s'il y en a un.
 N40 fixe la vitesse de rotation à 8000 tr/min.
le M3 n'est pas nécessaire, la broche démarre automatiquement au premier déplacement, et s'arrête
automatiquement après le dernier déplacement.
 N50 G0 exécute un déplacement hors matière à vitesse rapide (la vitesse maximum paramétrée dans la
machine Charlyrobot).
X, Y et Z sont obligatoire sur la première ligne G0 ou après un changement d'outil. Les valeurs qui
suivent définissent la position de démarrage de l'usinage par rapport à l'origine du programme et de la
pièce.
 N60 G1 défini un déplacement linéaire à la vitesse programmé par la commande F, ici 1200 mm/min.
Z-1 indique que l'usinage rentre de 1 mm dans la matière (si on considère que l'origine est située sur le
sommet du bloc).
 N70 à N110 la commande G1 est modale, c'est à dire qu'elle reste active tant qu'une autre commande
l'annule, comme une autre commande G, M ou T.
 N120 la commande T2 demande un nouvel outil numéro 2, le programme est interrompu, la broche va
se positionner à la position de changement outil, en mode manuel un message s'affiche, il faut alors
mettre l'outil demandé, ou s'il y a un changeur d'outil, la broche va poser l'outil T1 et prendre le nouvel
outil.
 N130 défini de nouveau les axes pour le G0 en X, Y et Z.
 N140 défini un déplacement linéaire, cf. N60
 N150 G2 exprime un déplacement circulaire dans le sens des aiguilles d'une montre (inverse du sens
trigonométrique).
Celui-ci démarre au point précédemment rentré et se déplace au point indiqué en X et Y.

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 7
N° 200406
Utilisation du Gcode
Code ISO
Il y a deux méthodes pour définir la circularité :
 soit en définissant le rayon R,
 soit en définissant le centre du cercle par I et J (exprimant respectivement les coordonnées x et
Y du centre du cercle).
ATTENTION ! Gpilote ne permet pas de définir un arc de cercle supérieur ou égal à 180°, sinon il
prendra le plus petit des deux arcs de cercles possibles. Pour définir un cercle ou arc de cercle supérieur
à 180° il faut décomposer le cercle ou arc de cercle en autant d'arc de cercle que nécessaire, toujours
inférieur strictement à 180°.
 N160 remonté de l'outil hors de la matière en G1 (préférable à un G0 afin de pouvoir définir une
vitesse de déplacement).
 N170 A la fin du programme, la broche remonte en Z puis se déplace en diagonale jusqu'à son OM. La
commande M2 et M5 ne sont pas nécessaire.

Exemple n°2 : réalisation d'un cercle avec temporisation. L'origine X et Y du programme est au centre de
la plaque.

N10 G90
N20 F3000.000
N30 G01 X101.500 Y0.000 Z0.000
N40 G04 F10
N50 G01 X100.000 Y0.000
N60 G03 X-100.000 Y0.000 I0.000 J0.000
N70 G03 X100.000 Y0 I0.000 J0.000
N75 G03 X0.000 Y100.000 I0.000 J0.000
N80 G01 X0.000 Y101.500
N85 G00 Z0.1
N90 G04 F3
N95 G00 Z0
N100 G01 X0.000 Y100.000
N110 G02 X0.000 Y-100.000 I0.000 J0.000
N115 G02 X0.000 Y100.000 I0.000 J0.000
N120 G02 X100.000 Y0.000 I0.000 J0.000
N130 G01 X101.500 Y0.000
N135 G00 Z0.1
N140 G04 F10
N150 G00 Z0

Description du fonctionnement du programme :

Le programme ne spécifie pas d'outil. Si vous souhaitez usiner vous pouvez rajouter en début de programme les
lignes (cf. exemple 1) :
T1
S10000
G0 X0 Y0 Z20

 N10, G90 fixe le mode absolu (G91 le mode relatif). Il est par défaut en G90 s'il n'est pas spécifié.
 N20, F fixe la vitesse de déplacement à 3000 mm/min, soit 50 mm/s.
 N30, sur ce programme, il n'y a pas de G0, c'est immédiatement un G1, qui fixe le premier
déplacement. Il est défini donc sur les 3 axes X, Y et Z.
 N40, G04 temporise le programme, suivant le temps indiqué par le F10, soit 10 secondes.
 N50 G01 marque un déplacement programmé aux ordonnées indiquées par X, Y ou Z.
 N60 à N75, les 3 G03 constitue un cercle complet qui pour faire 360 degré est décomposé en 2 partie
toujours strictement inférieure à 180 degré. Les valeur I et J marquent le centre du cercle. Comme
l'origine du programme est au centre du cercle, ces valeurs sont de 0. Il y a un 3e arc cercle de réalisé.
 N80 déplace la broche sur un tracé linéaire.
CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41
E-mail : hotline@charlyrobot.com page 8
N° 200406
Utilisation du Gcode
Code ISO
 N85, petite remonté de 0,1 mm.
 N90 temporisation de 3 sec.
 N95, la broche redescend à l'altitude 0.
 N100 à 135, réalisation du même parcours que de N50 à N85 mais dans l'autre sens. G02 à la place de
G03.
 N140, temporisation de 10 sec.
 N150, G00 qui remet la broche en position Z à 0. fin du programme.

Exemple n°3 : réalisation en 4 axe d'un carré sur un cylindre, l'origine programme est au centre du
cylindre.

N10 G71
N20 G90
N30 T1
N40 S8000
N50 G0 X10 Y10 Z30 A0
N60 G1 Z10 F1200
N70 A20
N80 X20
N90 A0
N100 X0
N110 Z30

Description du fonctionnement du programme :

 N10 ,G71 fixe le système de mesure en métrique.


 N20, fixe le mode de travail en absolu.
 N30 , T1 demande l'outil T1.
 N40, S8000 fixe la vitesse de rotation de la broche à 8000tr/min.
 N50, G0 fixe la position en X, Y Z et A.
 N60, demande à l'outil d'entrer dans la matière, le cylindre doit faire plus de 20 mm de diamètre, la
vitesse programmé est 1200 mm/min (20 mm/s).
 N70 le G1 est modal, donc il ne réapparait pas à chaque ligne. Le premier déplacement fait tourner le A
de 20 degré.
 N80, G1 demande de se déplacer à la position 20 mm
 N90, G1 demande de se positionner à 0 degré.
 N100, G1 demande un positionnement à X0.
 N110 remonte Z au dessus du cylindre.

Exemple n°4 : réalisation d'un cercle inscrit dans un carré, utilisation du mode relatif. L'origine du
programme est situé en X et Y au centre de la plaque.

N5 /réalisation d'un cercle inscrit dans un carré


N10 G71
N20 G90
N30 T1
N40 S8000
N50 G0 X0 Y0 Z10
N60 G1 X50 Z1 F1200
N70 G3 X-50 Y0 I0 J0
CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41
E-mail : hotline@charlyrobot.com page 9
N° 200406
Utilisation du Gcode
Code ISO
N80 G3 X50 Y0 I0 J0
N90 G1 Z10
N100 G91
N110 G1 Y50
N120 Z-9
N130 X-100
N140 Y-100
N150 X100
N160 Y100
N170 Z9
N180 G90
N190 G0 X0 Y0

Description du fonctionnement du programme :

 N5, le signe / marque un commentaire, tout comme les parenthèses.


 N10, le G71 fixe l'unité métrique.
 N20, G90 passe en mode absolu.
 N30, Demande l'outil T1
 N40, fixe la vitesse de rotation à 8000 tr/min
 N50, le G0 fixe le premier déplacement
 N60, descend la broche à 1 mm, et en même temps la déplace sur le départ du point suivant à la vitesse
F 1200 mm/min.
 N70, G3 réalise un premier demi cercle défini par son centre en I et J au centre.
 N80, le 2e G3 réalise la deuxième moitié du cercle.
 N90, remonte la broche à l'altitude 10 mm.
 N100, le G91 passe en mode relatif.
 N110, met la broche à la position d'origine du carré, en haut à droite soit 50 mm au dessus du cercle en
Y.
 N120, G1 descend la broche de 9 mm, pour emmener la broche à l'altitude 1 mm (10-1=9).
 N130 à N160, réalise un carré de 100 mm, chaque déplacement se fait par rapport à l'arrivé du point
précédent.
 N170, remonte la broche de 9 mm, pour retourner à l'altitude de Z=10 mm.
 N180, G90 remet le mode absolu en place.
 N190, positionne la broche à l'origine du programme en X et Y. fin du programme.

CHARLYROBOT – B.P. 22 – 74350 CRUSEILLES 08.26.62.80.07  04.50.44.00.41


E-mail : hotline@charlyrobot.com page 10
N° 200406

Vous aimerez peut-être aussi