Le code G (code géométrique) définit la structure et les mouvements d'une machine CNC : positionnement, interpolation linéaire, trajectoires circulaires et vitesses d'avance. Le code M (code divers) contrôle le comportement et le fonctionnement externe de la machine : rotation de la broche, débit de liquide de refroidissement, changements d'outils et arrêts du programme. En résumé : code G = déplacements de la machine ; code M = fonctionnement de la machine.
On utilise presque toujours les deux. Le code G sans code M génère une trajectoire d'outil sans rotation de broche ni arrosage. Le code M sans code G active les fonctions de la machine, mais celle-ci ne se lance pas. Ensemble, ils constituent le fondement de tout processus d'usinage CNC automatisé.
Qu'est-ce que le G-Code ?
Le code G est un langage de programmation pour commandes numériques, et non un langage de programmation informatique traditionnel. Il utilise des commandes alphanumériques pour décrire les mouvements d'outils, permettant ainsi aux machines CNC de savoir comment usiner les matériaux. Les commandes sont écrites sous forme de blocs linéaires et se composent généralement d'une lettre suivie d'un chiffre, définissant des actions spécifiques.
% O1001 (Ma pièce) G21 (Unités métriques) G90 (Positionnement absolu) G00 X0 Y0 Z50 (Déplacement rapide) G01 Z-5 F100 (Avance linéaire) G02 X10 Y10 I5 J0 (Interpolation circulaire) M30 (Fin du programme) %
Le G00 indique à la machine : « Il s'agit d'un mouvement de positionnement rapide. » G01 signifie interpolation linéaire de l'alimentation. G02 Il crée une découpe circulaire dans le sens horaire. Le code G est purement géométrique : il détermine la position et la vitesse de l’outil, et non l’état des périphériques de la machine.
Précision géométrique
La programmation moderne des machines à commande numérique (CNC) repose en grande partie sur les codes G modaux qui définissent l'état de fonctionnement de la machine, et non seulement sa position. Leur utilisation correcte est essentielle pour la sécurité et la précision.
G54 (Système de coordonnées de travail 1) G17 (Sélection du plan XY) G41 D01 (Compensation de fraise gauche) G43 H01 Z10 (Compensation de longueur d'outil) G40 (Annuler la compensation de fraise) G49 (Annuler la compensation de longueur d'outil)
G54, G17, G41et G43 Il est essentiel d'indiquer précisément à la commande numérique comment interpréter les dimensions physiques et les systèmes de coordonnées utilisés. Une simple coordonnée associée à une sélection de plan incorrecte induit une logique de coupe erronée. Les commandes numériques accordent une grande importance aux codes de configuration géométrique lors du traitement des trajectoires d'outil : il s'agit d'un signal direct de sécurité et de précision.
Qu'est-ce que le code M ?
Le code M est un langage de commande de machines. Il sélectionne les fonctions matérielles et leur applique des règles de fonctionnement. Une commande en code M se compose généralement de la lettre M suivie d'un nombre, déclenchant des relais internes ou des automates programmables (PLC) au sein de la machine CNC.
/* Faire tourner la broche dans le sens horaire à 2000 tr/min */ M03 S2000 /* Activer l'arrosage */ M08 /* Changer d'outil pour l'outil n° 2 */ M06 T02
Le code M peut être appliqué et structuré de plusieurs manières spécifiques en fonction des paramètres du contrôleur de la machine :
Exécution standard — placée sur une ligne distincte ou à côté d’un mouvement de code G pour une exécution simultanée. Meilleure pratique pour les opérations standard.
Rétention modale — reste active jusqu'à ce qu'elle soit explicitement annulée par un autre code M (par exemple, M08 activer le liquide de refroidissement reste activé jusqu'à M09 désactiver le liquide de refroidissement).
Un seul code M par bloc : de nombreux automates anciens ou stricts exigent qu’un seul code M soit exécuté par ligne de code afin d’éviter les conflits entre les commandes de relais. Évitez de combiner plusieurs codes M pour garantir un comportement prévisible de la machine.
Code G vs Code M : les 5 principales différences
| Caractéristique | G-Code | Code M |
|---|---|---|
| Ce qu'il fait | Définit les trajectoires d'outil, les coordonnées et le mouvement. | Contrôle le matériel, les fonctions auxiliaires et les états |
| Syntaxe | Commandes telles que : G00, G01, G90 | Commandes telles que : M03, M06, M30 |
| Peut-il fonctionner seul ? | Oui, la machine bougera, mais sans la broche ni le liquide de refroidissement. | Non — le matériel s'allume mais ne coupe pas |
| Cela affecte la précision ? | Oui — cela détermine les dimensions et les tolérances exactes des pièces. | Indirectement — via les changements d'outils, le refroidissement et la vitesse de broche |
| Où il vit | À l'intérieur du corps principal du programme CNC (fichiers .nc) | Parallèlement au code G dans les mêmes fichiers de programme |
Le code G répond à la question « Où doit aller l'outil ? » Le code M répond à la question « Que doit faire le matériel ? » A G01 La commande indique au contrôleur machine qu'il s'agit d'un mouvement de coupe linéaire. Le code M précise si la broche tourne et si le liquide de refroidissement est pulvérisé pendant ce mouvement.
Le code G est mathématiquement indépendant. Une séquence de code G valide déplace les axes de la machine sans aucun code M ; elle ne permet simplement pas d'usiner le métal. Le code M dépend entièrement du contexte d'usinage, car il nécessite une trajectoire d'outil pour que ses fonctions matérielles soient opérationnelles. De plus, un code G correctement structuré garantit des tolérances géométriques serrées et des états de surface lisses, tandis que le code M assure le bon déroulement du processus en maintenant l'outil à une température optimale et en contrôlant sa vitesse de rotation.
Comment le code G et le code M fonctionnent ensemble
Voici un exemple pratique de la même opération sans code M et avec code M :
Code G uniquement :
G90 G21 G00 X50 Y50 Z10 G01 Z-5 F200 G01 X100 Y50 G00 Z50
Cela correspond à un mouvement d'outil à sec, sans alimentation électrique. Le parcours physique est bien présent — positionnement, entrée dans la pièce et retrait — mais il n'y a ni rotation de la broche ni liquide de refroidissement ; par conséquent, l'outil se briserait en présence de matière.
Ajouter le code M :
G90 G21 M06 T01 M03 S2500 G00 X50 Y50 Z10 M08 G01 Z-5 F200 G01 X100 Y50 G00 Z50 M09 M05
Désormais, la même trajectoire d'outil est exécutée comme une opération de coupe complète, avec sélection de l'outil, rotation de la broche et arrosage actif. La géométrie reste inchangée ; seul l'état physique de la machine a évolué. Cette séparation confère à la programmation CNC sa modularité : il est possible de modifier l'outil de coupe ou la stratégie d'arrosage en mettant à jour les codes M sans toucher aux coordonnées du code G sous-jacent.
La cascade et la hiérarchie dans la programmation CNC
La « hiérarchie » en programmation CNC décrit comment le contrôleur de la machine résout les opérations lorsqu'il existe plusieurs codes dans le même bloc. Trois facteurs déterminent le mode d'exécution de la machine :
Ordre d'exécution — les contrôleurs lisent bloc par bloc, mais au sein d'un bloc, les codes M se déclenchent souvent avant ou après les codes G en fonction des paramètres spécifiques de la machine.
États modaux — lorsqu’une commande est modale (comme G90 ou M03), elle reste active jusqu’à son annulation. La compréhension des états modaux empêche la machine de conserver une ancienne commande lors d’une nouvelle opération.
Commandes prioritaires — des commutateurs physiques sur la machine CNC peuvent remplacer les vitesses d'avance et les vitesses de broche programmées, mais le code programmé sert toujours de logique de base.
Programmation CNC moderne en 2026
La programmation CNC a considérablement évolué. Des fonctions qui nécessitaient des calculs manuels il y a quelques années sont désormais gérées par des macros avancées et des plateformes logicielles intuitives.
Programmation conversationnelle
Les commandes conversationnelles gèrent les opérations de base directement sur la machine. Les opérateurs saisissent les dimensions, et la machine génère automatiquement les codes G et M nécessaires. Grâce à ces systèmes, il n'est plus nécessaire de saisir manuellement chaque coordonnée.
/* Logique des variables macro */ #100 = 50.0 (Point de départ X) #101 = 25.0 (Point de départ Y) G00 X#100 Y#101
Automatisation FAO avancée
Les systèmes FAO modernes répondent au modèle CAO numérique. Les plateformes FAO calculent des trajectoires d'outils complexes à 5 axes et post-traitent les codes G et M précis, adaptés aux commandes numériques des machines, ce qui rend les programmes véritablement portables entre différents ateliers.
G05.1 Q1 (Mode d'usinage à grande vitesse) G43.4 H01 (Contrôle du point central de l'outil pour 5 axes)
Cela permet à la machine de traiter les blocs préprogrammés et d'ajuster les vitesses d'avance en douceur, évitant ainsi les entailles sans que le programmeur ait à calculer manuellement les points de décélération.
Optimisation du parcours d'outil
Les systèmes CNC avancés permettent à une machine de réagir à des retours d'information physiques — tels que l'usure des outils ou la charge de la broche — qui n'étaient auparavant possibles qu'avec l'intervention d'un opérateur.
/* La commande adaptative ajuste l'avance en fonction de la charge de la broche */ G31 P1 (Fonction de saut pour le palpage automatique et les mises à jour de décalage)
Lequel apprendre en premier : le code G ou le code M ?
Apprenez d'abord le code G. Avec le seul code G, vous pouvez créer une trajectoire d'outil complète et structurée. Le code M, quant à lui, nécessite un support physique : il est inutile de faire tourner une broche si l'outil n'a nulle part où se déplacer.
Une séquence d'apprentissage pratique : commencez par le code G pour maîtriser les systèmes de coordonnées, l'interpolation et les vitesses d'avance. La plupart des opérateurs deviennent productifs avec les codes G et M de base en quelques semaines. Les maîtriser – comprendre en profondeur la logique modale, écrire des macro-variables efficaces et optimiser les trajectoires d'outils à grande vitesse – prend plus de temps, mais s'avère extrêmement précieux. Pour ceux qui souhaitent accélérer leur apprentissage, les simulateurs FAO modernes offrent des environnements numériques permettant de pratiquer le code G et M en toute sécurité et en temps réel.
Code G — plans de coordonnées, déplacements linéaires, interpolation circulaire, compensations.
Code M — commande de broche, systèmes de refroidissement, changements d'outils, arrêts de programme.
Macros — logique, variables, instructions conditionnelles, sondage automatisé.
Logiciels G-Code, M-Code et CNC
Comprendre les codes G et M fait de vous un meilleur programmeur CNC, et pas seulement un meilleur opérateur. Savoir qu'un cycle de perçage est une combinaison de coordonnées en code G et de commandes de broche en code M vous permet de programmer des trajectoires d'outil qui se traduisent directement par des mouvements machine efficaces, plutôt que par des mouvements qui gaspillent du temps de cycle.
C’est le principe fondamental des outils de fabrication assistée par ordinateur (FAO). Lorsque les programmeurs travaillent avec les paramètres réels de la machine — et non de simples approximations visuelles à l’écran —, l’écart entre la conception numérique et la production physique se réduit comme peau de chagrin. La pièce usinée correspond exactement à ce qui est simulé. Il n’y a plus d’étape de traduction où l’opérateur doit deviner les intentions du programmeur.
Les logiciels de FAO modernes affichent à l'écran les trajectoires d'outil réelles, c'est-à-dire des trajectoires construites à partir des codes G et M réels, identiques à ceux envoyés à la commande numérique de la machine. Lorsque vous modifiez une vitesse d'avance ou une stratégie de coupe dans votre logiciel de FAO, vous modifiez exactement les mêmes propriétés qu'un machiniste modifierait dans la commande numérique. Le résultat est une pièce usinée vérifiée. .nc fichier qui référence directement ces états de machine.
FAQ : Code G vs Code M
Q : Quelle est la différence entre le code G et le code M ?
Le code G définit la géométrie et les mouvements d'une machine CNC : positionnement, lignes, arcs et vitesses. Le code M contrôle les fonctions matérielles : rotation de la broche, arrosage et changements d'outils. Code G : où se déplace-t-elle ? Code M : comment la commande fonctionne-t-elle ?
Q : Dois-je apprendre d'abord le code G ou le code M ?
Apprenez d'abord le code G. Il constitue la base de la programmation CNC en définissant les trajectoires d'outils et les mouvements. Le code M complète le code G en contrôlant les fonctions de la machine. Une fois le code G maîtrisé, l'apprentissage du code M et de la programmation macro vous permettra d'automatiser et d'optimiser les opérations plus efficacement.
Q : Une machine CNC peut-elle fonctionner sans code M ?
Oui, mais cela ne fera que déplacer les axes sans effectuer de découpe ni d'usinage. Le code M est indispensable pour activer les fonctions matérielles telles que la rotation de la broche, la circulation du liquide de refroidissement et le changement d'outils, qui sont essentielles au bon fonctionnement des machines CNC.
Q : Le code M peut-il fonctionner sans code G ?
Non. Le code M active les fonctions matérielles, mais sans code G pour définir les mouvements, la machine restera immobile et n'effectuera aucune tâche d'usinage.
Q : Qu'est-ce que le G-code modal et pourquoi est-ce important ?
Les commandes G-Code modales restent actives jusqu'à leur annulation explicite, comme G90 (positionnement absolu) ou G41 (compensation de l'outil de coupe). Cela réduit la saisie répétitive, améliore la lisibilité du programme et accélère le traitement par le contrôleur.
Q : Le code G ou le code M ont-ils une incidence sur le temps de cycle ?
Les deux. Un code G efficace minimise les mouvements inutiles et les opérations de coupe à vide, réduisant ainsi le temps de cycle. Le code M influe sur le temps de cycle de manière mécanique, par exemple lors des changements d'outils (M06) ou de l'accélération de la broche (M03).
Q : Qu'est-ce qu'un post-processeur CNC ?
Un post-processeur est un logiciel qui convertit les trajectoires d'outils générées par FAO en dialectes G-Code et M-Code spécifiques requis par une machine CNC, assurant ainsi la compatibilité avec des marques telles que Haas, Fanuc et Mazak.
Q : Une machine CNC peut-elle fonctionner en utilisant uniquement le code G ?
Non. Si le code G définit les mouvements, le code M est nécessaire pour activer les fonctions essentielles de la machine, telles que la rotation de la broche et la circulation du liquide de refroidissement. Les deux sont indispensables au bon déroulement des opérations d'usinage.
Q : En quoi les codes M varient-ils d'une marque de CNC à l'autre ?
Les codes M sont spécifiques à chaque machine et peuvent varier considérablement d'une marque à l'autre. Par exemple, M03 (rotation de la broche dans le sens horaire) est standard, mais d'autres codes tels que M06 (changement d'outil) ou M30 (fin de programme) peuvent avoir des implémentations différentes selon le fabricant.
Q : Que se passe-t-il si un programme ne comporte pas de commande M30 à la fin ?
Sans la commande M30, la machine CNC ne se réinitialisera pas au point de départ du programme et ne s'arrêtera pas correctement. Elle risque alors de rester active, nécessitant une intervention manuelle pour être réinitialisée.
Q : Les codes G pour un tour CNC sont-ils différents de ceux pour une fraiseuse CNC ?
Oui. Bien que de nombreux codes G soient communs, certains sont spécifiques au type de machine. Par exemple, le code G71 (cycle d'ébauche) est utilisé sur les tours, tandis que le code G17 (sélection du plan XY) est spécifique aux fraiseuses.
Q : Quels codes sont considérés comme modaux et quels codes ne le sont pas ?
Les codes modaux restent actifs jusqu'à leur annulation, comme G90 (positionnement absolu) ou G01 (interpolation linéaire). Les codes non modaux, tels que G04 (temps d'attente), s'appliquent uniquement à la ligne sur laquelle ils sont écrits et ne sont pas conservés.
Q : Comment puis-je trouver la liste des codes M pour ma machine spécifique ?
Consultez le manuel d'utilisation ou le guide de programmation de votre machine CNC. Les fabricants tels que Haas, Fanuc et Mazak fournissent une documentation détaillée comprenant une liste complète des codes M pris en charge et leurs fonctions.
Résumé
Le code G et le code M sont distincts mais indissociables. Le code G définit la trajectoire de votre machine : il sert de base aux coordonnées, aux dimensions et aux tolérances. Le code M assure le fonctionnement : il alimente la broche et empêche la surchauffe de l’outil.
En 2026, le G-code et le M-code demeurent les fondements de toute fabrication CNC. Les logiciels de FAO apparaissent et disparaissent. La conception des machines évolue. Le G-code et le M-code sont stables depuis des décennies et le resteront encore longtemps. Maîtriser parfaitement ces langages – non seulement les bases, mais aussi les états modaux, la hiérarchie des contrôleurs, les macro-variables et les techniques à haute vitesse – est l'une des compétences les plus précieuses et durables en usinage de précision.
Liste des codes G courants pour l'usinage CNC
| Code | Sens | Code | Sens |
|---|---|---|---|
| G00 | Positionnement rapide | G56 | Système de coordonnées de travail G56 |
| G01 | Interpolation linéaire | G57 | Système de coordonnées de travail G57 |
| G02 | Interpolation circulaire dans le sens des aiguilles d'une montre | G58 | Système de coordonnées de travail G58 |
| G03 | Interpolation circulaire dans le sens antihoraire | G59 | Système de coordonnées de travail G59 |
| G04 | Séjour (Temps) | G65 | Appeler un programme macro |
| G05 | Activer le mode haute précision | G68 | Rotation des coordonnées |
| G10 | Entrée de données programmable | G69 | Annuler la rotation des coordonnées |
| G17 | Plan XY | G73 | Cycle de forage à grande vitesse |
| G18 | Avion XZ | G76 | Cycle d'alésage fin |
| G19 | Plan YZ | G80 | Annulation du cycle fixe |
| G20 | Unités impériales | G81 | Cycle de forage |
| G21 | Unités métriques | G82 | Cycle de forage avec temps d'arrêt (P) |
| G28 | Retour au point de référence | G83 | Cycle de forage Peck |
| G40 | Annulation de la compensation du rayon de coupe | G84 | Cycle de taraudage |
| G41 | Compensation du rayon de coupe à gauche | G85 | Cycle d'ennui |
| G42 | Compensation du rayon de coupe à droite | G86 | Cycle d'alésage grossier |
| G43 | Compensation positive de la longueur de l'outil | G87 | Cycle d'alésage arrière |
| G44 | Compensation négative de la longueur de l'outil | G90 | Mode de coordonnées absolues |
| G49 | Annuler la compensation de longueur d'outil | G91 | Mode de coordonnées incrémentales |
| G52 | Système de coordonnées locales | G94 | Alimentation par minute |
| G53 | Système de coordonnées de la machine | G95 | Alimentation par révolution |
| G54 | Système de coordonnées de travail G54 | G98 | Retour au point de départ du cycle fixe |
| G55 | Système de coordonnées de travail G55 | G99 | Retour au point R du cycle fixe |
Liste des codes M courants pour l'usinage CNC
| Code M | Fonction | Code M | Fonction |
|---|---|---|---|
| M00 | Arrêt du programme | M01 | Arrêt du programme en option |
| M02 | Fin du programme (Réinitialisation) | M03 | Tourner dans le sens horaire |
| M04 | Broche dans le sens antihoraire | M05 | Arrêt de broche |
| M08 | Liquide de refroidissement activé | M09 | Liquide de refroidissement éteint |
| M10 | Avance de la contre-pointe | M11 | Rétraction de la contre-pointe |
| M12 | Mandrin de serrage | M13 | Déblocage du mandrin |
| M14 | Contrôle de position de la broche | M15 | Contrôle de la vitesse de la broche |
| M20 | Pince à broche | M21 | Débloquer la broche |
| M24 | Commande de position de la 2ème broche | M25 | 2ème commande de vitesse de broche |
| M32 | Lubrification sur | M40 | Position neutre de l'engrenage de broche |
| M41 | Engrenage de broche en position basse | M42 | Engrenage de broche en position haute |
| M68 | Mandrin hydraulique | M69 | desserrage du mandrin hydraulique |
| M78 | Avance de la contre-pointe | M79 | Rétraction de la contre-pointe |
| M98 | Appel de sous-programmes | M99 | Fin du sous-programme |
Faites appel à Essengold pour vos services d'usinage CNC.
La maîtrise des codes G et M est essentielle à la programmation CNC, mais la réussite de vos projets d'usinage exige expertise, précision et des capacités de fabrication avancées. Collaborer avec un atelier d'usinage ou un machiniste qualifié, expert en précision géométrique et en technologies CNC de pointe, peut faire toute la différence. Vous recherchez un partenaire fiable pour concrétiser votre projet d'usinage CNC ?
Or d'Essen Nous sommes un leader reconnu dans le domaine de l'usinage CNC. Nous offrons une qualité supérieure à des prix compétitifs, garantissant la fabrication de vos pièces avec précision et efficacité. Notre équipe d'usiniers, d'ingénieurs et de programmeurs expérimentés analysera vos modèles CAO 3D et utilisera des logiciels de FAO avancés pour produire des pièces conformes à vos spécifications exactes. Laissez-nous vous aider à Obtenez des résultats exceptionnels pour votre prochain projet d'usinage !


