Réponse rapide : Les codes M (codes divers) commandent toutes les fonctions non liées au déplacement sur une machine CNC : démarrage et arrêt de la broche (M03/M04/M05), activation et désactivation du liquide de refroidissement (M08/M09), changements d’outils (M06), les pauses de programme (M00/M01) et la fin de programme (M30). Alors que le code G indique à la machine où se déplacer, le code M lui indique dans quel état elle doit se trouver pour effectuer un travail utile : sans M03, la broche ne tourne pas ; sans M08, la zone de coupe surchauffe ; et sans M05 avant M06, un changement d'outil est tenté alors que la broche tourne encore. Les erreurs de séquencement des codes M constituent l’une des causes les plus courantes de casse d’outils, de défauts d’état de surface et de pannes de machine dans la production CNC. Les codes M de base sont largement standardisés sur les contrôleurs Fanuc, Haas et Siemens ; les fonctions avancées et auxiliaires varient selon le constructeur de la machine.
Qu'est-ce que le M-Code ?
Le « M-code » (abréviation de « miscellaneous code », code divers) est la partie du langage de programmation CNC qui contrôle l'état de la machine plutôt que la géométrie de la trajectoire d'outil. Chaque machine CNC exécutant un code conforme à la norme ISO 6983 / EIA RS-274 utilise deux couches parallèles d'instructions :
Code G — la couche de mouvement et de géométrie. Le code G définit les positions des axes, les modes d'interpolation (linéaire, circulaire, hélicoïdal), les vitesses d'avance, les systèmes de coordonnées et les cycles d'usinage. Le code G indique à la machine où aller et comment s'y rendre.
Code M — la couche de commande de la machine. Le code M indique si la broche tourne et dans quel sens, si le liquide de refroidissement circule, quel outil est chargé et si le programme est en pause ou terminé. Le code M indique à la machine dans quel état elle doit se trouver pour effectuer un usinage efficace.
Conséquence physique de cette distinction : le code G déplace l'outil vers la position X50 Y20 — mais si la commande M03 (mise en marche de la broche) n'a pas été émise avant ce déplacement G01, la broche est à l'arrêt lorsque l'outil atteint la pièce. L'outil entre en contact avec le matériau sans tourner, ce qui génère du frottement au lieu d'une coupe, brûle le tranchant de l'outil en quelques secondes et risque de rayer la surface de la pièce.
Le code G définit la trajectoire. Le code M permet à cette trajectoire de produire des pièces.
M-Code vs G-Code : la différence essentielle
| Fonction | Code G | Code M |
|---|---|---|
| Contrôle le déplacement des axes (X, Y, Z) | Oui | Non |
| Contrôle la vitesse d'avance | Oui | Non |
| Commande la rotation de la broche | Non | Oui |
| Contrôle du liquide de refroidissement | Non | Oui |
| Gère les changements d'outils | Non | Oui |
| Permet de contrôler le déroulement du programme (pause, fin) | Non | Oui |
| Permet de commander les fonctions auxiliaires de la machine | Non | Oui |
| Définit la géométrie (arcs de cercle, cycles prédéfinis) | Oui | Non |
Aucun de ces deux types de code ne fonctionne de manière indépendante dans le cadre d'un usinage réel :
- Code G sans code M : la machine suit une trajectoire de déplacement avec la broche et le liquide de refroidissement désactivés — aucun enlèvement de matière n'a lieu, et un risque de détérioration de l'outil ou de la pièce au contact existe.
- Code M sans code G : la broche tourne, le liquide de refroidissement circule, les outils changent — mais aucun mouvement de coupe n'a lieu.
Un programme CNC complet combine ces deux éléments : le code M met la machine dans l'état de fonctionnement approprié, le code G exécute la géométrie d'usinage, tandis que le code M assure les transitions entre les opérations et met fin au programme.
Référence standard du code M
Commande de la broche : M03, M04, M05
M03 — Broche activée, rotation dans le sens des aiguilles d'une montre Le code M le plus fondamental en matière d'usinage. Il est émis avant tout mouvement de coupe, généralement accompagné d'un mot S (vitesse de broche en tr/min) : M03 S3000 met la broche en marche à 3 000 tr/min dans le sens des aiguilles d'une montre. Norme applicable à tous les outils de coupe à droite : fraises, forets, barres d'alésage, tarauds à filetage conventionnel.
M04 — Broche activée, rotation dans le sens antihoraire Utilisé pour les outils à main gauche, le filetage inversé et certaines opérations spéciales. La saisie de la commande M04 alors que l'on souhaitait entrer M03 (ou inversement) entraîne une orientation de coupe incorrecte : pour un foret, cela signifie que les arêtes de coupe se trouvent à l'arrière plutôt qu'à l'avant, ce qui provoque des frottements, un dégagement de chaleur et une usure rapide des arêtes.
M05 — Arrêt de la broche Arrête la rotation de la broche. Cette commande doit être émise avant tout changement d'outil (M06) : un changement d'outil alors que la broche tourne provoque une collision mécanique entre l'outil en rotation et le mécanisme de changement d'outils, un événement souvent catastrophique pour la broche. La commande M05 doit également être émise avant la fin du programme (M30) afin d'empêcher la machine de terminer son cycle alors que la broche tourne encore.
Contrôle du liquide de refroidissement : M07, M08, M09
M08 — Liquide de refroidissement activé (inondation) Active l'arrosage en flux continu — le mode d'arrosage principal pour la plupart des opérations d'usinage CNC. Doit être activé avant que l'outil de coupe n'entre en contact avec la pièce. Un arrosage mis en place après le début de la coupe signifie que la première partie de la coupe s'effectue sans contrôle thermique, ce qui entraîne la pire finition de surface et l'usure maximale de l'outil au début de l'opération.
Conséquence thermique de l'absence de M08 : lors de l'usinage de l'acier, les températures dans la zone de coupe atteignent 500 à 800 °C sans liquide de refroidissement. Au-delà d'environ 600 °C, l'acier rapide commence à perdre de sa dureté ; le carbure conserve sa dureté plus longtemps, mais la chaleur accélère l'usure en cratère. Les copeaux, qui devraient évacuer la chaleur de la zone de coupe, se ressoudent au contraire à la face de coupe de l'outil (arête de surépaisseur), ce qui dégrade la géométrie de coupe et l'état de surface.
M07 — Brumisation de liquide de refroidissement (si prise en charge) Un brouillard d'air et d'huile, plutôt qu'un arrosage abondant, est utilisé pour les matériaux pour lesquels l'arrosage abondant est contre-productif (fonte, où l'arrosage provoque un choc thermique) ou dans les applications nécessitant une lubrification sans le risque de ressoudage des copeaux inhérent à la coupe à sec.
M09 — Refroidissement désactivé Arrête l'ensemble du liquide de refroidissement. Émise une fois les opérations d'usinage terminées, avant l'arrêt de la broche et le changement d'outil.
Changement d'outil : M06
M06 — Changement d'outil Effectue un changement d'outil automatique, en déplaçant l'outil actuellement chargé vers le magasin et en chargeant l'outil spécifié par le mot-clé « T » : M06 T3 décharge l'outil actuel et charge l'outil n° 3. Sur la plupart des centres d'usinage, le carrousel d'outils présélectionne l'outil suivant (à l'aide du « mot T ») pendant l'exécution de l'opération en cours ; ainsi, le changement d'outil ne prend que le temps nécessaire à l'échange proprement dit, sans compter le temps de recherche de l'outil.
Condition préalable essentielle au séquencement : la broche doit être arrêtée (M05) avant l’émission de la commande M06. Sur la plupart des contrôleurs, l’émission de la commande M06 sans M05 préalable déclenchera soit un défaut, soit un arrêt forcé de la broche avant la poursuite de l’opération ; toutefois, certaines machines tenteront d’effectuer le changement d’outil immédiatement, ce qui crée un risque de collision.
La commande M06 ramène également l'axe Z à la position de changement d'outil (généralement le zéro machine ou une hauteur de sécurité définie) avant d'exécuter le changement. Les programmeurs qui utilisent la commande M06 sans s'assurer que l'outil se trouve à une hauteur de sécurité sur l'axe Z risquent de faire entrer l'outil sortant en contact avec la pièce ou le dispositif de fixation pendant le mouvement de changement d'outil.
Commandes de programme : M00, M01, M30
M00 — Arrêt du programme (inconditionnel) Interrompt complètement l'exécution du programme et nécessite une intervention de l'opérateur pour reprendre. Utilisé pour les contrôles en cours d'usinage : pause après l'ébauche pour mesurer une cote critique, pause pour repositionner la pièce, pause pour évacuer les copeaux des poches profondes. L'opérateur appuie généralement sur la touche « CYCLE START » pour reprendre.
M01 — Arrêt facultatif (conditionnel) Fonctionne comme M00 uniquement lorsque le commutateur “ Arrêt optionnel ” du contrôleur de la machine est activé. Lorsque ce commutateur est désactivé, la commande M01 est ignorée et le programme se poursuit. Cette commande est utilisée pour les étapes que le programmeur souhaite garder à disposition à des fins de débogage ou d'inspection, sans pour autant interrompre les cycles de production normaux.
M30 — Fin du programme et réinitialisation Met fin au programme et ramène le contrôle au début du programme, en réinitialisant l'état de la machine. Il s'agit du terminateur de programme standard. Si un programme se termine sans la commande M30, la machine se retrouve dans un état indéfini : les programmes suivants risquent de démarrer avec des états de broche, des conditions de refroidissement ou des décalages d'outils incorrects.
Résumé : Référence du code Core M
| Code M | Fonction | Contexte d'utilisation typique |
|---|---|---|
| M00 | Arrêt inconditionnel du programme | Contrôle en cours de fabrication, repositionnement des pièces |
| M01 | Arrêt facultatif du programme | Pause de débogage, inspection conditionnelle |
| M03 S___ | Broche activée, rotation dans le sens des aiguilles d'une montre à __ tr/min | Avant toute opération de découpe standard |
| M04 S___ | Broche activée, rotation dans le sens inverse des aiguilles d'une montre à __ tr/min | Outils à gauche, taraudage en sens inverse |
| M05 | Arrêt de la broche | Avant le changement d'outil, à la fin de l'opération |
| M06 T__ | Changement d'outil : outil # | Entre les opérations d'usinage |
| M07 | Activer le brouillard de refroidissement | Fonte, matériaux sensibles |
| M08 | Activer le refroidissement par inondation | Avant toute opération de découpe |
| M09 | Tout le liquide de refroidissement a été vidangé | Après l'usinage, avant le changement d'outil |
| M30 | Fin du programme et réinitialisation | Dernière ligne de chaque programme |
La séquence de codes M dans un programme d'usinage complet
C'est dans son contexte que la compréhension des codes M s'avère la plus utile : l'ordre précis dans lequel les codes M apparaissent au sein d'un programme détermine directement la qualité de l'usinage et la sécurité de la machine. Voici un exemple de programme standard comportant deux opérations (fraisage suivi d'un perçage) :
T1 M06 ; Présélectionner et passer à l'outil 1 (fraise)
M03 S3000 ; Mise en marche de la broche, 3 000 tr/min
M08 ; Activation du refroidissement par inondation
G00 Z5 ; Déplacement rapide jusqu'à la distance de sécurité Z
G01 X50 Y20 F200 ; Passe de fraisage
G01 X100 Y20 F200 ; Poursuivre le fraisage
G00 Z50 ; Retour à la hauteur de sécurité Z
M09 ; Arrêt du liquide de refroidissement
M05 ; Arrêt de la broche
T2 M06 ; Passage à l'outil 2 (foret)
M03 S2000 ; Mise en marche de la broche, 2 000 tr/min
M08 ; Activation du liquide de refroidissement
G81 X30 Y40 Z-15 R5 F100 ; Cycle fixe de perçage
G80 ; Annuler le cycle fixe
G00 Z50 ; Retrait à la hauteur de sécurité Z
M09 ; Arrêt du liquide de refroidissement
M05 ; Arrêt de la broche
M30 ; Fin du programme et réinitialisation
Chaque code M de cette séquence a une fonction spécifique :
- La commande M03, exécutée avant tout déplacement d'usinage G01, garantit que la broche tourne avant l'engagement de l'outil.
- La commande M08 émise avant la première passe d'usinage garantit que le fluide de refroidissement circule avant que l'outil n'entre en contact avec la pièce
- La séquence M09 avant M05 garantit que l'arroseur est désactivé avant l'arrêt de la broche (ce qui empêche l'accumulation de liquide de refroidissement sur l'outil à l'arrêt).
- La commande M05 avant M06 garantit l'arrêt de la broche avant le changement d'outil
- La commande M30 à la fin du programme remet la machine à l'état « prêt ».
L'ordre est important. Si l'on place la commande M08 après la première commande G01, la première coupe s'effectue à sec. Si l'on place la commande M06 avant la commande M05, on risque une collision mécanique.
Que se passe-t-il lorsque le code M est erroné ?
Les erreurs de programmation du code M sont des erreurs physiques : elles entraînent des conséquences immédiates et mesurables sur la machine :
| Erreur | Cause première | Conséquence physique |
|---|---|---|
| La broche ne tourne pas pendant la découpe | M03 ou M04 manquant(e) | Frottements de l'outil, brûlures, ébréchures des arêtes ; rayures à la surface de la pièce |
| Surchauffe pendant la découpe | M08 manquant ou en retard | Usure accélérée de l'outil, formation d'une couche de dépôt, dégradation de la rugosité Ra (par exemple, Ra 1,6 → Ra 3,2+ µm) |
| Mauvais outil chargé | Mauvais choix du mot commençant par « T » avec M06 | Géométrie usinée incorrecte, rupture d'outil, pièce rejetée |
| Tentative de changement d'outil alors que la broche est en marche | Il manque le M05 avant le M06 | Collision mécanique, dommages au changeur d'outils, dommages potentiels à la broche |
| Le liquide de refroidissement continue de circuler après le programme | Il manque le M09 avant le M30 | Problème mineur (présence de liquide de refroidissement dans la machine), mais indiquant un enchaînement des opérations incomplet |
| La machine n'a pas été réinitialisée pour le cycle suivant | M30 manquant | Le cycle suivant démarre dans un état indéfini : décalages incorrects, outil incorrect, vitesse de broche incorrecte |
| Sens de rotation incorrect de la broche | On utilise M04 lorsque M03 est requis | Usinage en contre-sens — détérioration immédiate de l'outil et mauvaise qualité de finition de surface |
L'erreur de code M la plus coûteuse en production est le changement d'outil avec broche en rotation : le bras du changeur d'outils se déplace pour engager l'outil dans la broche alors que celle-ci tourne, provoquant une collision entre le bras et l'outil en rotation. Cet incident peut endommager le cône de la broche, le bras du changeur d'outils et l'outil lui-même — un coût de réparation pouvant atteindre $5 000 à $50 000 en temps d'arrêt et en pièces détachées, tout à fait évitable en saisissant les deux caractères “ M05 ” avant “ M06 ”.
Différences de code M entre les contrôleurs CNC
La plupart des codes M fondamentaux sont normalisés sur les principales plateformes de contrôleurs CNC (Fanuc, Haas, Siemens, Mitsubishi, Okuma). L'ensemble de base — M03, M04, M05, M06, M07, M08, M09, M30 — se comporte de manière identique sur pratiquement toutes les machines de production CNC.
La divergence commence par les fonctions auxiliaires propres à chaque machine :
| Fonction | Standard ? | Notes |
|---|---|---|
| Activation/désactivation de la broche (M03/M05) | Oui | Universel |
| Circuit de refroidissement à débit élevé (M08/M09) | Oui | Universel |
| Changement d'outil (M06) | Oui | Mécanisme universel ; sa mise en œuvre varie |
| Refroidissement par la broche | Non | Le code M est souvent attribué par le fabricant de la machine (par exemple, Haas M52 ; il varie selon les modèles) |
| Jet d'air | Non | Code spécifique à une machine |
| Vis sans fin / convoyeur à copeaux | Non | Spécifique à la machine |
| Changeur de palettes | Non | Spécifique à la machine |
| Ouverture/fermeture de la porte | Non | Spécifique à la machine |
| Cycles de sondage | Non | C'est la norme sur les machines FANUC 0i, mais cela peut varier sur d'autres modèles. |
| Dispositif de récupération de pièces (tour) | Non | Spécifique à la machine |
Lorsqu'un programme écrit pour une machine est transféré vers une autre, tous les codes M standard fonctionneront. Tout code M spécifique à une machine provoquera soit une erreur (code M inconnu), soit l'exécution d'une fonction différente de celle prévue, soit sera ignoré sans message d'erreur — ce qui peut entraîner un comportement inattendu. Les programmes transférés d'une machine à une autre doivent faire l'objet d'une vérification et d'une mise à jour de tous les codes M spécifiques à la machine avant leur exécution.
Erreurs courantes en programmation et comment les éviter
Démarrage de la broche manquant avant le mouvement de découpe
Erreur la plus courante : un déplacement G01 ou G02 s'exécute alors que la commande M05 est toujours active (broche à l'arrêt). Prévention : exiger la présence de M03 ou M04 avant toute commande G01/G02/G03 dans la liste de contrôle de révision du programme. Sur les contrôleurs CNC modernes, cela peut également être détecté par la logique de verrouillage de la vitesse d'avance, mais cette protection dépend de la machine.
Le liquide de refroidissement s'active après le début de la première passe de coupe
La commande M08 apparaît dans le programme, mais après le premier déplacement G01 et non avant. La première passe de coupe s'effectue sans liquide de refroidissement, ce qui entraîne la pire qualité de surface et l'usure d'outil la plus importante de toute l'opération. Solution : placez la commande M08 immédiatement avant le premier déplacement de coupe, et non après d'autres commandes G-code dans le même bloc ou dans le bloc suivant.
Numéro d'outil incorrect avec M06
La commande T2 M06 a été émise, mais le compartiment T2 du carrousel contient le mauvais outil, ou la correction de longueur d'outil (H/D) pour T2 n'a pas été saisie. Prévention : vérifier la fiche de configuration des outils par rapport au programme avant l'exécution ; utiliser les cycles de vérification de la correction de longueur d'outil lorsqu'ils sont disponibles.
Passer la piste M05 avant la piste M06
Comme indiqué plus haut, il s'agit de l'erreur la plus coûteuse liée au code M. Prévention : faire en sorte que la règle de programmation « M05 avant M06 » soit respectée à tout prix ; vérifier chaque bloc de changement d'outil lors de la vérification du programme.
Sans tenir compte du M30
Le programme s'exécute jusqu'à la dernière ligne de code G et s'arrête sans se réinitialiser. L'exécution suivante commence à partir de la position de la dernière ligne plutôt qu'au début du programme. Prévention : exiger que la commande M30 soit la dernière ligne obligatoire de chaque programme.
Liste de contrôle du programme pour la vérification du code M :
| Vérifier | Exigence |
|---|---|
| M03 ou M04 avant le premier déplacement de coupe ? | Oui |
| M08 avant le premier engagement de coupe ? | Oui |
| M05 avant chaque M06 ? | Oui |
| M09 après la dernière opération de découpe ? | Oui |
| M05 après la dernière rotation de la broche ? | Oui |
| M30 comme dernière ligne du programme ? | Oui |
| Les décalages T-word et H/D ont-ils été vérifiés pour tous les M06 ? | Oui |
| Les codes M spécifiques à la machine ont-ils été vérifiés pour ce contrôleur ? | Oui |
Principaux enseignements
- Le code M contrôle l'état de la machine, et non sa géométrie: la rotation de la broche, le débit du liquide de refroidissement, les changements d'outils et le déroulement du programme sont autant de fonctions du code M. Le code G ne peut pas se substituer au code M, et le code M ne peut pas se substituer au code G.
- L'ordre des codes M est tout aussi important que l'exactitude de la trajectoire d'outils: La commande M05 doit précéder la commande M06 ; les commandes M03 et M08 doivent précéder les mouvements de coupe ; les commandes M09 et M05 doivent suivre les mouvements de coupe. Cet ordre est physique : un enchaînement incorrect peut entraîner l'endommagement de l'outil, la production de pièces de rebut ou des pannes de la machine.
- Le non-respect de la tolérance M08 entraîne directement une défaillance liée à la qualité de surface et à la durée de vie de l'outil.: les températures de coupe comprises entre 500 et 800 °C sans liquide de refroidissement lors de l'usinage de l'acier entraînent la formation d'un dépôt sur l'arête de coupe, une usure accélérée de l'outil et une dégradation du Ra — autant de problèmes évitables grâce à un placement correct du code M08.
- Les codes M de base sont identiques pour tous les contrôleurs: Les codes M03, M05, M06, M08, M09 et M30 fonctionnent de manière cohérente sur les plateformes Fanuc, Haas, Siemens et la plupart des plateformes de production CNC. Les codes M avancés et auxiliaires sont spécifiques à chaque machine et ne sont pas transférables.
- L'erreur de code M la plus coûteuse est le changement d'outil alors que la broche tourne: l'oubli de la commande M05 avant la commande M06 peut endommager la broche, ce qui entraînerait un coût compris entre $5 000 et $50 000 — une erreur évitable en ajoutant deux caractères.
- La maîtrise du langage M n'est pas réservée aux programmeurs: les machinistes, les opérateurs et les ingénieurs de production qui maîtrisent le code M peuvent diagnostiquer les problèmes liés à la broche, au liquide de refroidissement et aux séquences sans avoir besoin de faire appel à un programmeur.
- À l'attention des équipes d'approvisionnement des équipementiers: Les programmes CNC fournis avec des pièces sur mesure doivent inclure une vérification des codes M dans le cadre du contrôle du premier article — afin de s'assurer notamment que les séquences de lubrification, les séquences de changement d'outil et la fin du programme sont correctement programmées pour la machine de production.
Questions fréquemment posées
À quoi sert le code M dans l'usinage CNC ?
Le code M contrôle toutes les fonctions de la machine non liées au déplacement dans la programmation CNC. Il gère : l'état et le sens de rotation de la broche (M03 dans le sens horaire, M04 dans le sens antihoraire, M05 arrêt), l'activation et la désactivation du liquide de refroidissement (M08 activation du baignage, M09 désactivation), les changements d'outils automatiques (M06 avec un mot T spécifiant le numéro d'outil), les pauses du programme pour intervention de l'opérateur (M00 inconditionnelle, M01 facultative), ainsi que l'arrêt et la réinitialisation du programme (M30). Ces fonctions ne sont pas facultatives : sans M03, la broche ne tourne pas et aucune coupe n’a lieu ; sans M08, la zone de coupe surchauffe ; sans M05 avant M06, un changement d’outil est tenté alors que la broche tourne, ce qui risque de provoquer une collision mécanique.
Quelle est la différence entre le code M et le code G ?
Le code G définit la géométrie et le mouvement : positions des axes (X, Y, Z), modes d’interpolation (G00 rapide, G01 linéaire, G02/G03 circulaire), vitesses d’avance et cycles d’usinage prédéfinis. Le code M définit l’état de la machine : s’il la broche tourne et à quelle vitesse, si le liquide de refroidissement circule, quel outil est chargé, et si le programme est en cours d’exécution, en pause ou terminé. Les deux sont indispensables pour un usinage fonctionnel. Le code G sans code M déplace l’outil mais ne permet pas de couper (broche à l’arrêt). Le code M sans code G active les fonctions de la machine mais ne produit aucun mouvement de coupe. Dans un programme complet, ils s’entremêlent : le code M définit l’état de fonctionnement, tandis que le code G exécute la géométrie.
Quels sont les codes M les plus importants à connaître ?
Les huit codes M les plus importants pour l'usinage CNC sont les suivants : M03 (mise en marche de la broche, sens horaire) — obligatoire avant chaque opération de coupe ; M05 (arrêt de la broche) — obligatoire avant chaque changement d’outil et à la fin du programme ; M06 avec mot T (changement d’outil) — permet de passer à l’outil spécifié ; M08 (activation du refroidissement par inondation) — obligatoire avant les opérations d’usinage de l’acier et de la plupart des métaux ; M09 (arrêt du liquide de refroidissement) — obligatoire une fois l’usinage terminé ; M30 (fin de programme et réinitialisation) — termine et réinitialise chaque programme ; M00 (arrêt inconditionnel) — pour l’inspection en cours de processus ; M04 (mise en marche de la broche, dans le sens antihoraire) — pour les outils à rotation à gauche. Ces huit codes couvrent la grande majorité des besoins pratiques en matière d'usinage CNC.
Un code M incorrect peut-il provoquer une panne sur une machine CNC ?
Oui. Le scénario d'accident le plus courant lié aux codes M consiste à émettre la commande M06 (changement d'outil) sans avoir préalablement émis la commande M05 (arrêt de la broche). Le bras du changeur d’outils tente alors d’entrer en contact avec la broche en rotation, provoquant une collision mécanique susceptible d’endommager simultanément le cône de la broche, le bras du changeur d’outils, la poignée de retenue et l’outil de coupe — les coûts de réparation s’élèvent à plusieurs milliers, voire plusieurs dizaines de milliers de dollars. Parmi les autres erreurs dangereuses liées aux codes M, on peut citer : un sens de rotation de la broche incorrect (M04 alors que M03 était prévu), provoquant une rupture immédiate du tranchant de l’outil ; des codes M spécifiques à une machine qui déclenchent des mouvements inattendus de la machine lorsqu’ils sont exécutés sur un autre contrôleur ; et l’absence de retrait en Z avant la commande M06, ce qui fait que l’outil sortant entre en contact avec la pièce ou le dispositif de fixation lors de l’approche pour le changement d’outil.
Toutes les machines CNC utilisent-elles les mêmes codes M ?
Les codes M de base standard (M03, M04, M05, M06, M07, M08, M09, M30) sont identiques sur pratiquement toutes les machines de production CNC équipées de contrôleurs Fanuc, Haas, Siemens, Mitsubishi et Okuma. Les codes M spécifiques à chaque machine pour les fonctions auxiliaires présentent en revanche des différences significatives : le refroidissement par la broche, le jet d’air, la commande du convoyeur de copeaux, les changeurs de palettes, les opérations de porte et l’intégration robotique utilisent tous des codes M attribués par le constructeur de la machine, qui varient d’une machine à l’autre. Un programme transféré d’un centre d’usinage Haas vers une machine à commande Fanuc verra ses codes M de base fonctionner correctement, mais tout code M spécifique à Haas provoquera soit une erreur, soit un comportement différent. Tous les codes M spécifiques à la machine doivent être vérifiés par rapport au manuel de la machine cible avant d’exécuter un programme transféré.
Rédigé par l’équipe d’ingénieurs de CMS, forte de plus de 15 ans d’expérience dans l’usinage de précision CNC, notamment dans la programmation et l’utilisation de centres de fraisage et de tournage équipés de systèmes de commande Fanuc, Haas et Siemens, pour des applications de fabrication OEM dans les secteurs de l’automobile, de l’aérospatiale, du médical, de l’électronique et de l’industrie. Références techniques : ISO 6983-1 (Commande numérique des machines — Format et définitions des programmes), EIA RS-274-D (Format de données à blocs variables interchangeables), Manuel de programmation de la série Fanuc 0i, Guide pratique de programmation Haas CNC.
Comment s'approvisionner en pièces usinées de précision CNC grâce à une programmation optimisée ?
Chez CMS, nous fabriquons des pièces usinées et tournées de précision en aluminium, en acier, en acier inoxydable et en plastiques techniques, selon des programmes CNC entièrement documentés. Chaque programme comprend des séquences de codes M vérifiées — séquences correctes de broche, de refroidissement et de changement d'outil — ainsi qu'une inspection du premier article avant le lancement de la production.
[Demander un devis d'usinage CNC et une analyse de la programmation →]




