Module 3 / 5
Sommaire
3.2 La programmation ISO et la FAO
Une machine à commande numérique ne « devine » rien : elle exécute, ligne après ligne, un programme qui décrit chaque déplacement et chaque fonction. Ce programme s'écrit dans un langage normalisé — la programmation ISO, dite « code G ». Ce chapitre explique comment se construit un programme CN, à quoi servent les fonctions G et M, et comment la FAO permet d'usiner des formes complexes à partir du modèle CAO de la pièce.
Les principaux codes G et M (norme ISO 6983)
Repères les plus courants. La signification exacte de certains codes dépend de la commande numérique et diffère entre tournage et fraisage : le manuel de la machine fait foi.
Fonctions préparatoires « G »
- G00 — déplacement rapide (positionnement)
- G01 — interpolation linéaire (avance d'usinage)
- G02 — interpolation circulaire sens horaire
- G03 — interpolation circulaire anti-horaire
- G90 / G91 — coordonnées absolues / incrémentales
- G54 à G59 — origines pièce mémorisées
- G40 / G41 / G42 — annulation / correction de rayon à gauche / à droite
- G43 — correction de longueur d'outil
- G81 / G83 — cycle de perçage / perçage avec débourrage
- G21 / G20 — programmation en millimètres / en pouces
Fonctions auxiliaires « M »
- M03 / M04 — rotation broche horaire / anti-horaire
- M05 — arrêt de la broche
- M06 — changement d'outil
- M08 / M09 — arrosage marche / arrêt
- M00 / M01 — arrêt programmé / arrêt optionnel
- M30 — fin de programme et retour au début
Le programme CN et le langage ISO
Un programme à commande numérique est une suite d'instructions, appelées blocs, lues séquentiellement par le directeur de commande numérique (DCN). Chaque bloc indique à la machine où aller et ce qu'elle doit faire : se déplacer, faire tourner la broche, changer d'outil, déclencher l'arrosage.
Le langage de base de cette programmation est la programmation ISO, communément appelée « code G », définie par la norme ISO 6983. C'est un langage universel et structuré : chaque ligne combine des lettres-adresses (G, M, X, Y, Z, S, F, T…) suivies de valeurs.
Deux précisions valent d'être connues, parce qu'elles reviennent souvent en atelier. D'abord, l'ISO 6983 date des années 1950 et a très peu évolué : elle décrit comment bouger, pas quoi fabriquer. Ensuite, « langage universel » est à nuancer : la norme fixe le socle, mais chaque constructeur de commande numérique y ajoute ses spécificités. Un programme écrit pour une machine ne se transpose pas tel quel sur une autre.
Une norme plus récente, ISO 14649, dite STEP-NC, a été conçue pour dépasser cette limite en décrivant la pièce et les opérations à réaliser plutôt que la suite de mouvements. Elle reste aujourd'hui très peu répandue dans les ateliers : en 2026, le code G demeure ce que vous trouverez sur la quasi-totalité des machines. C'est donc bien lui qu'il faut savoir lire.
Les fonctions préparatoires G et auxiliaires M
Les fonctions préparatoires « G » définissent le mode de déplacement de l'outil. Les plus courantes sont :
- G00 : déplacement en rapide, pour positionner l'outil hors matière sans usiner.
- G01 : interpolation linéaire, déplacement en ligne droite à la vitesse d'avance programmée (usinage).
- G02 / G03 : interpolation circulaire dans le sens horaire (G02) ou anti-horaire (G03), pour usiner des arcs et des rayons.
- G90 / G91 : coordonnées absolues (par rapport à l'origine pièce) ou incrémentales (par rapport au point précédent).
Les fonctions auxiliaires « M » commandent les fonctions de la machine : M03/M04 (rotation de broche horaire/anti-horaire), M05 (arrêt broche), M06 (changement d'outil), M08/M09 (arrosage marche/arrêt) et M30 (fin de programme).
Le bloc et les adresses
Un bloc est une ligne du programme qui combine plusieurs adresses. Chaque adresse est une lettre qui porte une information précise :
| Adresse | Signification |
|---|---|
| X Y Z | Coordonnées de déplacement selon les axes de la machine |
| S | Vitesse de rotation de la broche |
| F | Vitesse d'avance de l'outil |
| T | Numéro de l'outil appelé |
| G / M | Fonctions préparatoires / auxiliaires |
Concrètement, un bloc combine ces éléments : par exemple une fonction d'interpolation linéaire (G01), des coordonnées de destination (X, Y, Z) et une vitesse d'avance (F) forment ensemble une instruction d'usinage en ligne droite.
Un programme ISO, ligne par ligne
Rien ne remplace la lecture d'un programme réel. Voici un surfaçage simple sur centre d'usinage : on prend l'outil, on met la broche en route, on approche en rapide, on usine une passe en avance de travail, puis on dégage et on termine. Chaque bloc est commenté.
| Bloc | Ce que la machine comprend |
|---|---|
% | Début de fichier et numéro de programme, avec un commentaire entre parenthèses. |
N10 G21 G40 G80 G90 | Remise à un état connu : unités en millimètres, annulation de la correction de rayon, annulation des cycles, coordonnées absolues. C'est le bloc de sécurité : il évite d'hériter d'un état laissé par le programme précédent. |
N20 G54 | Sélection de l'origine pièce n° 1, celle qui a été mesurée au réglage. |
N30 T01 M06 | Appel de l'outil n° 1 et changement d'outil. |
N40 S2000 M03 | Broche à 2 000 tr/min, rotation dans le sens horaire. |
N50 G43 H01 Z50. | Activation de la correction de longueur de l'outil n° 1, puis approche à 50 mm au-dessus de la pièce. |
N60 G00 X-60. Y0. | Positionnement en rapide au point de départ, en dehors de la matière. |
N70 Z2. M08 | Descente juste au-dessus de la pièce et mise en route de l'arrosage. |
N80 G01 Z-1. F150 | Descente en avance de travail à 1 mm de profondeur, à 150 mm/min. |
N90 X60. F400 | Passe de surfaçage en ligne droite jusqu'à X+60, à 400 mm/min. G01 reste actif : c'est une fonction modale. |
N100 G00 Z50. M09 | Dégagement en rapide et arrêt de l'arrosage. |
N110 M05 | Arrêt de la broche. |
N120 M30 | Fin de programme et retour au début. |
Les cycles et les correcteurs d'outils
Écrire un programme bloc par bloc serait long et source d'erreurs pour les opérations répétitives. Les DCN proposent donc des cycles préprogrammés qui simplifient l'écriture :
- Perçage : cycles de perçage simple, débourrage, alésage.
- Ébauche : enlèvement de matière par passes successives.
- Filetage : réalisation de filets selon un pas donné.
- Poches : usinage de cavités à profil défini.
Le programme appelle également des correcteurs d'outils : la correction de longueur et la correction de rayon. Ils permettent à la machine de tenir compte des dimensions réelles de chaque outil monté, sans réécrire le programme à chaque changement.
De la CAO à l'usinage : le chemin de la FAO
CAO
Modèle 3D de la pièce
FAO
Génération des trajectoires d'outils
Post-processeur
Traduction en code machine (DCN)
Simulation
Vérification, détection de collisions
Usinage
Exécution sur la machine
La FAO (Fabrication Assistée par Ordinateur)
La FAO (Fabrication Assistée par Ordinateur) part du modèle CAO de la pièce. À partir de cette géométrie, un logiciel de FAO génère automatiquement les trajectoires d'outils en fonction des opérations choisies, des outils et des conditions de coupe.
Ces trajectoires ne sont pas directement lisibles par la machine. Un post-processeur les traduit en code machine adapté au directeur de commande numérique utilisé. Avant l'usinage, la simulation rejoue le programme à l'écran : elle permet de vérifier les trajectoires et d'éviter les collisions entre l'outil, la pièce, le porte-pièce et la machine.
La FAO devient incontournable pour les formes complexes usinées sur 3 à 5 axes, là où la programmation manuelle atteint ses limites.
Programmation manuelle ou FAO : quel choix ?
Les deux approches coexistent dans l'atelier, selon la pièce à produire :
| Critère | Programmation manuelle | FAO |
|---|---|---|
| Où | Au pied de la machine, sur le pupitre | Sur poste informatique, en bureau des méthodes |
| Type de pièce | Géométries simples | Formes complexes, 3 à 5 axes |
| Contexte | Pièce unitaire, retouche rapide | Séries, pièces élaborées |
Mes réflexes terrain
- Je vérifie le mode de coordonnées actif (G90 absolu ou G91 incrémental) avant de modifier des cotes dans un bloc.
- Je vérifie que les correcteurs de longueur et de rayon de chaque outil sont bien renseignés avant de lancer le cycle.
- Je simule systématiquement le programme issu de la FAO pour traquer les collisions avant de mettre en matière.
À retenir
- Le programme CN est une suite de blocs lus par le DCN ; le langage de base est la programmation ISO (code G), norme ISO 6983.
- Les fonctions G définissent les déplacements (G00 rapide, G01 linéaire, G02/G03 circulaire, G90/G91 absolu/incrémental).
- Les fonctions M commandent la machine : broche (M03/M04/M05), changement d'outil (M06), arrosage (M08/M09), fin de programme (M30).
- Un bloc combine des adresses : coordonnées X Y Z, vitesse broche S, avance F, outil T.
- Les cycles (perçage, ébauche, filetage, poches) et les correcteurs d'outils (rayon, longueur) simplifient et fiabilisent l'écriture.
- La FAO génère les trajectoires depuis la CAO, un post-processeur les traduit, la simulation évite les collisions : indispensable pour les formes complexes 3 à 5 axes.
- La plupart des fonctions sont modales : elles restent actives tant qu'on ne les annule pas. D'où le bloc de sécurité en tête de programme (G21 G40 G80 G90).
- La norme fixe le socle, mais chaque DCN a ses spécificités, et plusieurs codes n'ont pas le même sens en tournage et en fraisage. Le manuel de programmation de la machine fait foi.
Sources et références
- ISO 6983 — Commande numérique des machines : format de programme et définition des mots-adresses — iso.org
- ISO 14649 (STEP-NC) — modèle de données pour la commande numérique — iso.org
- Le manuel de programmation du constructeur de votre commande numérique reste la seule référence opposable pour la syntaxe exacte et les cycles disponibles.