CNCYRON
Connexion

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).

PROGRAMMATION — CODES G ET M

G02/G03 avec I/J incohérents : si la distance départ→centre est différente de la distance arrivée→centre, alarme P/S 020sur Fanuc. Avec R : si R est inférieur à la moitié de la distance entre les deux points, l'arc est géométriquement impossible. Vérifier la cohérence géométrique avant lancement. Sur Fanuc, le paramètre 3410contrôle la tolérance de fermeture d'arc (défaut 0,001 mm). R négatif programme l'arc ≥ 180° (arc majeur) ; R positifprogramme l'arc < 180° (arc mineur). Initialisation type : G21 G17 G40 G49 G80 G90 G54 puis G28 Z0 avant G28 X0 Y0 (sécurité Z avant XY).

Codes G — fonctions préparatoires

26 codes G de référence Fanuc/Siemens — code, groupe modal, description, syntaxe et note.
CodeGroupeDescriptionSyntaxeNote
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

13 codes M auxiliaires de référence — code, description et note d'usage.
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

Pièges atelier et conseils terrain

ATTENTION
Modal vs non-modal — confusion source de cycles non annulés
Tout code d'un groupe autre que 0 reste actif jusqu'à annulation. Cycles fixes G81-G85 modaux : oublier G80 = perçage intempestif au déplacement suivant. Compensations G41/G42 : oublier G40 avant M06 = comportement imprévisible. G91 incrémentaloublié = déplacements relatifs au lieu d'absolus.
DANGER
G90/G91 — toujours préciser en début de programme
Sur Fanuc, le mode (absolu/incrémental) est mémorisé d'un programme à l'autre. Lancer un programme prévu en G90 sur une CN restée en G91 = trajectoires complètement fausses. Verrouiller G90en début de programme dans la ligne d'initialisation.
ATTENTION
G54 obligatoire avant tout déplacement absolu
G90 seul n'est pas suffisant : l'absolu doit avoir une origine. Sans G54 (ou G55-G59), la CN utilise l'origine machine — outil à des kilomètres de la pièce, alarme limite course. Toujours programmer G90 G54 ensemble en début de programme.
INFO
M30 vs M02 — préférer M30
M30 = fin de programme + rembobinage au début (programme prêt à relancer). M02 = fin sans rembobinage (programme nécessite repositionnement manuel). M30 est standard production, M02 réservé aux cas particuliers.
INFO
G28 Z0 avant G28 X0 Y0 — sécurité Z toujours première
Toujours dégager Z en premier avant tout mouvement X/Y de retour à l'origine machine. G28 Z0 remonte l'axe Z (point intermédiaire Z0), puis G28 X0 Y0 retourne en X/Y. Inverser = risque collision outil/pièce/bridage.
ATTENTION
G02/G03 avec I/J ou R — cohérence géométrique critique
Avec I/J : la distance départ→centre doit égaler la distance arrivée→centre (alarme P/S 020 Fanuc sinon). Avec R : R doit être ≥ moitié de la distance entre les deux points. R positif = arc < 180°, R négatif = arc ≥ 180°. Paramètre Fanuc 3410 = tolérance fermeture (défaut 0,001 mm).
📄 OUTIL ATELIER — PDF À IMPRIMER

Mémo Atelier CNC — Paramètres de coupe par matière

Vc, fz, Ra pour 10 matières (acier, inox, alu, titane, Inconel...) + 7 formules essentielles + checklist 16 points. 2 pages, format A4, à imprimer et garder près de la machine.

Aucun spam. Désabonnement en 1 clic. Données utilisées uniquement pour l'envoi de ressources CNCYRON, conformément à notre politique de confidentialité.

Questions fréquentes

Aller plus loin — calculateurs et ressources

G41 / G42 — compensation rayon/programmation-cnc/g-code/g41-g42/Compensation rayon outil — sens gauche/droite, règles d'activation et erreurs courantes.G43 / G44 — compensation longueur/programmation-cnc/g-code/g43-g44/Compensation longueur outil + activation H + annulation G49.Cycles fixes de perçage/programmation-cnc/g-code/cycles-percage/G81 / G82 / G83 / G84 / G85 — référence Fanuc avec syntaxe et paramètres.Calculateur vitesse de coupe Vc/calculateurs/vitesse-de-coupe/N = (1 000 × Vc) / (π × D) — calculer S pour M03/M04.Fiches matières — Vc par nuance/matieres/60 fiches techniques pour choisir Vc selon matière avant G96/G97.Blog — Guide G-code pour débutants/blog/gcode-debutant-guide-complet/Structure programme, exemples commentés, G43 expliqué pas-à-pas.