Réponse rapide :
Sur un tour à commande numérique, les codes M sont des commandes auxiliaires qui contrôlent les fonctions de la machine en dehors de l'usinage. Ils déclenchent des actions telles que le démarrage de la broche, l'activation ou la désactivation du liquide de refroidissement, les changements d'outils et l'arrêt du programme. Les codes M ne définissent pas la géométrie de la trajectoire de l'outil ; ce rôle revient aux codes G, qui gèrent les vitesses d'avance, les déplacements en arc et le positionnement des axes. Étant donné que l'affectation des codes M varie selon le fabricant du contrôleur et le modèle de la machine, les opérateurs doivent toujours vérifier ces informations dans le manuel spécifique à leur machine avant d'exécuter un nouveau programme.
Si vous écrivez ou effectuez un dépannage sur un Programme de tour à commande numérique, un comportement imprévisible des codes M constitue l'une des causes les plus courantes d'erreurs de cycle en atelier. Un seul code erroné peut arrêter la machine en plein usinage, inonder le chemin d'usinage de liquide de refroidissement ou omettre un changement d'outil critique. Ce guide présente les codes M les plus fréquemment utilisés, leur regroupement et les points à vérifier en cas de dysfonctionnement d'un programme. YPMFG prend en charge pièce usinée les projets dans lesquels l'enchaînement correct des codes M a une incidence directe sur la qualité des pièces et la durée du cycle de production.
À quoi servent réellement les codes M sur un tour à commande numérique ?
Les codes M sont des commandes non géométriques. Ils indiquent au contrôleur d'activer ou de désactiver des fonctions auxiliaires de la machine plutôt que de déplacer l'outil le long des axes. Sur un tour à commande numérique classique, cela couvre quatre catégories principales :
Commande de la broche: démarrage, arrêt, sens de rotation et vitesse
Contrôle du liquide de refroidissement et de l'inondation : activation et désactivation du fluide de coupe
Changements de tourelle d'outils et sélection

Déroulement du programme : fin, arrêt facultatif, appels de sous-programmes et retours
Chaque code M occupe une ligne de bloc distincte, généralement associée à des coordonnées G, X, Z, S ou T. Il est possible d'empiler plusieurs codes M dans un même bloc sur certains contrôleurs, mais cela comporte un risque lié à la synchronisation. Limitez-vous à un seul code M par bloc, sauf si la documentation de votre machine autorise explicitement les blocs contenant plusieurs codes.
Codes M les plus courants pour les tours CNC
Le tableau ci-dessous répertorie les codes M que vous rencontrerez le plus souvent dans un programme de tournage standard :
| Code M | Fonction | Utilisation type |
|---|---|---|
| M00 | Arrêt du programme | L'opérateur met le cycle en pause |
| M01 | Arrêt facultatif | Ne s'arrête que si le commutateur de maintien est activé |
| M02 | Fin du programme | Arrêts sans réinitialisation du contrôleur |
| M03 | Démarrage de la broche, sens antihoraire | Commence la découpe dans le sens inverse des aiguilles d'une montre |
| M04 | Démarrage de la broche, sens horaire | Commence la découpe dans le sens des aiguilles d'une montre |
| M05 | Arrêt de la broche | Arrête toute rotation de la broche |
| M08 | Liquide de refroidissement activé | Active le mode « flood » ou « mist » |
| M09 | Refroidissement désactivé | Arrête le fluide de coupe |
| M10 | Fixer la pince de travail | Permet de fixer le dispositif |
| M11 | Pince de travail désactivée | Libère le dispositif de fixation |
| M30 | Fin du programme + réinitialisation | Retour à la position d'origine |
| M98 | Appel de sous-programme | Répète une séquence de blocs |
| M99 | Retour de sous-programme | Retour au bloc d'appel |
Les codes M03 et M04 sont les deux codes les plus importants dans tout programme de tournage. Choisir un sens de rotation incorrect peut endommager l'outil ou gâcher la finition de la surface. On confond souvent M30 et M02 : M30 réinitialise l'état du contrôleur, tandis que M02 interrompt simplement l'exécution. Pour les séries de production, M30 est généralement le code de fin le plus sûr, car il prépare automatiquement la machine pour la pièce suivante.
Groupes de codes M et variantes spécifiques aux machines
Il n'existe pas deux contrôleurs utilisant un tableau de codes M identique. FANUC, Siemens, Haas et Mazak définissent chacun leurs propres affectations de codes M. Par exemple, le code M08 pour l'activation du liquide de refroidissement est quasi universel d'une marque à l'autre, mais les codes M10 à M19 peuvent désigner des actions totalement différentes selon le constructeur de la machine. Certains tours utilisent le code M10 pour le serrage de la pièce, tandis que d'autres l'affectent à un voyant de fixation ou à un signal d'arrêt du convoyeur.
Avant d'écrire ou de modifier un programme, vérifiez trois choses :

Quelle plateforme de commande est installée sur votre tour ?
La liste complète des codes M tirée du manuel d'utilisation spécifique à la machine
Si des codes définis par l'utilisateur compris dans la plage M100–M199 sont configurés pour l'automatisation ou la commande de dispositifs de fixation personnalisés
Avis sur l'équipe d'ingénieurs de YPMFG Séquences de codes M dans un programme CNC lors de l'évaluation des projets de pièces sur mesure, en signalant les conflits de séquencement, les paires de liquides de refroidissement manquantes ou les erreurs de sous-routines avant que le programme n'atteigne l'atelier.
Questions fréquentes sur les codes M des tours CNC
Puis-je utiliser plusieurs codes M dans un même bloc de programme ?
Certains contrôleurs le permettent, mais chaque code M déclenche une action distincte de la machine. Ne les regroupez que si la documentation prend explicitement en charge les blocs comportant plusieurs codes. Dans le cas contraire, placez chaque code M sur une ligne distincte afin d'éviter les conflits de synchronisation ou les actions non exécutées.
Quelle est la différence entre le M02 et le M30 ?
La commande M02 met fin au programme sans réinitialiser l'état du contrôleur. La commande M30 met fin au programme et réinitialise le contrôleur à sa position initiale. Pour la production automatisée par lots, la commande M30 est préférable car elle prépare automatiquement la machine pour le cycle suivant.
Le M01 fonctionne-t-il de la même manière que le M00 ?
M01 est un arrêt optionnel. Il met le cycle en pause uniquement si l'opérateur a activé l'interrupteur de maintien optionnel situé sur le panneau de commande. M00 provoque toujours l'arrêt, quelle que soit la position de l'interrupteur. Utilisez M01 aux points d'inspection où l'intervention de l'opérateur n'est nécessaire que de temps en temps.
Que se passe-t-il si j'oublie la commande M09 après un passage de coupe ?
Le liquide de refroidissement continue de s'écouler jusqu'à l'opération suivante ou jusqu'à la fin du programme. Sur un tour, cela entraîne un gaspillage de liquide de coupe et peut perturber le serrage de la pièce ou le changement d'outil suivant. Il faut toujours associer M08 et M09 avant de passer à l'étape suivante du programme.
Les codes M sont-ils identiques sur une fraiseuse à commande numérique ?
Le principe de base est le même, mais les affectations spécifiques varient selon le type de machine. Une liste de codes M pour un tour ne correspondra pas exactement à celle d'une fraiseuse. Consultez la documentation de chaque machine avant de transférer des codes entre différentes configurations.
Choisir la bonne séquence de codes M pour votre projet
Un enchaînement correct des codes M garantit le respect du temps de cycle, la qualité des pièces et la sécurité globale de la machine. Si vous développez ou modifiez un programme pour une Tour à commande numérique Si vous n'êtes pas certain que votre logique de code M puisse entraîner des arrêts imprévus, des conflits de liquide de refroidissement ou des erreurs de tourelle, envoyez votre ébauche de programme à YPMFG pour une révision technique. L'équipe peut vérifier la compatibilité des contrôleurs, signaler les lacunes dans la séquence des instructions et proposer des solutions concrètes avant que le code ne soit exécuté sur votre site de production.





