CNCYRON

Codes G et M — référence CNC

Référence complète des codes G et M pour Fanuc 0i/30i et Siemens 840D SL. Les groupes indiquent les codes mutuellement exclusifs (modal).

Codes G — fonctions préparatoires

CodeGrpDescriptionSyntaxeNote
G001Déplacement rapide (positionnement)G00 X__ Y__ Z__Vitesse max machine — sans coupe
G011Interpolation linéaire (avance programmée)G01 X__ Y__ Z__ F__Déplacement avec avance F (mm/min)
G021Interpolation circulaire sens horaireG02 X__ Y__ I__ J__ F__ou R__ à la place de I J
G031Interpolation circulaire sens antihoraireG03 X__ Y__ I__ J__ F__ou R__ à la place de I J
G040Temporisation (dwell)G04 X1.5 ou G04 P1500X en secondes, P en millisecondes
G172Plan de travail XY (défaut fraisage)G17G18 = ZX, G19 = YZ
G206Unités en pouces (inches)G20G21 = millimètres
G216Unités en millimètres (défaut)G21Toujours préciser en début de programme
G280Retour origine machine (via point intermédiaire)G28 Z0 (puis G28 X0 Y0)Z en premier pour dégager
G407Annulation compensation rayon outilG40Annule G41 ou G42
G417Compensation rayon outil à gaucheG41 D__D = numéro correcteur
G427Compensation rayon outil à droiteG42 D__D = numéro correcteur
G438Compensation longueur outil positiveG43 H__H = numéro correcteur longueur
G498Annulation compensation longueurG49
G5414Décalage origine pièce 1 (Work Offset 1)G54G54 à G59 = 6 origines pièce standard
G809Annulation cycle fixeG80Annule G81, G83, G84, G85…
G819Cycle de perçage simpleG81 X__ Y__ Z__ R__ F__Sans débourrage
G839Cycle de perçage profond avec débourrageG83 X__ Y__ Z__ R__ Q__ F__Q = profondeur par passe
G849Cycle de taraudage rigideG84 X__ Y__ Z__ R__ F__F = N × pas (mm/min)
G903Programmation en valeurs absolues (défaut)G90Les coordonnées référencées à l'origine
G913Programmation en valeurs relatives (incrémental)G91Les coordonnées = déplacement depuis position actuelle
G945Avance en mm/min (défaut fraisage)G94G95 = mm/tr (tournage)
G955Avance en mm/tr (tournage)G95Utilisé avec broche en rotation constante
G9613Vitesse de coupe constante (CSS)G96 S200S = Vc en m/min — tournage
G9713Vitesse broche constante (tr/min)G97 S1500S = tr/min — fraisage et perçage

Codes M — fonctions auxiliaires

CodeDescriptionNote
M00Arrêt programme (opérateur reprend)Attente opérateur
M01Arrêt optionnel (si bouton actif)Contrôlé par l'opérateur
M02Fin de programme (sans rembobinage)
M03Rotation broche sens horaire (sens tranchant)S = vitesse en tr/min
M04Rotation broche sens antihoraireTaraudage gauche, certains outils
M05Arrêt broche
M06Changement d'outilT__ M06 ou M06 T__ selon CN
M08Arrosage marcheM09 = arrosage arrêt
M09Arrosage arrêt
M19Orientation broche (position angulaire définie)Avant changement outil ou alésage
M30Fin de programme + rembobinage au débutLe plus utilisé en fin de programme
M98Appel sous-programmeM98 P__ (P = numéro sous-programme)
M99Fin de sous-programme / retourDans le sous-programme

Codes modaux vs non-modaux — fonctionnement

CODES MODAUX — RESTENT ACTIFS JUSQU'À ANNULATION (PAR GROUPE)
; G01 est modal (groupe 1) — reste actif sur les blocs suivants
G01 X50. F300   ; G01 actif
    X100.        ; G01 toujours actif (pas besoin de répéter)
    Y80.         ; idem — G01 modal

; G00 annule G01 (même groupe 1) :
G00 X0. Y0.     ; G01 annulé → déplacement rapide

; G90 est modal (groupe 3) — une seule déclaration suffit :
G90             ; Absolu activé pour tout le programme
G01 X50. F300   ; En absolu
    X100.        ; En absolu encore

; G04 est NON-modal (groupe 0) — action unique sur un seul bloc :
G04 P500        ; Temporisation 0.5 s — uniquement ce bloc
G01 X50. F300   ; G04 n'est plus actif
Règle : les codes du groupe 0 sont non-modaux (action unique). Tous les autres groupes (1, 2, 3…) sont modaux — un seul code actif par groupe à tout moment.

Structure d'un programme CNC type

O1001                     ; Numéro programme (Fanuc)
N10 G21 G17 G40 G49 G80   ; Initialisation sécurité (mm, plan XY, annul. comp.)
N20 G90 G54               ; Absolu, origine pièce 1
N30 T01 M06               ; Appel outil 1
N40 G43 H01               ; Compensation longueur outil 1
N50 M03 S3000             ; Broche en marche, 3000 tr/min
N60 M08                   ; Arrosage
N70 G00 X10. Y10.         ; Positionnement rapide
N80 Z5.                   ; Approche rapide Z
N90 G01 Z-5. F300         ; Plongée en avance
N100 X100. F600           ; Fraisage en avance
N110 G00 Z50.             ; Dégagement Z rapide
N120 M05                  ; Arrêt broche
N130 M09                  ; Arrosage arrêt
N140 M30                  ; Fin programme

📖 Nouveau sur le G-code ? Guide G-code pour débutants — structure, exemples commentés, G43 expliqué

G41 / G42 — comp. rayonCycles de perçage← Programmation CNC