MCodes

La tabla siguiente muestra los MCodes compatibles

MCode
Función
Ejemplo
Respuesta de ejemplo
Solo firmware comunitario

parada opcional. Si M333 está habilitado, el programa se pausará al alcanzar este comando. Si en su lugar se establece M334, no habrá pausa

M2

fin del programa, detener husillo y aire

M3

Inicia el husillo. El parámetro S establece la velocidad en revoluciones por minuto

M3 S5000

enciende el husillo a 5000 rpm

M5

Detiene el husillo

M5

M6

Cambio automático de herramienta, T0 indica sonda inalámbrica, T-1 indica Ninguna

M6 T1

cambia a la herramienta 1 y establece TLO

M7

Inicia el flujo de aire

M7

M9

Detiene el flujo de aire

M9

M17

activar todos los pines de habilitación

Solo depuración

M18

esto permite apagar motores individuales, sin parámetros desactiva todos

Solo depuración

M20

listar archivos en la raíz de la tarjeta SD. no mostrará subcarpetas

Solo depuración

M21

código para octoprint para impresoras 3D, no hace nada

No usar

M23

seleccionar un archivo

M23 gcodes/test.cnc

M24

comenzar a reproducir el archivo actual

no usar

M25

pausar el archivo que se está reproduciendo actualmente (usar M600 para pausas)

no usar

M26

reiniciar el archivo actual listo para empezar de nuevo

no usar

M27

informar el progreso actual (útil para sincronizar la pantalla del controlador con la línea actual)

M30

Fin del programa, sin acción en la Carvera. Ver M26

M30

M32

seleccionar un archivo y empezar a reproducir. Para macros ver M98

M32 gcodes/test.cnc

M82

modo_e_abs on

Solo depuración

M83

modo_e_abs off

Solo depuración

M84

apagar todos los pines de habilitación

Solo depuración

M92

establecer pasos por mm

M98 X12

establece los pasos por mm en X a 12

saltar a una línea particular en gcode

M97 P14

ir a la línea 14 en el archivo actual

abrir un subprograma dentro del gcode en ejecución actual, a menudo referido como macro. regresar al programa principal cuando termine. El parámetro P es un número que hace referencia a un archivo en la carpeta gcodes/macros con un nombre ####.cnc El parámetro opcional L repite el subprograma un número determinado de veces

M98 P1001 L4

abrir subprograma por ruta, regresar al programa principal cuando termine. por lo demás igual que arriba. el comando opcional L debe ir antes de la ruta

M98 L2 {gcodes/test.cnc}

regresar de un subprograma al programa principal

M99

M105

Leer la temperatura actual del husillo

M105

M112

paro de emergencia

Solo depuración

M114

imprimir el WCS actual para cada eje en la consola

M115

informar la versión del firmware y las capacidades

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:Oct 30 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 Gcode no conforme especial ya que permite texto arbitrario en la línea que sigue al comando. Imprime en el panel de pantalla disponible

Usar 118 en su lugar

imprimir el resto de la línea en la consola

Escribe la línea evaluada en el puerto serial.

M118.1 P[2+2]

imprime 4 en la consola

M119

informar la información actual de la sonda

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

M120

empujar estado

Solo depuración

M121

sacar estado

Solo depuración

M143

código específico de impresora 3D

No usar

M203

establecer velocidad máxima de avance en mm/seg

M203 X100

M203.1

establecer velocidades máximas del actuador

M204

M204 Snnn - establecer la aceleración predeterminada a nnn, Xnnn Ynnn Znnn establece aceleración específica por eje

M205

M205 Xnnn - establecer desviación de la unión, Z - establecer desviación de unión en Z, Snnn - establecer velocidad mínima del planificador

M206

establecer offset de homing

M206 X15 Y15 Z15

establece offset de homing a 15,15,15

M220

S<factor en porcentaje>- establecer porcentaje de anulación del factor de velocidad de avance

M220 S50

M221

Activar/desactivar finales de carrera suaves

M221 S0

desactiva los finales de carrera suaves. M221 S1 los activa

M223

S<factor en porcentaje>- establecer porcentaje de anulación del factor de velocidad del husillo

M223 S80

M301

específico de impresora 3D

No usar

M303-305

Usado por el autotunelador PID para control de temperatura de un hotend de impresora 3D. Sin función en la Carvera

No usar

M306

establecer offset de homing basado en la posición actual

M321

Entrar en el modo láser, la máquina soltará la herramienta actual automáticamente y calibrará la pinza del husillo (para ajustar el offset del láser a la superficie de trabajo)

M321

M322

Salir del modo láser

M322

M323

Entrar en el modo de prueba láser, el módulo láser recibirá una potencia muy baja, usualmente usado para reenfocar el láser

M323

M324

Salir del modo de prueba láser

M324

M325

S<factor en porcentaje>- establecer porcentaje de anulación del factor de potencia del láser

M325 S50

M331

Activar el modo de vacío automático; si está activado, el vacío se encenderá automáticamente cuando el husillo esté en funcionamiento y se apagará cuando el husillo no esté funcionando

M331

M332

Desactivar el modo de vacío automático

M332

Desactivar el modo de parada opcional. Ver M01

Activar el modo de parada opcional. Ver M01

Desactivar el Modo de Ejecución Línea por Línea.

Activar el Modo de Ejecución Línea por Línea. Pausa después de cada línea. No pausa en líneas vacías, o líneas que comienzan con ; o (

M370

Borra los datos de nivelación automática de la cama y desactiva la compensación hasta que se ejecute G32 nuevamente

M370

M374

guardar la cuadrícula de autoleveling en la tarjeta SD.

M374.1

eliminar la cuadrícula de autoleveling de la SD

M375

cargar la cuadrícula desde la tarjeta SD

M375.1

Mostrar los datos actuales de la cuadrícula de nivelación de la cama en la ventana MDI

M375.1

Desactivar compensación de flexión

Imprimir compensación de flexión

Guardar datos de compensación de flexión en SD

Cargar datos de compensación desde SD

M400

esperar a que todos los movimientos hayan terminado hasta este punto

calibrar la punta de la sonda usando un orificio de tamaño conocido

M460 X25 L3

comenzar centrado dentro del orificio. Calibrará basado en un orificio de 25 mm, promediando el valor sobre 3 pruebas. Esto guardará el valor en la variable #150. Usar config-set sd zprobe.probe_tip_diameter # para almacenar este valor para reinicios. Se implementan todos los parámetros de M461 excepto T,S

calibrar la punta de la sonda usando un reborde (boss) de tamaño conocido

M460.2 X15 L3

comenzar centrado sobre el reborde. Requiere X o Y pero no ambos. El valor para X o Y es la dimensión medida del reborde. L es el número de veces que se sondará y se promediará. Se implementan todos los parámetros de M462 excepto T,S

calibrar la punta de la sonda usando el ancla 2

M460.3

se moverá a la posición correcta por Z de separación, moverá xy, sondará hacia abajo en z. La posición se basa en la posición de configuración para el ancla 2 y el ancho de ancla guardado. Medir y establecer primero el ancho del ancla.

sondar orificio

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

Comenzar aproximadamente en el centro del orificio, la macro comienza con una sondaje en z, moviéndose (H)10 mm hacia abajo. Si la herramienta golpea la superficie, se retraerá (C)2. Si no, continuará desde la nueva posición baja. Si no se da H o es 0, la macro sondará desde la altura inicial. Luego sondará (X)25 mm en la dirección X rotada por (Q)15 grados hasta que la herramienta toque una superficie. Retractarse de la superficie (R)1.8 mm de regreso hacia el centro, luego volver a sondear a una velocidad mucho más lenta. Volver al centro y repetir para la dirección rotada -x. Repetir los pasos de X para la dirección Y, sondeando (Y) 30. Repetir las sondas X e Y (L)2 veces. Todos los movimientos normales de sonda ocurren a (F)100 mm/seg, los movimientos entre inicios de sonda ocurren a la velocidad rápida (K)200. Al completarse el programa habrá guardado la distancia a lo largo del eje X como #151, la distancia a lo largo del eje Y como #152, el punto central en MCS como #154,#155. Puesto que S está ajustado a 1 el programa establecerá el WCS actual (usualmente G54 a menos que se sobrescriba) como el centro del orificio. Si S no está establecido la macro de sonda no afectará el WCS. (D) se usa para calcular la distancia entre puntos y representa el diámetro de la punta de la herramienta. Todos los parámetros son opcionales pero debe tener 1 de X o Y; si proporciona solo uno de ellos solo sondará en esa dirección.

sondar reborde (boss)

M461 X25 Y25 E12

Todos los parámetros de M461 funcionan. Partiendo del centro aproximado del bloque/boss rectangular, la sonda se moverá (X) 25 mm en la dirección X positiva, luego sondará hacia abajo por -(C+E) para llegar al lateral del bloque. Luego realizará un doble toque hacia el centro del bloque para encontrar el punto 1. Volverá a la posición de separación, luego a la posición central, luego repetirá la sonda x para la dirección negativa y ambas direcciones y. Las variables de salida son las mismas que M461. Si S1 está establecido el centro del boss será el nuevo origen xy. Si S2 está establecido y se dio una altura de sondeo (H), el origen z se establece en la superficie sondeada

sondar esquina interior

M462 X-15 Y-15

Implementa D, H, C, Q, F, K, L, R, S de M461. Sonda una esquina interior inferior izquierda (la dirección de X e Y determinan la dirección en que se mueve la sonda, en este caso a la izquierda y hacia la parte frontal de la máquina). Guarda la posición del centro en #151 y #152

sondar esquina exterior

M463 X15Y15

Implementa D, H, C, Q, F, K, L, R, S de M461. Implementa E de M462 y sigue un proceso similar para 2 puntos en lugar de 4. Sonda una esquina exterior inferior izquierda (la dirección de X e Y determinan la dirección en que se mueve la sonda, en este caso a la izquierda y hacia la parte frontal de la máquina). Guarda la posición del centro en #151 y #152. S funciona igual que en M462

sondar eje y ángulo

M464 X10 E10 V10

Implementa H,C,X,Y,Q,F,K,L,R de M461. Solo tomará 1 valor de eje (X o Y). Desde la posición inicial: doble toque de sonda con distancia (E)10 perpendicular al eje dado hasta que se golpee una superficie. El signo de E determina la dirección de sondeo. Volver a la posición inicial. Moverse a lo largo del eje dado por (X)10 y repetir la sonda. Volver a la posición inicial. Como V está establecido la sonda se moverá a lo largo del mismo ángulo que la superficie de la sonda por (V)10. Almacena el ángulo en grados en #153

Sondar eje 4 (eje A) pieza

M465.1 Y15 E30 F200 K600 L2

Sondar eje 4 (eje A) pieza con offset de máquina

M465.2 X10 Y15 R1 F200 K600

sondeo recto con doble toque

M466 X{dist} Y{dist} Z{dist} D{diámetro de la punta} Q{ángulo} L{repeticiones} R{retracción} S{guardar como xy, si solo se da 1 eje sin q, entonces solo guardará ese eje como cero} F{velocidad de avance} I{invertir para NC}

Sondeo de rectángulo

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

M469 / M469.0

Futuro: iniciar máquina con sonda verdadera de 3 ejes en pin definido por el usuario

no implementado

M469.0 I{invertir}

calibrar ancla 1 con sonda verdadera de 3 ejes

M469.1

M469.1 I{invertir}

calibrar ancla 2 con sonda verdadera de 3 ejes

M469.2

M469.2 I{invertir}

M469.3

Futuro: calibrar posición de herramienta ATC con sonda verdadera de 3 ejes

no implementado

calibrar el cabezal del cuarto eje con sonda verdadera de 3 ejes

M469.4

M469.4 I{invertir} Y{ancho del cabezal} H{qué tan lejos hacia abajo sondear}

calibrar el offset de altura del cuarto eje con sonda

M469.5

M469.5 R{Diámetro del pin} X{Distancia desde la 1ª posición de sonda hasta la sonda} H{Distancia máxima hacia abajo para sondear}

M469.6

informar y establecer offsets de la máquina (código solo para máquina)

Solo depuración

X - pos X original Y- pos y original, Z - pos z original, P-tipo de ajuste de sonda. 1 es para ancla 1, 2 es ancla 2, 3 es posición de herramienta atc, etc

M470

establecer la dirección del equipo de sonda inalámbrica

M470 S2020

M471

poner la sonda inalámbrica en modo emparejamiento

M471

M472

encender el láser de la sonda inalámbrica

M472

M481-489

gcodes específicos de wifi que es mejor hacer mediante los comandos de consola

No usar

M490

Ejecutar el proceso de homing ATC, el homing se ejecutará automáticamente al emitir M490.1 o M490.2 si es necesario

M490

M490.1

Aprieta la pinza del husillo para asegurar una nueva herramienta en el husillo

M490.1

M490.2

Afloja la pinza del husillo y suelta la fresa actual

M490.2

M491

Ejecutar una calibración, y el TLO (offset de longitud de herramienta) para la herramienta actual se restablecerá

M491

realiza una comprobación de rotura de herramienta calibrando la herramienta actual y comparando su longitud con un offset de longitud de herramienta (TLO) almacenado previamente.

M491.1 H0.05

Si hay una diferencia mayor a 0.05 detener la máquina

M492

comando interno para determinar si el portaherramientas está vacío.

Solo depuración

guardar offset de herramienta cuando haya activado la sonda TLO. Usar M493.3 para establecer el TLO a un valor particular

Solo depuración

nueva herramienta al parámetro T. T-1 está vacío. T0 es sonda

M493.2 T5

guardar offset de longitud de herramienta al valor. usar Z para un valor completamente nuevo.

M493.3 Z-15

establece el TLO a -15

Establece TLO desde la posición WCS actual con un offset H.

M493.3 H10

comenzar con la herramienta 10 mm por encima de Z del WCS, usando el pin de calibre o el truco del papel. Esto calculará el TLO adecuado para coincidir con el WCS actual

informar el offset de longitud de herramienta actual

M493.5

Futuro: pausa ATC

M494 / M494.1

encender el láser de la sonda

M494.1

M494.2

apagar el láser de la sonda

M494.2

M495

Hacer margen, sonda Z, nivelado automático basado en parámetros, cambiar herramienta de sonda si es necesario. X e Y son inicio de margen. C y D son extensiones de margen. O y F son offsets de sonda Z. A, B son las extensiones del autolevel, I y J son el número de puntos a sondear por cada eje, H es altura de sonda del autolevel. P1 irá al origen

M495.3

realiza una sonda z de 3 ejes a lo largo de -z, -x y -y. Ver G38 para otras funciones de sondeo. D establece el diámetro de la punta de la sonda, H es el grosor de la pieza metálica de la sonda de 3 ejes

M495.3 D3.175 H9

M496.2

ir al origen de trabajo. Los parámetros X e Y establecen la posición en relación con el ancla 1

M496.2 X30Y0

M496.3

ir al ancla 1

M496.4

ir a la posición del ancla 2

M496.5

ir a la posición. Los parámetros X e Y establecen la posición en relación con el ancla 1

M496.5 X30Y0

M497

esperar a que la cola se vacíe. Usualmente un comando interno

Solo depuración

M498 / M498.1

informar datos del eeprom. Imprimirá el número de herramienta actual, TLO, toolmz, refmz, y offsets WCS en la consola

M498.2

borrar datos de EEProm. No ejecutar

No usar

M499/M499.1

imprime información de la herramienta actual en la consola

M499.2

imprime todos los datos de ubicación de herramientas atc en la consola

M500

guardar cambios en el archivo de configuración en la tarjeta SD

M501

// cargar anulación de configuración

Solo depuración

no implementado

M502

M502 elimina config-override para que todo vuelva a los valores de config

Solo depuración

M503

imprimir valores del archivo de configuración en la consola

M504

guardar en un archivo de anulación de configuración específico

M504 "/sd/config-override"

M561

Borra los datos de nivelación automática de la cama y desactiva la compensación hasta que se ejecute G32 nuevamente. Igual que M370

M565

establece offsets de zprobe. Investigar en una fecha posterior

M600

pausar el archivo actual (usar esto para añadir pausas)\

M601

reanudar el archivo actual - usualmente ejecutado desde la consola MDI

M665

M665 establece variables opcionales de solución de brazo basadas en la solución del brazo.

incerto sobre la función

M670

establecer información predeterminada de sonda hasta el próximo reinicio. S - velocidad lenta, K - velocidad rápida, R - velocidad de retorno, Z- profundidad máxima Z para sondear, H - distancia para sondear, I - estado de inversión de sonda, D - espera antes de sondear

M801

Encender el vacío interno (Carvera). El parámetro S establece la potencia del vacío (S100 = 100%) Enciende el ventilador de la PSU en Carvera Air

M801 S100

M802

Apagar el vacío en Carvera, y apagar el ventilador de la PSU en Carvera Air

M802

M811

Encender el ventilador de refrigeración del husillo. El parámetro S establece la potencia del ventilador

M811 S100

M812

Apagar el ventilador de refrigeración del husillo

M812

M821

Encender la luz

M821

M822

Apagar la luz

M822

M831

Encender el láser del sensor detector de herramienta

M831

M832

Apagar el láser del sensor detector de herramienta

M832

M841

Encender la carga de la sonda inalámbrica

M841

M842

Apagar la carga de la sonda inalámbrica

M842

M851

Encender la alimentación del puerto extendido. El parámetro S establece la salida PWM del puerto

M851

M852

Apagar la alimentación del puerto extendido

M852

M881

Establecer canal 2.4G a: el parámetro S y comenzar a transmitir

M881 SwifiNetworkName

M882

apagar la red wifi

M882

M885

desactivar finales de carrera físicos (vuelve a activarse al reiniciar, ignorado durante homing)

M886

activar finales de carrera físicos

M887

desactivar comprobación de home

M888

activar comprobación de home

]

informar velocidad del husillo

M957

velocidad y estado actual del husillo

Estado: encendido, RPM actual: 15086 RPM objetivo: 15000 Valor PWM: 0.699

M958

establecer parámetros PID del husillo, parámetros P, I, D

M1000

M1000 es un comando especial que pasará el comando en minúsculas sin procesar al simpleshell (para hosts que no permiten tales cosas)

Última actualización