MCodes

Le tableau ci‑dessous montre les MCodes pris en charge

MCode
Fonction
Exemple
Réponse d'exemple
Firmware communautaire uniquement

arrêt optionnel. Si M333 est activé, le programme s'interrompra en atteignant cette commande. Si M334 est défini à la place, aucune pause n'aura lieu

M2

fin du programme, arrêter la broche et l'air

M3

Démarre la broche. Le paramètre S définit la vitesse en tours par minute

M3 S5000

met la broche à 5000 tr/min

M5

Arrête la broche

M5

M6

Changement d'outil automatique, T0 indique une sonde sans fil, T-1 indique Aucun

M6 T1

change pour l'outil 1 et définit le TLO

M7

Démarre le flux d'air

M7

M9

Arrête le flux d'air

M9

M17

activer toutes les broches d'activation

Debug uniquement

M18

cela permet d'éteindre des moteurs individuellement, sans paramètres revient à tout éteindre

Debug uniquement

M20

liste les fichiers à la racine de la carte SD. n'affichera pas les sous-dossiers

Debug uniquement

M21

code pour OctoPrint pour imprimantes 3D, ne fait rien

Ne pas utiliser

M23

sélectionner un fichier

M23 gcodes/test.cnc

M24

commencer la lecture du fichier courant

ne pas utiliser

M25

mettre en pause le fichier en cours de lecture (utiliser M600 pour les pauses)

ne pas utiliser

M26

réinitialiser le fichier courant prêt à recommencer

ne pas utiliser

M27

rapporter la progression courante (utile pour synchroniser l'affichage du contrôleur avec la ligne actuelle)

M30

Fin du programme, aucune action sur la Carvera. Voir M26

M30

M32

sélectionner un fichier et commencer la lecture. Pour les macros voir M98

M32 gcodes/test.cnc

M82

mode_e_absolu activé

Debug uniquement

M83

mode_e_absolu désactivé

Debug uniquement

M84

éteindre toutes les broches d'activation

Debug uniquement

M92

définir les pas par mm

M98 X12

définit les pas X par mm à 12

sauter à une ligne particulière dans le gcode

M97 P14

aller à la ligne 14 dans le fichier courant

ouvrir un sous-programme à l'intérieur du gcode en cours d'exécution, souvent appelé macro. revenir au programme principal une fois terminé. Le paramètre P est un numéro qui référence un fichier dans le dossier gcodes/macros nommé ####.cnc. Le paramètre optionnel L boucle le sous-programme un nombre défini de fois

M98 P1001 L4

ouvrir un sous-programme par chemin, revenir au programme principal une fois terminé. sinon identique à ci-dessus. la commande optionnelle L doit précéder le chemin

M98 L2 {gcodes/test.cnc}

retourner d'un sous-programme au programme principal

M99

M105

Lire la température actuelle de la broche

M105

M112

arrêt d'urgence

Debug uniquement

M114

imprimer le WCS actuel pour chaque axe sur la console

M115

rapporter la version du firmware et les capacités

M115

FIRMWARE_NAME:Smoothieware, FIRMWARE_URL:http%3A//smoothieware.org, X-SOURCE_CODE_URL:https://github.com/Smoothieware/Smoothieware, FIRMWARE_VERSION:master-811c4f62, X-FIRMWARE_BUILD_DATE:30 oct. 2024 15:14:06, X-SYSTEM_CLOCK:100MHz, X-AXES:5, X-GRBL_MODE:1, X-CNC:1, X-MSD:1, X-WARNING:deprecated_MCU

M117

un G-code non conforme spécial car il permet du texte arbitraire sur la ligne suivant la commande. S'affiche sur le panneau d'affichage disponible

Utilisez 118 à la place

imprimer le reste de la ligne sur la console

Écrit la ligne évaluée sur le port série.

M118.1 P[2+2]

affiche 4 sur la console

M119

rapporter les informations actuelles de la sonde

X_max:0 Y_max:0 Z_max:0 broches- (XL)P0.24:0 (XL)P0.25:0 (YL)P1.1:0 (YL)P1.4:0 (ZL)P1.8:0 Sonde: 0

M120

pousser l'état

Debug uniquement

M121

récupérer l'état

Debug uniquement

M143

code spécifique aux imprimantes 3D

Ne pas utiliser

M203

définir la vitesse d'avance maximale en mm/s

M203 X100

M203.1

définir les vitesses maximales des actionneurs

M204

M204 Snnn - définir l'accélération par défaut à nnn, Xnnn Ynnn Znnn définit l'accélération spécifique aux axes

M205

M205 Xnnn - définir la déviation de jonction, Z - définir la déviation de jonction Z, Snnn - définir la vitesse minimale du planificateur

M206

définir le décalage d'homing

M206 X15 Y15 Z15

définit le décalage d'homing à 15,15,15

M220

S<facteur en pourcentage> - définir le pourcentage de dépassement de la vitesse d'avance

M220 S50

M221

Activer/Désactiver les fins de course logiciels

M221 S0

désactive les fins de course logiciels. M221 S1 les active

M223

S<facteur en pourcentage> - définir le pourcentage de dépassement de la vitesse de la broche

M223 S80

M301

spécifique imprimante 3D

Ne pas utiliser

M303-305

Utilisé par l'autotune PID pour le contrôle de la température d'un hotend d'imprimante 3D. Pas de fonction sur la Carvera

Ne pas utiliser

M306

définir le décalage d'homing basé sur la position actuelle

M321

Entrer en mode laser, la machine déposera automatiquement l'outil courant et calibrera le mandrin de la broche (pour régler le décalage du laser par rapport à la surface de travail)

M321

M322

Quitter le mode laser

M322

M323

Entrer en mode test laser, le module laser recevra une puissance très faible, généralement utilisé pour refaire la mise au point du laser

M323

M324

Quitter le mode test laser

M324

M325

S<facteur en pourcentage> - définir le pourcentage de dépassement de puissance du laser

M325 S50

M331

Activer le mode aspiration automatique ; si activé, l'aspiration s'allumera automatiquement lorsque la broche fonctionne et s'éteindra lorsqu'elle ne tourne pas

M331

M332

Désactiver le mode aspiration automatique

M332

Désactiver le mode arrêt optionnel. Voir M01

Activer le mode arrêt optionnel. Voir M01

Désactiver le mode Exécution ligne par ligne.

Activer le mode Exécution ligne par ligne. Met en pause après chaque ligne. Ne met pas en pause les lignes vides, ou les lignes commençant par ; ou (

M370

Efface les données d'auto-nivellement du plateau et désactive la compensation jusqu'à ce que G32 soit exécuté de nouveau

M370

M374

enregistrer la grille d'auto-nivellement sur la carte SD.

M374.1

supprimer la grille d'auto-nivellement de la SD

M375

charger la grille depuis la carte SD

M375.1

Afficher les données actuelles de la grille de nivellement dans la fenêtre MDI

M375.1

Désactiver la compensation de flexion

Imprimer la compensation de flexion

Enregistrer les données de compensation sur la SD

Charger les données de compensation depuis la SD

M400

attendre que tous les mouvements soient terminés jusqu'à ce point

calibrer la pointe de la sonde en utilisant un alésage rond de taille connue

M460 X25 L3

commencer centré à l'intérieur de l'alésage. Calibrera sur un alésage de 25 mm, en moyennant la valeur sur 3 tests. Cela enregistrera la valeur dans la variable #150. Utiliser config-set sd zprobe.probe_tip_diameter # pour stocker cette valeur pour les réinitialisations. Tous les paramètres de M461 sauf T,S sont implémentés

calibrer la pointe de la sonde en utilisant un bossage de taille connue

M460.2 X15 L3

commencer centré au-dessus du bossage. Nécessite X ou Y mais pas les deux. La valeur pour X ou Y est la dimension mesurée du bossage. L est le nombre de sondages dont on fait la moyenne. Tous les paramètres de M462 sauf T,S sont implémentés

calibrer la pointe de la sonde en utilisant l'ancre 2

M460.3

se déplacera à la position correcte par dégagement Z, déplacera xy, sondage vers le bas en z. La position est basée sur la position configurée pour l'ancre 2 et la largeur d'ancre enregistrée. Mesurer et définir la largeur d'ancre d'abord.

sonder un alésage

M461 X25 Y30 D2.5 H10 C2 Q15 L2 R1.8 S1 F100 K200

Commencer approximativement au centre de l'alésage, la macro commence par un sondage en Z, descendant de (H)10 mm. Si l'outil touche la surface il se rétractera de (C)2. Sinon, il continuera depuis la nouvelle position basse. Si H n'est pas donné ou est 0, la macro sondra depuis la hauteur de départ. Ensuite sonder (X)25 mm en direction X tourné de (Q)15 degrés jusqu'à ce que l'outil touche une surface. Se rétracter de la surface de (R)1.8 mm vers le centre, puis reprober à une vitesse beaucoup plus lente. Revenir au centre et répéter dans la direction -x. Répéter les étapes X pour la direction Y, sondant (Y) 30. Répéter les sondages X et Y (L)2 fois. Tous les mouvements de sonde normaux se font à (F)100 mm/s, les déplacements entre les départs de sondage se font à la vitesse rapide (K)200. À la fin le programme aura sauvegardé la distance le long de l'axe X comme #151, la distance le long de l'axe Y comme #152, le point central en MCS comme #154,#155. Puisque S est réglé sur 1, le programme définira le WCS courant (généralement G54 sauf override) comme le centre de l'alésage. Si S n'est pas défini la macro de sondage n'affectera pas le WCS. (D) est utilisé pour calculer la distance entre les points et représente le diamètre de la pointe d'outil. Tous les paramètres sont optionnels mais vous devez avoir 1 de X ou Y, si vous fournissez seulement l'un d'eux il ne sondra que dans cette direction.

sonder un bossage

M461 X25 Y25 E12

Tous les paramètres de M461 fonctionnent. En partant du centre approximatif du bloc/bossage rectangulaire la sonde se déplacera (X) 25 mm en direction positive X, puis sondra vers le bas de -(C+E) pour atteindre le côté du bloc. Elle effectuera ensuite un double tap pour sonder vers le centre du bloc et trouver le point 1. Elle retournera à la position de dégagement, puis à la position centrale, puis répétera la sonde x pour la direction négative et les deux directions y. Les variables de sortie sont les mêmes que M461. Si S1 est défini le centre du bossage sera la nouvelle origine xy. Si S2 est défini et qu'une hauteur de sondage (H) a été donnée, l'origine z est définie à la surface sondée

sonder un coin intérieur

M462 X-15 Y-15

Implémente D, H, C, Q, F, K, L, R, S de M461. Sonde un coin intérieur inférieur gauche (la direction de X et Y détermine la direction du mouvement de la sonde, dans ce cas vers la gauche et vers l'avant de la machine). Sauvegarde la position centrale dans #151 et #152

sonder un coin extérieur

M463 X15Y15

Implémente D, H, C, Q, F, K, L, R, S de M461. Implémente E de M462 et suit un processus similaire pour 2 points au lieu de 4. Sonde un coin extérieur inférieur gauche (la direction de X et Y détermine la direction du mouvement de la sonde, dans ce cas vers la gauche et vers l'avant de la machine). Sauvegarde la position centrale dans #151 et #152. S fonctionne de la même manière que dans M462

sonder l'axe et l'angle

M464 X10 E10 V10

Implémente H,C,X,Y,Q,F,K,L,R de M461. Ne prendra qu'une valeur d'axe (X ou Y). Depuis la position de départ : double tap de sondage avec distance (E)10 perpendiculaire à l'axe donné jusqu'à ce qu'une surface soit touchée. Le signe de E détermine la direction du sondage. Retour à la position de départ. Se déplacer le long de l'axe donné de (X)10 et répéter le sondage. Retour à la position de départ. Comme V est défini la sonde se déplacera selon le même angle que la surface sondée de (V)10. Stocke l'angle en degrés dans #153

Sonder la matière de l'axe 4 (axe A)

M465.1 Y15 E30 F200 K600 L2

Sonder la matière de l'axe 4 (axe A) avec décalage machine

M465.2 X10 Y15 R1 F200 K600

sondage droit avec double tap

M466 X{dist} Y{dist} Z{dist} D{diamètre de la pointe} Q{angle} L{répétitions} R{rétractation} S{enregistrer comme xy, si un seul axe est donné sans q, alors n'enregistrera que cet axe comme zéro} F{vitesse d'avance} I{inverser pour CN}

Sondage rectangulaire

M466.1 X{dist] Y{dist} H{depth}

M469 / M469.0

À venir : mettre la machine à l'origine avec une vraie sonde 3 axes sur une broche définie par l'utilisateur

non implémenté

M469.0 I{inverser}

calibrer l'ancre 1 avec une vraie sonde 3 axes

M469.1

M469.1 I{inverser}

calibrer l'ancre 2 avec une vraie sonde 3 axes

M469.2

M469.2 I{inverser}

M469.3

À venir : calibrer la position d'outil ATC avec une vraie sonde 3 axes

non implémenté

calibrer la poupée de l'axe 4 avec une vraie sonde 3 axes

M469.4

M469.4 I{inverser} Y{largeur de la poupée} H{jusqu'où sonder vers le bas}

calibrer le décalage de hauteur de l'axe 4 avec la sonde

M469.5

M469.5 R{diamètre de la broche} X{Distance depuis la 1ère position de sonde} H{Distance maximale vers le bas à sonder}

M469.6

rapporter et définir les décalages machine (code réservé à la machine)

Debug uniquement

X - pos X d'origine Y - pos Y d'origine, Z - pos Z d'origine, P - type défini de sonde. 1 pour ancre 1, 2 pour ancre 2, 3 pour position outil ATC, etc

M470

définir l'adresse de la sonde sans fil

M470 S2020

M471

mettre la sonde sans fil en mode appairage

M471

M472

activer le laser de la sonde sans fil

M472

M481-489

G-codes spécifiques au Wi-Fi qui sont mieux effectués via les commandes de la console

Ne pas utiliser

M490

Exécuter le processus d'homing ATC, l'homing sera exécuté automatiquement lors de l'émission de M490.1 ou M490.2 si nécessaire

M490

M490.1

Sertit le mandrin de la broche pour sécuriser un nouvel outil dans la broche

M490.1

M490.2

Desserre le mandrin de la broche et laisse tomber la fraise actuelle

M490.2

M491

Exécuter une calibration, et le TLO (offset de longueur d'outil) pour l'outil courant sera réinitialisé

M491

effectue une vérification de cassure d'outil en calibrant l'outil courant et en comparant sa longueur à un offset de longueur d'outil (TLO) précédemment stocké.

M491.1 H0.05

Si une différence supérieure à 0,05 alors arrêter la machine

M492

commande interne pour déterminer si le porte-outils est vide.

Debug uniquement

enregistrer l'offset d'outil lorsqu'il a déclenché la sonde TLO. Utiliser M493.3 pour définir le TLO à une valeur particulière

Debug uniquement

nouvel outil pour le paramètre T. T-1 est vide. T0 est sonde

M493.2 T5

enregistrer l'offset de longueur d'outil à la valeur. utiliser Z pour une valeur complètement nouvelle.

M493.3 Z-15

définit le TLO à -15

Définit le TLO depuis la position WCS actuelle avec un décalage H.

M493.3 H10

commencer avec l'outil 10 mm au-dessus du Z WCS, en utilisant l'astuce du gabarit ou du papier. Cela calculera le TLO approprié pour correspondre au WCS actuel

rapporter l'offset de longueur d'outil actuel

M493.5

À venir : pause ATC

M494 / M494.1

allumer le laser de la sonde

M494.1

M494.2

éteindre le laser de la sonde

M494.2

M495

Effectuer des Marges, sondage Z, Auto-nivellement selon les paramètres, changer l'outil de sonde si nécessaire. X et Y sont le départ de la marge. C et D sont les étendues de marge. O et F sont les décalages de sondage Z. A, B sont les étendues de l'auto-nivellement, I et J sont le nombre de points à sonder sur chaque axe, H est la hauteur de sondage de l'auto-nivellement. P1 ira à l'origine

M495.3

effectue un sondage Z 3 axes le long de -z, -x et -y. Voir G38 pour d'autres fonctions de sondage. D définit le diamètre de la pointe de sonde, H est l'épaisseur de la pièce métallique de sonde 3 axes

M495.3 D3.175 H9

M496.2

aller à l'origine de travail. Les paramètres X et Y définissent la position par rapport à l'ancre 1

M496.2 X30Y0

M496.3

aller à l'ancre 1

M496.4

aller à la position de l'ancre 2

M496.5

aller à la position. Les paramètres X et Y définissent la position par rapport à l'ancre 1

M496.5 X30Y0

M497

attendre que la file soit vide. Généralement une commande interne

Debug uniquement

M498 / M498.1

rapporter les données de l'EEPROM. Imprimera le numéro d'outil courant, le TLO, toolmz, refmz et les offsets WCS sur la console

M498.2

effacer les données EEPROM. Ne pas exécuter

Ne pas utiliser

M499/M499.1

imprime les informations d'outil courantes sur la console

M499.2

imprime toutes les données de position d'outil ATC sur la console

M500

enregistrer les modifications du fichier de config sur la carte SD

M501

// charger la surcharge de configuration

Debug uniquement

non implémenté

M502

M502 supprime config-override donc tout revient aux valeurs du fichier config

Debug uniquement

M503

afficher les valeurs du fichier de configuration sur la console

M504

enregistrer dans un fichier de surcharge de configuration spécifique

M504 "/sd/config-override"

M561

Efface les données d'auto-nivellement du plateau et désactive la compensation jusqu'à ce que G32 soit exécuté de nouveau. Même chose que M370

M565

définit les offsets du zprobe. À investiguer ultérieurement

M600

mettre en pause le fichier courant (utilisez ceci pour ajouter des pauses)\

M601

reprendre le fichier courant - généralement exécuté depuis la console MDI

M665

M665 définit les variables de solution de bras optionnelles basées sur la solution de bras.

fonction incertaine

M670

définir les informations par défaut de la sonde jusqu'à la prochaine réinitialisation. S - vitesse lente, K - vitesse rapide, R - vitesse de retour, Z - profondeur z max à sonder, H - distance à sonder, I - état d'inversion de la sonde, D - temporisation avant sondage

M801

Activer l'aspiration interne (Carvera). Le paramètre S définit la puissance de l'aspiration (S100 = 100%) Active le ventilateur PSU sur Carvera Air

M801 S100

M802

Éteindre l'aspiration sur Carvera, et éteint le ventilateur PSU sur Carvera Air

M802

M811

Allumer le ventilateur de refroidissement de la broche. Le paramètre S définit la puissance du ventilateur

M811 S100

M812

Éteindre le ventilateur de refroidissement de la broche

M812

M821

Allumer la lumière

M821

M822

Éteindre la lumière

M822

M831

Allumer le laser du capteur de détection d'outil

M831

M832

Éteindre le laser du capteur de détection d'outil

M832

M841

Allumer l'alimentation de charge de la sonde sans fil

M841

M842

Éteindre l'alimentation de charge de la sonde sans fil

M842

M851

Allumer l'alimentation du port étendu. Le paramètre S définit la sortie PWM du port

M851

M852

Éteindre l'alimentation du port étendu

M852

M881

Définir le canal 2.4G sur : le paramètre S et commencer la transmission

M881 SwifiNetworkName

M882

éteindre le réseau wifi

M882

M885

désactiver les fins de course matérielles (redevient activé au cycle d'alimentation, ignoré lors de l'homing)

M886

activer les fins de course matérielles

M887

désactiver la vérification d'origine

M888

activer la vérification d'origine

]

rapporter la vitesse de la broche

M957

vitesse et statut actuels de la broche

État : on, RPM courant : 15086 RPM cible : 15000 Valeur PWM : 0.699

M958

définir les paramètres PID de la broche, paramètres P, I, D

M1000

M1000 est une commande spéciale qui transmettra la commande brute en minuscules au shell simple (pour les hôtes qui n'autorisent pas de telles choses)

Mis à jour