Maison / Conception d'usinage / Que signifie le code G ? (Et pourquoi les machines CNC tombent-elles en panne ?)

Que signifie le code G ? (Et pourquoi les machines CNC tombent-elles en panne ?)

Portrait professionnel de James Miller, expert en fabrication et auteur technique chez EPTAHUB.

Écrit par

James Miller
Environ 10 minutes
Une infographie d'EPTAHUB expliquant le code G des machines CNC, notamment le système de coordonnées cartésiennes, le positionnement absolu et relatif, la structure des commandes G, X, Y, Z et le processus allant de la CAO/FAO aux usinages.

Table des matières

Au cours de mes douze années d'évaluation des capacités des fournisseurs et d'audit des chaînes de production chez eptahub.com, j'ai eu d'innombrables discussions avec de jeunes ingénieurs concepteurs qui pensent que leur travail s'arrête une fois le modèle CAO finalisé. Ils leur remettent un fichier STEP 3D magnifiquement rendu et supposent que l'usine n'a plus qu'à appuyer sur “ imprimer ”.”

Il s'agit d'une incompréhension fondamentale de la production industrielle. Un système à 5 axes Fraisage CNC Cette machine — un assemblage de fonte et de servomoteurs valant un demi-million de dollars — ne comprend pas les modèles 3D. Elle est totalement insensible à votre géométrie CAO. Elle ne comprend qu'un langage de programmation alphanumérique extrêmement rigide.

Lorsqu'un machiniste ou un ingénieur mécanicien demande, “ Que signifie le code G ? ”, Ils s'interrogent sur le lien fondamental entre la théorie numérique et la réalité physique. Si votre logiciel de CAO est le plan d'architecte, le code G est le manuel d'instructions détaillé remis au maçon. Si les instructions sont erronées, la machine enfoncera aveuglément une fraise en carbure dans un étau en acier à 15 000 tr/min, brisant une broche $12 000 en une fraction de seconde.

Que signifie le code G ?

Répondons tout de suite à la question fondamentale du vocabulaire : Que signifie le code G ?

Officiellement, selon la norme historique EIA-274D (RS-274), le “ G ” signifie Géométrie ou Général Commandes préparatoires.

Capture d'écran d'un exemple de code G d'EPTAHUB, montrant diverses commandes comme M190 pour la température, G29 pour le nivellement et G1 pour le mouvement linéaire avec les coordonnées X, Y, Z et une vitesse d'avance (F).

Lorsque vous émettez une commande commençant par la lettre G, vous demandez au microprocesseur du contrôleur CNC de préparer Vous dictez les mouvements des servomoteurs des axes de la machine pour un type spécifique de mouvement géométrique ou pour établir un système de coordonnées précis. comment l'outil de coupe se déplacera dans l'espace cartésien tridimensionnel (axes X, Y, Z et axes de rotation A, B, C).

Qu'est-ce que le code G dans les opérations sur machines CNC ?

Pour comprendre Qu'est-ce que le code G dans une machine CNC ? En termes de terminologie, il faut considérer cela comme un flux de données cinétiques brutes. La machine lit le code bloc par bloc (ligne par ligne) de haut en bas.

Voici un fondement Exemple de code G d'un seul bloc :
N010 G01 X50,0 Y25,0 F250,0

En tant qu'ingénieur, voici comment décoder cette syntaxe :

  • N010 : Le numéro de bloc (Ligne 10).
  • G01 : Code préparatoire (Interpolation linéaire — se déplacer en ligne droite lors de la découpe).
  • X50,0 Y25,0 : Les coordonnées cartésiennes cibles (déplacer vers X=50mm, Y=25mm).
  • F250.0 : Vitesse d'avance (déplacement de 250 millimètres par minute exactement).

Le contrôleur CNC reçoit ce signal, calcule la tension exacte nécessaire pour que les servomoteurs X et Y atteignent simultanément la destination, et exécute la découpe.

Que signifie le code M ?

On ne peut pas faire fonctionner une machine en se basant uniquement sur la géométrie. La machine comporte des éléments physiques qu'il faut activer et désactiver : pompes de refroidissement, moteurs de broche, mandrins hydrauliques et convoyeurs à copeaux.

Un tableau d'EPTAHUB répertoriant les commandes de code M CNC courantes et leurs fonctions, telles que M03 pour démarrer la broche, M06 pour un changement d'outil et M08 pour activer le liquide de refroidissement.

Ceci nous amène à la seconde moitié de l'écosystème. Lorsque les gens recherchent Que signifient les codes G et M ?, Ils tentent de dissocier la géométrie du matériel.

Donc, Que signifie le code M ?? Le “ M ” signifie Divers ou Machine codes.

Alors que les codes G contrôlent le chemin de l'outil, Qu'est-ce que le code M ?Il s'agit du relais de commutation numérique. Les codes M ne déplacent pas les axes ; ils envoient des signaux électriques à l'automate programmable (PLC) de la machine pour activer les états physiques du matériel.

Si vous souhaitez que la broche tourne dans le sens horaire à 5 000 tr/min, la géométrie (code G) ne peut pas vous aider. Vous devez utiliser un code M (M03 S5000). Si vous souhaitez inonder la zone de coupe avec un liquide de refroidissement synthétique pour empêcher le titane de prendre feu, vous émettez un code M (M08).

La matrice d'ingénierie : hiérarchie des codes G et M

Lorsque les jeunes programmeurs débutent leur formation, ils recherchent inévitablement sur Internet une ressource massive Liste des codes g (PDF) et essayez de le mémoriser. C'est peine perdue.

Différent fabricants de machines Les dictionnaires de codes des fabricants (Haas, Fanuc, Siemens, Heidenhain) présentent de légères variations. Cependant, les codes fondamentaux sont universels. Vous trouverez ci-dessous la matrice d'ingénierie rigoureuse que nous utilisons chez eptahub.com pour définir les commandes critiques absolues. liste de g-code et la liste des codes M.

Tableau 1 : Références essentielles du code G & M en matière d'ingénierie

Commande Catégorie Nom de code Fonction d'ingénierie et réalité physique
G00 Géométrie Positionnement rapide Danger. Déplace tous les axes vers les coordonnées cibles à la vitesse physique maximale de la machine. Jamais Utilisez ceci pendant que l'outil est en contact avec le métal.
G01 Géométrie Interpolation linéaire L'outil indispensable. Déplace l'outil en ligne droite à une vitesse d'avance (valeur F) rigoureusement contrôlée. Utilisé pour la découpe des métaux.
G02 / G03 Géométrie Interpolation circulaire Déplace l'outil selon un arc ou un cercle parfait (G02 : sens horaire, G03 : sens antihoraire). Calcule les mouvements complexes simultanés des axes.
G90 Système Positionnement absolu Indique à la machine : “ Lire toutes les coordonnées X, Y, Z par rapport au point d'origine zéro absolu de la pièce. ”
G91 Système Positionnement incrémental Indique à la machine : “ Lire toutes les coordonnées X, Y, Z par rapport à où se trouve actuellement l'outil."”
M00 Machine Arrêt du programme Permet d'arrêter la machine indéfiniment. Utilisée par les opérateurs pour ouvrir les portes, évacuer les copeaux de métal ou retourner une pièce manuellement.
M03 / M04 Machine Démarrage de la broche Active le moteur électrique de broche. M03 : marche avant (sens horaire), M04 : marche arrière. Nécessite une valeur ‘ S ’ (tr/min).
M06 Machine Changement d'outil Déclenche le carrousel du changeur d'outils automatique robotisé (ATC) pour remplacer la fraise actuelle par une nouvelle.
M08 / M09 Machine État du liquide de refroidissement M08 ouvre les vannes pour projeter du liquide de refroidissement à haute pression sur l'outil. M09 ferme les vannes.
M30 Machine Fin du programme Arrête la broche, coupe le liquide de refroidissement, rembobine la mémoire de la machine à la ligne 1 et libère les pinces hydrauliques.

Le concept de “ modalité ” dans la programmation en code G

Si vous voulez comprendre programmation en code G Au niveau d'ingénieur senior, vous devez comprendre le concept de Modal vs. Non-modal commandes. C'est ici que se produisent les erreurs de programmation 90%.

  • Commandes modales : Une fois exécuté, un G-code modal reste actif en permanence jusqu'à ce que vous l'annuliez explicitement ou le remplaciez par un code contradictoire.
    • Exemple: Si vous tapez G01 X10.0 Y10.0 F100 Sur la ligne 1, la machine passe en “ mode de coupe contrôlée ”. Si la ligne 2 est simplement X20.0, La machine se souvient des commandes G01 et F100 et continuera à découper jusqu'à la nouvelle coordonnée X à la même vitesse.
  • Commandes non modales : Ces instructions ne s'exécutent que pour la ligne exacte sur laquelle elles sont écrites et sont immédiatement oubliées par la machine à la ligne suivante (par exemple, G04 Temps de séjour).

Étude de cas en ingénierie : La catastrophe G90 vs G91

Pour illustrer pourquoi il est important de comprendre les définitions strictes de Que sont le code G et le code M ? est non négociable, considérez une analyse de défaillance catastrophique que j'ai été appelé à examiner chez un fournisseur aérospatial de deuxième rang.

Le scénario : Le fournisseur usinait un carter de turbine complexe en Inconel 718 (un superalliage extrêmement dur et résistant à la chaleur) à l'aide d'une fraiseuse CNC DMG Mori 5 axes. Le programmeur FAO a effectué une modification manuelle du fichier texte à la toute fin du programme pour lever l'outil et percer un dernier trou.

Un bras robotisé de pointe, dans une installation d'EPTAHUB, effectue un contrôle qualité de précision sur un grand engrenage hélicoïdal complexe usiné CNC, démontrant ainsi la précision de la programmation en code G.

Le code écrit :
N500 G91 G00 Z50.0 (Déplacez l'outil vers le haut de 50 mm) progressivement de sa position actuelle pour dégager la partie).
N510 X10,0 Y10,0 (Se déplacer vers la position du trou final).
N520 G01 Z-5.0 F50.0 (Plongez de 5 mm pour percer le trou).

L'échec : La machine a exécuté la ligne N500 sans problème, en soulevant l'outil correctement. Elle a ensuite exécuté la ligne N510, en se déplaçant au-dessus du trou. Mais à la ligne N520, la broche a violemment enfoncé le foret en carbure monobloc de 20 mm à travers la pièce en Inconel, puis à travers le dispositif de maintien en acier trempé, et enfin directement dans la table en fonte de la machine. L'outil a explosé, les roulements de la broche ont été écrasés et la machine s'est désalignée. Dommages totaux : $35 000 et 4 semaines d'arrêt machine.

La cause profonde en matière d'ingénierie :
Le programmeur a fondamentalement mal compris les commandes modales.
Sur la ligne N500, le programmeur a émis G91 (Positionnement incrémental). Il s'agit d'un Modal commande. Elle a modifié le cerveau entier de la machine.

Lorsque la machine a atteint la ligne N510 (X10.0 Y10.0Il ne s'est pas déplacé jusqu'aux coordonnées absolues X10/Y10. Comme G91 était actif, il s'est déplacé de 10 mm supplémentaires. loin de l'endroit où il se trouvait actuellement.

Pire encore, lorsqu'il a atteint la ligne N520 (Z-5.0Le programmeur pensait ordonner à la machine de percer un trou de 5 mm de profondeur dans la pièce. Mais la machine était toujours en mode G91 (incrémental). La machine a alors interprété ces instructions comme suit : “ Déplacez-vous de 5 mm vers le bas par rapport à votre position Z actuelle. ” L'outil était suspendu à 50 mm du sol. En le descendant de 5 mm, je l'ai placé à 45 mm au-dessus de la pièce. Il n'a rien coupé.

Attendez, pourquoi ça a planté alors ?
Le programmeur avait préalablement configuré la machine en mode absolu au début du programme et supposait qu'elle y reviendrait automatiquement. Il n'a pas émis de G90 Commande (Positionnement absolu) avant la ligne N520. S'ils avaient écrit N520 G90 G01 Z-5.0 F50.0, La machine aurait dû plonger jusqu'à la coordonnée Z absolue de -5,0 mm. Au lieu de cela, elle s'est perdue dans l'espace, effectuant des mouvements incrémentaux jusqu'à entrer en collision avec une masse physique.

C’est pourquoi, chez eptahub.com, nous n’autorisons aucune modification manuelle du G-code en production sans une vérification rigoureuse par simulation. Le G-code est dénué de logique ; il exécute uniquement la logique mathématique précise que vous lui fournissez.

Comment les logiciels de FAO modernes génèrent-ils le code G ?

Dans les années 1980, les opérateurs de machines à commande numérique se tenaient devant le contrôleur et saisissaient manuellement chaque ligne d'une machine. programme g-code. Aujourd'hui, sur eptahub.com, une hélice aérospatiale complexe à 5 axes peut nécessiter un fichier texte contenant 4,5 millions de lignes de code. Il est mathématiquement impossible pour un humain de l'écrire ou de la vérifier manuellement.

C’est là que les logiciels de FAO (Fabrication Assistée par Ordinateur) deviennent un lien essentiel.

Lorsqu'un jeune ingénieur demande Qu'est-ce que le code G dans une machine CNC ? En termes actuels, on s'intéresse en réalité au résultat d'un système FAO (comme Siemens NX, Mastercam ou Fusion 360). Le logiciel FAO prend le modèle CAO 3D, permet au programmeur de définir visuellement les outils de coupe, les vitesses et les trajectoires d'outils, puis traduit mathématiquement ces trajectoires visuelles en données alphanumériques brutes. exemples de g-code.

Cependant, ce processus présente un goulot d'étranglement critique, souvent mal compris : Le post-processeur.

Le post-processeur : l'interprète CNC ultime

On croit souvent à tort que le code G standard est universellement identique sur toutes les machines. C'est faux. Bien que les concepts fondamentaux de Que signifient les codes G et M ? Cela reste vrai, mais un contrôleur Fanuc utilise un “ dialecte ” de code G légèrement différent de celui d'un contrôleur Haas ou Heidenhain.

  • Le problème : Si vous envoyez un fichier G-code au format Haas à une machine Fanuc, celle-ci risque d'interpréter incorrectement un code M, de ne pas activer le liquide de refroidissement et d'enflammer la pièce en titane.
  • La solution : Le post-processeur. Il s'agit d'un script spécifique intégré au logiciel de FAO qui convertit les données génériques de trajectoire d'outil en un fichier texte précis et rigoureusement formaté, conforme aux exigences de la marque, du modèle et de l'ancienneté de la machine. Si votre post-processeur présente un défaut, votre machine CNC $500 000 plantera, quelle que soit la perfection du modèle CAO.

Programmation avancée en code G : Systèmes de coordonnées de travail (G54-G59)

Si vous confiez à un machiniste un bloc d'aluminium brut, que vous le boulonnez dans un étau en acier à l'intérieur de la machine et que vous appuyez sur “ Démarrer ”, la machine présente un problème fondamental : elle est aveugle. Elle sait où se trouve sa propre broche, mais elle ignore totalement où se situe physiquement le bloc d'aluminium dans l'immensité de son enveloppe.

Pour résoudre ce problème, programmation en code G repose sur les systèmes de coordonnées de travail (WCS).

Au lieu d'écrire un ouvrage massif liste de codes g Pour calculer la distance exacte entre la position initiale absolue de la machine et chaque caractéristique de la pièce, nous utilisons G54 à G59.

  • Comment ça marche : L'opérateur touche physiquement un coin du bloc d'aluminium brut avec une sonde. Il indique à la machine : “ Cette position précise dans l'espace correspond maintenant à X0, Y0, Z0. Enregistrez cette position dans le registre mémoire G54. ”
  • Le Code : Tout en haut du programme, le logiciel de FAO génère les sorties suivantes : G54.
  • Le résultat : À partir de cette ligne, chaque coordonnée du programme est calculée par rapport à ce coin précis du bloc d'aluminium. Si l'on dévisse l'étau et qu'on le déplace de 25 cm vers la gauche, il n'est pas nécessaire de réécrire les 4 millions de lignes de code. L'opérateur palpe à nouveau le coin, met à jour le registre G54 dans l'ordinateur de la machine et appuie sur Démarrer. Le programme entier se décale alors parfaitement de 25 cm vers la gauche.

Contrôle de précision : Compensation du rayon de coupe (G41 / G42)

L'un des problèmes les plus complexes en génie mécanique, dans le domaine de l'usinage, est l'usure des outils.
Imaginez que vous écriviez un programme pour usiner une rainure de 20,00 mm de large exactement, à l'aide d'une fraise en carbure monobloc de 10,00 mm de diamètre. Le code commande au centre de l'outil de se déplacer précisément au centre de la rainure.

Cependant, après l'usinage de 50 pièces en acier, le frottement use l'outil. La fraise de 10,00 mm a désormais un diamètre physique de 9,96 mm. L'outil étant plus petit, la rainure qu'il usine sera trop petite et le service qualité d'eptahub.com rejettera la pièce.

Faut-il retourner dans le logiciel de FAO, modifier le diamètre de l'outil à 9,96 mm, régénérer l'intégralité du programme et envoyer un nouveau fichier à la machine ? Non. Nous utilisons la compensation du rayon de coupe.

  • G41 (Compensation de coupe gauche) : Indique à la machine de modifier dynamiquement la trajectoire de l'outil vers le gauche du contour programmé.
  • G42 (Droit de compensation de coupe) : Indique à la machine de modifier dynamiquement la trajectoire de l'outil vers le droite du contour programmé.
  • G40 : Annulation de l'indemnisation.

Le flux de travail en ingénierie :
Lorsque la machine lit G41 D01, Le système examine le registre d'usure interne de la machine (D01). L'opérateur y a saisi “ -0,04 mm ”. Sans modifier une seule ligne du fichier texte d'origine, la commande numérique recalcule mathématiquement la trajectoire complète de l'outil, en la décalant de 0,02 mm (le rayon d'usure) afin de compenser parfaitement l'usure de l'outil.

C'est le summum de la compréhension Que sont le code G et le code M ?. Il ne s'agit pas seulement de faire bouger la machine ; il s'agit de lui fournir les variables dynamiques nécessaires pour maintenir des tolérances de l'ordre du micron dans un environnement physiquement dégradé.

L'avis de l'ingénieur : arrêtez de mémoriser, commencez à simuler.

Quand nouveau ingénieurs de fabrication Rejoignez mon équipe, ils me demandent fréquemment un Liste des codes g (PDF) Pour qu'ils mémorisent chaque ordre. Je refuse de leur en donner un seul.

Mémoriser cela G83 Un “ cycle de perçage par à-coups ” est inutile si vous ne comprenez pas la physique de l'évacuation des copeaux qui rend ce type de perçage nécessaire. Savoir Que signifie le code M ? est sans importance si vous ne comprenez pas que l'activation M08 (Liquide de refroidissement activé) après L'outil qui s'enfonce dans de l'acier trempé provoquera un choc thermique catastrophique et brisera le carbure.

L'ingénierie CNC moderne repose sur la vérification par jumeau numérique. Nous traitons le code G final à l'aide d'un logiciel de simulation cinématique avancé (tel que Vericut). Ce logiciel construit une réplique virtuelle de la machine CNC, lit le code G ligne par ligne et prédit les collisions, les entailles et les dépassements d'axes avant même que le code n'atteigne l'atelier.

Le code G est le lien ultime et inflexible entre la conception numérique et la réalité physique. Respectez sa rigueur, vérifiez sa logique par le calcul et ne présumez jamais que la machine sait ce que vous avez “ voulu ” faire. Elle ne sait que ce que vous avez saisi.

Références

Pour garantir votre Les protocoles de programmation de fabrication sont conformes aux normes industrielles mondiales., veuillez vous référer aux ressources de référence suivantes :

  1. ISO 6983-1:2009 (Systèmes d'automatisation et intégration — Commande numérique des machines)
    La norme de base internationalement reconnue régissant le format des données pour les systèmes de positionnement, de mouvement de ligne et de contrôle de contour (la définition mondiale officielle du code G).
    Lien: ISO.org
  2. ASME Y14.5-2018 (Dimensionnement et tolérancement)
    Bien qu'il ne s'agisse pas d'un manuel de programmation, ce document constitue la norme d'ingénierie de référence pour le GD&T (Tolérancement géométrique). Un programmeur ne peut écrire correctement les décalages de référence du système de coordonnées d'usine (G54) en code G sans comprendre les références géométriques précises définies dans cette norme.
    Lien: ASME.org
Logo officiel d'EPTAHUB - fournisseur leader de solutions de fabrication à la demande et de chaîne d'approvisionnement
Prêt à fabriquer ?

Obtenez un devis instantané et un retour d'information sur la fabrication.

75,000+

Nombre d'acheteurs

4,500+

Nombre de fournisseurs

Plus de 150 millions

Nombre de pièces expédiées

4.8/5

Évaluation par étoiles de Trustpilot

Prêt pour votre projet ?

Portrait professionnel de James Miller, expert en fabrication et auteur technique chez EPTAHUB.

Écrit par
James Miller

James Miller est ingénieur de fabrication senior et rédacteur technique. Fort d'une expérience de plus de dix ans dans l'usinage CNC, le moulage par injection de précision et le prototypage rapide avancé, il maîtrise l'articulation entre la conception technique complexe et la mise en œuvre en production. Il se spécialise dans la traduction des normes de fabrication de pointe en solutions pratiques et exploitables pour les clients d'Eptahub. Passionné par la conception pour la fabrication (DFM), il accompagne les ingénieurs dans l'optimisation de leurs pièces. Lorsqu'il n'écrit pas, James Miller aime travailler le bois et explorer la nature avec sa famille.

Articles de blog récents

×

EPTAHUB Devis professionnels et intelligents

Notre système de devis automatisé vous fournit un prix instantané afin que vous puissiez estimer rapidement les coûts de votre projet.

Pour les pièces de haute précision ou complexes, nos responsables de comptes senior peuvent vous fournir des devis plus détaillés et vous aider à trouver la meilleure solution globale pour vos besoins.

Obtenez un devis instantané Obtenez un devis instantanément — ⭐⭐⭐
Demander un devis d'expert Citations précises — ⭐⭐⭐⭐⭐