Bonsoir,
Saison1 - épisode4 : GCode
Bienvenue dans la nébuluse du GCode.
Sous le vocable GCode se cache beaucoup de choses, se terme générique regroupe souvent le gCode, le nCode, le oCode, le mCode, etc...
Les différents mots.
Un mot est une lette majuscule ou minuscule, autre que N, suivi d'un nombre réel. On sépare, la plupart du temps les lettres et les chiffres par un blanc pour améliorer la lecture mais ce n'est pas une obligation.
Les principales lettres utilisées sont :
Mot Désignation
F Vitesse d'avance travail
G Fonction générales
I Décalage en X pour les arcs et dans les cycles G87
J Décalage en Y pour les arcs et dans les cycles G87
K Décalage en Z pour les arcs et dans les cycles G87
Distance de déplacement par tour de broche avec G87
L Nombre de répétition dans un cycle de poche
M Fonction auxiliaire
N Numéro de ligne (pm) car n'est pas un mot au sens "gcodienne"
P Temporisation utilisée dans G4
Mot clé utilisé avec G10
R Rayon d'arc ou plan de retrait
S Vitesse de rotation de la broche
T Numéro d'outil
X Axe X de la machine
Y Axe Y de la machine
Z Axe Z de la machine
Il en existe d'autres mais que nous n'aborderont pas ici (A, B, C, D, H, Q, U, V, W).
Les plus curieux pourront toujours consulter la notice RS274-NGC v3 du NIST.
Remarques sur les mots G et M :
- Normalement les GCodes se trouvent dans la plage G00 à G99 mais, dans la pratique, on va jusqu'à G999
- Normalement les MCodes se trouvent dans la plage M00 à G199 mais, dans la pratique, on va jusqu'à M999
L'imagination des constructeurs et l'explosion des imprimantes 3D ont engendré une multiplication de Mxxx et Gxxx pour leur application particulière.
Je vous rassure dans la pratique, le nombre de fonctions mises en oeuvre est bien plus faible que les 1000 Mcodes et les 1000 Gcodes. Les fonctions vraiment utilisées dans les CNC amateurs peuvent se réduire à quelques dizaines.
A titre d'exemple, GRBL traite 40 Gcodes et 10 Mcodes.
Avant d'aborder les fonctions préparatoires et auxiliaires, il faut préciser les points suivants :
Fonction préparatoire G
Fonction modale : Une fonction G modale appartient à un groupe de fonctions G qui se révoquent mutuellement. On ne peut pas travailler en mm et en pouces simultanément, de même que l'on ne peut pas utliser les coordonnées absolues et relatives simultanément, etc...
Fonction G non modale : Une fonction G non modale est uniquement valide dans le bloc où elle est programmée.
Fonctions incompatibles : Une fonction G est incompatible si sa programmation avec une aure n'est pas autorisée.
Groupes modaux des Gcodes
Signification du groupe Mots G
Groupe 0 - Codes non nodaux G04, G10, G28, G30, G53, G92, G92.1, G92.2, G92.3
Groupe 1 - Mouvements G00, G01, G02, G03, G33, G38.x, G73, G80, G81,
G82, G83, G84, G85, G86, G87, G88, G89
Groupe 2 - Choix du plan de travail G17, G18, G19, G17.1, G18.1, G19.1
Groupe 3 - Mode de déplacement G90, G91
Groupe 4 - Mode de déplacement en arc G90.1, G91.1
Groupe 5 - Mode de vitesse G93, G94, G95
Groupe 6 - Unités machine G20, G21
Groupe 7 - Compensation de rayon G40, G41, G42, G41.1, G42.1
outil
Groupe 8 - Compensation de G43, G43.1, G49
longueur d'outil
Groupe 10 - Plan de retrait cycle G98, G99
de perçage
Groupe 12 - Systèmes de coordonnées G54, G55, G56, G57, G58, G59, G59.1, 59.2, G59.3
Groupe 13 - Mode contrôle de G61, G61.1, G64
trajectoire
Groupe 14 - Mode contrôle vitesse G96, G97
broche
Groupe 15 - Mode diamètre/rayon G07, G08
sur les tours
Fonction auxiliaire M
Fonction modale : Une fonction M modale appartient à un groupe de fonctions M qui se révoquent mutuellement. On ne peut pas, par exemple faire tourner la broche dans le sens horaire et anti-horaire en même temps.
Fonction M non modale : Une fonction M non modale est uniquement valide dans le bloc où elle est programmée.
Fonction "avant" : Une fonction M "avant" est exécutée avant les déplacements programmés dans le bloc.
Fonction "après" : Une fonction M "après" est exécutée après les déplacements programmés dans le bloc.
Groupes modaux des Mcodes
Signification du groupe Mots M
Groupe 4 - Type de fin de programme M00, M01, M02, M30, M60
Groupe 5 - On/off I/O M6 Tn
Groupe 6 - Appel outil M6 Tn
Groupe 7 - Commande de broche M03, M04, M05, M19
Groupe 8 - Arrosage M07, M08, M09
(attention : M07 et M08 peuvent être actifs en même temps)
Groupe 9 - Boutons de correction M48, M49, M50, M51
de vitesse
Groupe 10 - Définis par l'utilisateur M100 à M199
Commentaires.
Des commentaires peuvent être ajoutés aux lignes de Gcodes pour clarifier le programme. Ils peuvent être placés sur une ligne en les encadrant par des paranthèses ou bien occuper tout le reste de la ligne à partir d'un point virgule.
Bonnes patiques.
- Utiliser le bon nombre de décimales : 3 chiffres après la virgule pour les mm et 4 pour les pouces.
Les contrôles de tolérance des arcs sont faits pour 0.001 et 0.0001 selon les unités,
- Utiliser les espaces de manière cohérante,
- Utiliser de préférence le format centre pour les arcs,
- Placer les codes nodaux important en début de programme,
- Ne pas mettre trop de choses sur une ligne,
- Ne pas utiliser les numéros de ligne.
Si des points vous paraissent obscures ou erronés n'hésitez pas à me le signaler.
Prochaine épisode - Détails "g-code" - à suivre...