Maîtriser la programmation CNC : Les essentiels du G-Code et M-Code
L'acronyme CNC dans le terme machine CNC signifie Commande Numérique par Ordinateur. Habituellement, quand on pense à l'usinage CNC, on imagine la machine-outil CNC, mais en réalité, les machines CNC modernes représentent un terme plus large. Les robots industriels et certaines machines de mesure commandées par ordinateur sont également des machines CNC. C'était en 1952, en raison du besoin d'usinage précis de pièces dans l'industrie aéronautique, que John T. Parsons, en collaboration avec IBM (International Business Machines Corporation) et le MIT (Massachusetts Institute of Technology), a développé la première fraiseuse CNC. Depuis lors, la production industrielle plus intelligente s'est généralisée et l'usinage CNC est devenu accessible à toutes les industries, avec l'essor et l'utilisation des langages de programmation CNC – le code G et le code M. Au cours de l'histoire de 70 ans du développement des machines CNC, divers langages de programmation, pas seulement le code G et le code M, ont été utilisés pour leur programmation. Ainsi, au début, la machine pionnière de Parsons était programmée à l'aide de bandes perforées, et plus tard, en 1956, un langage de programmation spécial (langage de programmation APT) a été développé pour l'usinage CNC. Le RS-274, plus connu sous le nom de code G, dont parle cet article, a été créé dans la même décennie. Le code G est développé à partir du langage de programmation APT qui contenait des données sur la position ou la géométrie de l'outil (fraise), et d'autres fonctions non géométriques de la machine telles que la vitesse de broche, le refroidissement, etc. Les fonctions RS-274 (codes G et M) héritent les bases du langage de programmation APT avec des modifications mineures qui ont rendu les programmes plus courts et plus pratiques pour l'unité de commande de la machine. Le langage de programmation RS-274 est souvent appelé « code G » car il consiste principalement en fonctions G (codes G). Mais il contient en lui-même des fonctions M (codes M) tout aussi importantes. Pour cette raison, il est nécessaire de définir ces termes, c'est-à-dire de répondre clairement et directement aux questions suivantes : Le code G, c'est-à-dire les fonctions G, différent du code M, est principalement lié à la définition de la géométrie. Il est évident que « G » dans le nom « code G » signifie le mot « Géométrie ». Ainsi, les codes G incluraient des fonctions pour sélectionner le système de coordonnées, le plan de travail, les unités de programmation, définir le mode de programmation (absolu ou incrémental), le mouvement de l'outil en mode rapide et en mode travail, etc. Les codes M ou fonctions M font référence aux fonctions liées au fonctionnement de la machine. On peut dire que « M » dans le terme « code M » signifie le mot « Machine ». Habituellement, dans la programmation de machine CNC, les fonctions suivantes peuvent être incluses dans ces fonctions : Mise en marche ou arrêt de la broche principale, Refroidissement marche/arrêt, changement d'outil automatique, etc. Comme nous l'avons présenté, les codes G se réfèrent strictement à la géométrie du processus de traitement d'une pièce, et les codes M aux fonctions individuelles sur la machine. On pourrait dire que les codes G montrent « Comment l'outil se déplace par rapport à la pièce » et les codes M « Ce que la machine fait dans le processus d'usinage ». En plus des principales fonctions de code G et de code M dans le langage de programmation RS-274, il existe de nombreuses fonctions auxiliaires : Fonctions principales Description Fonctions auxiliaires G0 Positionnement rapide (linéaire) X, Y, Z G1 Interpolation linéaire X, Y, Z, F G2 Interpolation circulaire horaire X, Y, Z, I, J, K, F G3 Interpolation circulaire anti-horaire X, Y, Z, I, J, K, F EXEMPLE 1 : La phrase en code G : G1 X10 Y50 F100 Explication : L'outil va linéairement au point voulu (Coordonnées : X=10 mm, Y=50 mm) avec une vitesse de 100 millimètres par seconde. La phrase en code G : G2 X10 Y50 I10 J40 F100 Explication : L'outil va circulairement (sens horaire) au point voulu (Coordonnées : X=10 mm, Y=50 mm) avec une vitesse de 100 millimètres par seconde ; Position du centre du cercle par rapport au point de départ : +10 mm sur l'axe X et +40 mm sur l'axe Y La phrase en code G : G02 X50 Y10 I40 J-10 F75 Explication : L'outil va circulairement (sens horaire) au point voulu (Coordonnées : X=50 mm, Y=10 mm) avec une vitesse de 75 millimètres par seconde ; Position du centre du cercle par rapport au point de départ : +40 mm sur l'axe X et -10 mm sur l'axe Y. Fonction principale Description Fonctions auxiliaires G17 Sélectionner XY pour plan de travail / G18 Sélectionner ZX pour plan de travail / G19 Sélectionner YZ pour plan de travail / G20 Unités : pouces (inch) / G21 Unités : millimètres (mm) / G41 Compensation de rayon d'outil – gauche D, X, Y, Z G42 Compensation de rayon d'outil – droite D, X, Y, Z G40 Compensation de rayon d'outil – arrêt / G43 Compensation de décalage de hauteur d'outil H, Z G49 Compensation de décalage de hauteur d'outil – arrêt / G54 Système de coordonnées machine / G55 Systèmes de coordonnées de travail / G56 Systèmes de coordonnées de travail / G57 Systèmes de coordonnées de travail / G58 Systèmes de coordonnées de travail / G59 Systèmes de coordonnées de travail / EXEMPLE 2 : Phrase en code G : G21 G17 G55 Explication : Réglage des unités de programmation en millimètres ; Sélection du plan de travail XY ; Sélection du système de coordonnées G55 Phrase en code G : G43 H1 Z100 Explication : Réglage de la compensation de décalage de hauteur d'outil sur H1 (« H1 » est une position où la valeur de la hauteur d'outil est sauvegardée dans la mémoire de la machine CNC) et prise d'une nouvelle position (Coordonnée : Z=100 mm) Phrase en code G : G41 D1 X15 Explication : Réglage de la compensation de rayon d'outil à gauche sur D1 (« D1 » est une position où la valeur du rayon d'outil est sauvegardée dans la mémoire de la machine CNC) et prise d'une nouvelle position (Coordonnée : X=15 mm) ; Pendant que l'outil va à la position voulue, il se déplace lentement vers la gauche, de sorte que lorsque l'outil atteint la position voulue, la compensation de rayon d'outil est terminée. Phrase en code G : G40 G49 Explication : Annulation de la compensation de rayon d'outil ; Annulation de la compensation de décalage de hauteur d'outil Fonction principale Description Fonctions auxiliaires G90 Programmation absolue : Coordonnées relatives au système de coordonnées de travail / G91 Programmation incrémentale : Coordonnées relatives au système de coordonnées i dans la position actuelle / Fonction principale Description Fonctions auxiliaires M00 Arrêt de programme / M03 Broche marche (horaire) S M04 Broche marche (anti-horaire) S M05 Broche arrêt / M06 Changement d'outil automatique T M08 Refroidissement marche / M09 Refroidissement arrêt / M30 Fin de programme / M98 Appel de sous-programme « Nom du sous-programme » M99 Retour de sous-programme / La programmation CNC est un formatage de données alphanumériques (codes G et M) sur la géométrie et la technologie des pièces, qui doivent être traitées sur une telle machine, mais aussi une autre programmation, qu'effectuent habituellement les fabricants de machines. La programmation de machines CNC utilisant le code G est principalement basée sur des phrases, ce qui peut être vu dans les exemples précédents où l'explication des fonctions G a été faite en interprétant les phrases d'un programme écrit en code G. Il existe plusieurs méthodes de programmation CNC, c'est-à-dire de génération de codes G et M : Avec la programmation CNC manuelle, un programmeur, basé sur ses propres connaissances et son expérience ainsi que les informations disponibles sur les machines, outils, accessoires de machine, modes de traitement, en appliquant les instructions de programmation, écrit manuellement les informations géométriques et technologiques requises pour compléter le programme alphanumérique. La programmation manuelle peut être organisée comme les activités de base suivantes : Afin d'améliorer constamment la méthode de programmation CNC, ainsi que le désir de mettre la programmation sur la machine elle-même, pour des applications CNC encore plus grandes et plus faciles, certains fabricants ont proposé des unités de commande qui supportent la programmation directement sur la machine elle-même. Bien que depuis le tout début de l'application du CNC il y avait la possibilité de programmation immédiate sur la machine dans le mode dit MDI (Manual Data Input), la programmation en exploitation représente une méthode de programmation complètement nouvelle. Avec cette méthode, l'Unité de Contrôle, qui la supporte, a intégré des fonctions supplémentaires qui évitent la programmation classique utilisant le code G. La programmation ici se résume à un dialogue interactif entre l'opérateur et l'unité de contrôle, via clavier et interface graphique utilisateur, qui peut générer des contours de traitement simples ainsi que des cycles tapés pour le traitement. L'unité de contrôle, basée sur les requêtes entrées, effectue les calculs de trajectoire d'outil nécessaires, et génère automatiquement un code G. La géométrie des pièces, utilisée par exemple dans l'aérospatiale, le militaire et d'autres industries, est très complexe avec des surfaces du second ordre, qui nécessitent un usinage multi-axes (usinage CNC 3 axes, 4 axes et 5 axes). Les programmes complexes pour traiter de telles surfaces nécessitent plusieurs milliers de blocs (phrases) dont l'écriture manuelle est très difficile et chronophage. Par conséquent, il était nécessaire d'utiliser des ordinateurs pour la préparation technologique, c'est-à-dire la programmation de machines CNC pour l'usinage des pièces susmentionnées sur la base du code G et du code M. La programmation CAO/FAO peut être classée comme programmation CNC par ordinateur. L'intégration de la CAO et de la FAO a conduit à des améliorations dans la programmation CN, surtout en termes de simplification de la programmation. Maintenant, le programmeur n'a pas à penser à définir la géométrie, c'est ce que fait le logiciel CAO/FAO. Ce qui reste au programmeur, c'est par une interaction active avec le système dans le programme, d'ajouter d'autres informations techniques telles que les prises, le référencement, le serrage, les outils de coupe et les modes de traitement. Il faut souligner qu'il y a une intégration de la CAO/FAO et de la CAP (Conduite de Procédés Assistée par Ordinateur), qui développe une solution pour ces exigences également. Voici à quoi ressemble la procédure pour programmer une machine dans un environnement CAO/FAO :
Que sont le code G et le code M ?
APT Codes G et M GO TO {X, Y, Z} G1, G2, G3 {X, Y, Z} FEDRAT F SPINDLE CW / CCW S M3 / M4 COOLNT ON / OFF M8 M9 FINI M30 
Que sont les codes G ?
Que sont les codes M ?
Quelles sont les différences entre le code G et le code M ?
Liste des codes G de base






Liste des codes M de base

Comment programmer une machine CNC
Programmation manuelle

Programmation en exploitation

Programmation utilisant des systèmes CAO/FAO

Conclusion
commande numérique par ordinateur
- Machines CNC : Booster la production, réduire les coûts, garantir la précision
- Comprendre le G-Code vs M-Code : différences clés pour opérateurs CNC
- Maîtriser les codes G et M : Guide ultime de la programmation CNC
- Codes G CNC expliqués : guide essentiel pour programmeurs
- Cycles préprogrammés CNC : avantages et inconvénients pour un usinage efficace
- Maîtriser la programmation CNC : Principes, applications et maîtrise du G-code
- Maîtriser la programmation CNC : Techniques éprouvées et stratégies d'expert pour résultats optimaux
- Télécharger manuels Hurco CNC – Programmation, Maintenance, Sécurité (Gratuit)
- Maîtriser le cycle de tournage brut G71 : Exemple de code Fanuc pour tour CNC