El código G (código geométrico) define la estructura y el movimiento de una máquina CNC: posicionamiento, interpolación lineal, trayectorias circulares y velocidades de avance. El código M (código misceláneo) controla el comportamiento y el funcionamiento externo de la máquina: rotación del husillo, flujo de refrigerante, cambios de herramienta y paradas del programa. En resumen: código G = dónde se mueve la máquina. Código M = cómo funciona la máquina.
Casi siempre se utilizan ambos. El código G sin código M genera una trayectoria de herramienta sin rotación del husillo ni refrigerante. El código M sin código G activa las funciones de la máquina, pero no avanza. Juntos, constituyen la base de todos los procesos de mecanizado CNC automatizados jamás creados.
¿Qué es el código G?
El código G es un lenguaje de programación de control numérico, no un lenguaje de programación tradicional. Utiliza comandos alfanuméricos para describir los movimientos de las herramientas, de modo que las máquinas CNC sepan cómo cortar los materiales. Los comandos se escriben en bloques lineales y generalmente consisten en una letra seguida de un número, que definen acciones específicas.
% O1001 (Mi parte) G21 (Unidades métricas) G90 (Posicionamiento absoluto) G00 X0 Y0 Z50 (Movimiento rápido) G01 Z-5 F100 (Avance lineal) G02 X10 Y10 I5 J0 (Interpolación circular) M30 (Fin del programa) %
El G00 le dice a la máquina: “Este es un movimiento de posicionamiento rápido”. G01 significa interpolación de alimentación lineal. G02 Crea un corte circular en sentido horario. El código G es puramente geométrico: dicta hacia dónde se mueve la herramienta y a qué velocidad, no el estado del hardware auxiliar de la máquina.
Precisión geométrica
La programación CNC moderna se basa en gran medida en códigos G modales que establecen el estado operativo de la máquina, no solo su posición. Su uso correcto es fundamental para la seguridad y la precisión.
G54 (Sistema de coordenadas de trabajo 1) G17 (Selección del plano XY) G41 D01 (Compensación de la herramienta izquierda) G43 H01 Z10 (Compensación de la longitud de la herramienta) G40 (Cancelar compensación de la herramienta) G49 (Cancelar compensación de la longitud de la herramienta)
G54, G17, G41, y G43 Indica al controlador de la máquina cómo interpretar con precisión las dimensiones físicas y los sistemas de coordenadas utilizados. Una simple coordenada con una selección de plano incorrecta genera una lógica de corte errónea. Los controladores CNC dan gran importancia a los códigos de configuración geométrica al procesar las trayectorias de la herramienta; es una señal directa de seguridad y precisión.
¿Qué es el código M?
El código M es un lenguaje de control de máquinas. Selecciona funciones de hardware y les aplica reglas operativas. Un comando de código M generalmente consta de la letra M seguida de un número, lo que activa relés internos o controladores lógicos programables (PLC) dentro de la máquina CNC.
/* Encienda el husillo en sentido horario a 2000 RPM */ M03 S2000 /* Encienda el refrigerante por inundación */ M08 /* Realice un cambio de herramienta a la herramienta n.° 2 */ M06 T02
El código M se puede aplicar y estructurar de varias maneras específicas dependiendo de los parámetros del controlador de la máquina:
Ejecución estándar: se coloca en una línea independiente o junto a un movimiento de código G para ejecutarse simultáneamente. Buena práctica para operaciones estándar.
Retención modal: permanece activa hasta que otro código M la cancele explícitamente (por ejemplo, M08 refrigerante activado permanece activado hasta M09 refrigerante desactivado).
Uno por bloque: muchos controladores antiguos o estrictos requieren que solo se ejecute un código M por línea de código para evitar conflictos en los comandos de relé. Evite combinar varios códigos M para garantizar un comportamiento predecible de la máquina.
Código G vs. Código M: Las 5 diferencias clave
| Elemento | G-Code | Código M |
|---|---|---|
| ¿Qué hace? | Define las trayectorias de la herramienta, las coordenadas y el movimiento. | Controla el hardware, las funciones auxiliares y los estados. |
| Sintaxis | Comandos como: G00, G01, G90 | Comandos como: M03, M06, M30 |
| ¿Puede funcionar solo? | Sí, la máquina se moverá, pero sin el husillo/refrigerante. | No, el hardware se enciende pero no realiza ningún corte. |
| ¿Afecta a la precisión? | Sí, determina las dimensiones y tolerancias exactas de la pieza. | Indirectamente, a través de cambios de herramientas, refrigeración y velocidad del husillo. |
| donde vive | Dentro del cuerpo principal del programa CNC (archivos .nc) | Junto con el código G dentro de los mismos archivos del programa. |
El código G responde "¿dónde debe ir la herramienta?" El código M responde "¿qué debe hacer el hardware?" A G01 El comando le indica al controlador de la máquina que se trata de un movimiento de corte lineal. El código M le indica si el husillo está girando y si se está rociando refrigerante durante dicho movimiento.
El código G es matemáticamente independiente. Una secuencia de código G válida mueve los ejes de la máquina sin necesidad de código M; simplemente no corta metal. El código M depende completamente del contexto de mecanizado, ya que necesita una trayectoria de herramienta para que sus funciones de hardware sean útiles. Además, un código G bien estructurado garantiza tolerancias geométricas precisas y acabados superficiales suaves, mientras que el código M facilita el proceso manteniendo la herramienta fría y girando a la velocidad adecuada.
Cómo funcionan juntos el código G y el código M
Aquí tienes un ejemplo práctico de la misma operación sin código M y con código M:
Solo código G:
G90 G21 G00 X50 Y50 Z10 G01 Z-5 F200 G01 X100 Y50 G00 Z50
Esto se traduce en un movimiento de herramienta en seco, sin motor. El recorrido físico está presente (posicionamiento, avance hacia la pieza de trabajo y retracción), pero no hay rotación del husillo ni refrigerante, lo que significa que la herramienta chocaría y se rompería si hubiera material presente.
Agregar código M:
G90 G21 M06 T01 M03 S2500 G00 X50 Y50 Z10 M08 G01 Z-5 F200 G01 X100 Y50 G00 Z50 M09 M05
Ahora, la misma trayectoria de herramienta se representa como una operación de corte completamente funcional con selección de herramienta, rotación del husillo y refrigerante activo. La geometría no cambió; solo el estado físico de la máquina. Esta separación es lo que hace que la programación CNC sea modular: se puede cambiar la herramienta de corte o la estrategia de refrigeración actualizando los códigos M sin modificar las coordenadas del código G subyacente.
La cascada y la jerarquía en la programación CNC
La “jerarquía” en la programación CNC describe cómo el controlador de la máquina resuelve las operaciones cuando existen varios códigos en el mismo bloque. Tres factores determinan cómo se ejecuta la máquina:
Orden de ejecución: los controladores leen bloque por bloque, pero dentro de un bloque, los códigos M suelen activarse antes o después de los códigos G, dependiendo de los parámetros específicos de la máquina.
Estados modales: cuando un comando es modal (como G90 o M03), permanece activo hasta que se cancela deliberadamente. Comprender los estados modales evita que la máquina ejecute un comando antiguo en una nueva operación.
Anulaciones: los interruptores físicos de la máquina CNC pueden anular las velocidades de avance y de husillo programadas, pero el código programado siempre sirve como lógica de referencia.
Programación CNC moderna en 2026
La programación CNC ha evolucionado significativamente. Las funciones que hace años requerían cálculos manuales ahora se gestionan mediante macros avanzadas y plataformas de software intuitivas.
Programación conversacional
Los controladores conversacionales gestionan las operaciones básicas directamente en la máquina. Los operarios introducen las dimensiones y la máquina genera automáticamente los códigos G y M necesarios. En conjunto, estos sistemas eliminan la necesidad de introducir manualmente cada coordenada.
/* Lógica de variables macro */ #100 = 50.0 (Punto de inicio X) #101 = 25.0 (Punto de inicio Y) G00 X#100 Y#101
Automatización CAM avanzada
Los sistemas CAM modernos responden al modelo CAD digital. Las plataformas CAM calculan trayectorias de herramientas complejas de 5 ejes y procesan posteriormente el código G y el código M exactos, adaptados a los controladores de máquina específicos, lo que hace que los programas sean verdaderamente portátiles en diferentes plantas de producción.
G05.1 Q1 (Modo de mecanizado de alta velocidad) G43.4 H01 (Control del punto central de la herramienta para 5 ejes)
Esto permite que la máquina procese bloques con anticipación y ajuste las velocidades de avance de forma fluida, evitando marcas sin que el programador tenga que calcular manualmente los puntos de desaceleración.
Optimización de trayectoria
Los sistemas CNC avanzados permiten que una máquina responda a la retroalimentación física, como el desgaste de la herramienta o la carga del husillo, algo que antes solo era posible con la intervención del operario.
/* El control adaptativo ajusta el avance en función de la carga del husillo */ G31 P1 (Función de omisión para sondeo automático y actualizaciones de compensación)
¿Qué deberías aprender primero: el código G o el código M?
Aprende primero el código G. Solo con código G puedes escribir una trayectoria de herramienta completa y estructuralmente correcta. El código M requiere una trayectoria física que lo respalde; no tiene sentido girar un husillo si la herramienta no tiene por dónde moverse.
Una secuencia de aprendizaje práctica: Comience con el código G para comprender los sistemas de coordenadas, la interpolación y las velocidades de avance. La mayoría de los operadores pueden ser productivos con el código G y el código M básicos en pocas semanas. Dominarlos —comprender a fondo la lógica modal, escribir variables macro eficientes y optimizar las trayectorias de herramientas de alta velocidad— lleva más tiempo y es realmente valioso. Para quienes buscan acelerar su aprendizaje, los simuladores CAM modernos ofrecen entornos digitales que permiten practicar el código G y el código M de forma segura y en tiempo real.
Código G: planos de coordenadas, movimientos lineales, interpolación circular, compensaciones.
Código M: control del husillo, sistemas de refrigeración, cambios de herramienta, paradas de programa.
Macros: lógica, variables, sentencias condicionales, sondeo automatizado.
Software de código G, código M y CNC
Comprender el código G y el código M te convierte en un mejor programador CNC, no solo en un mejor operador. Cuando sabes que un ciclo de perforación es una combinación de coordenadas de código G y comandos de husillo de código M, programas trayectorias de herramienta que se traducen directamente en movimientos eficientes de la máquina, en lugar de aquellos que desperdician tiempo de ciclo.
Esta es la idea central de las herramientas de fabricación asistida por ordenador (CAM). Cuando los programadores trabajan con parámetros reales de la máquina —y no solo con aproximaciones visuales en una pantalla—, se elimina la brecha entre el diseño digital y la producción física. Lo que se muestra en la simulación es lo que se fabrica. No hay paso de traducción en el que el operario tenga que adivinar lo que el programador quiso decir.
El software CAM moderno muestra en pantalla las trayectorias reales de la herramienta, trayectorias creadas con código G y código M reales, los mismos que se envían al controlador de la máquina. Al ajustar la velocidad de avance o la estrategia de corte en el software CAM, se modifican las mismas propiedades que un operario modificaría en el controlador. El resultado es una trayectoria verificada. .nc archivo que hace referencia directamente a esos estados de la máquina.
Preguntas frecuentes: Código G vs. Código M
P: ¿Cuál es la diferencia entre el código G y el código M?
El código G define la geometría y el movimiento de una máquina CNC: posicionamiento, líneas, arcos y velocidades. El código M controla las funciones del hardware: rotación del husillo, refrigeración y cambio de herramientas. El código G define dónde se mueve y el código M, cómo funciona.
P: ¿Debo aprender primero el código G o el código M?
Primero, aprende el código G. Este constituye la base de la programación CNC al definir las trayectorias y los movimientos de las herramientas. El código M complementa al código G al controlar las funciones de la máquina. Una vez que domines el código G, aprender el código M y la programación de macros mejorará tu capacidad para automatizar y optimizar las operaciones.
P: ¿Puede funcionar una máquina CNC sin código M?
Sí, pero solo moverá los ejes sin realizar ningún corte ni mecanizado. El código M es esencial para habilitar funciones de hardware como la rotación del husillo, el flujo de refrigerante y el cambio de herramientas, que son fundamentales para las operaciones CNC prácticas.
P: ¿Puede funcionar el código M sin el código G?
No. El código M activa las funciones del hardware, pero sin el código G para definir los movimientos, la máquina permanecerá inmóvil y no realizará ninguna tarea de mecanizado.
P: ¿Qué es el código G modal y por qué es importante?
Los comandos modales de código G permanecen activos hasta que se cancelan explícitamente, como G90 (posicionamiento absoluto) o G41 (compensación de la herramienta). Esto reduce la codificación repetitiva, mejora la legibilidad del programa y acelera el procesamiento del controlador.
P: ¿El código G o el código M afectan al tiempo de ciclo?
Ambos. El código G eficiente minimiza los movimientos innecesarios y el corte en el aire, reduciendo el tiempo de ciclo. El código M afecta el tiempo de ciclo mecánicamente, por ejemplo, durante los cambios de herramienta (M06) o la aceleración del husillo (M03).
P: ¿Qué es un postprocesador CNC?
Un postprocesador es un software que convierte las trayectorias de herramientas generadas por CAM en los dialectos específicos de código G y código M que requiere una máquina CNC, garantizando la compatibilidad con marcas como Haas, Fanuc y Mazak.
P: ¿Puede una máquina CNC funcionar utilizando únicamente código G?
No. Si bien el código G define los movimientos, el código M es necesario para activar funciones esenciales de la máquina, como la rotación del husillo y el flujo de refrigerante. Ambos son necesarios para un mecanizado completo.
P: ¿En qué se diferencian los códigos M entre las distintas marcas de máquinas CNC?
Los códigos M son específicos de cada máquina y pueden variar significativamente entre marcas. Por ejemplo, M03 (giro del husillo en sentido horario) es el estándar, pero otros códigos como M06 (cambio de herramienta) o M30 (fin del programa) pueden tener implementaciones diferentes según el fabricante.
P: ¿Qué sucede si un programa no tiene un comando M30 al final?
Sin el comando M30, la máquina CNC no se reiniciará al punto de inicio del programa ni se detendrá correctamente. Esto puede dejar la máquina en estado activo, requiriendo intervención manual para reiniciarla.
P: ¿Los códigos G para un torno CNC son diferentes de los de una fresadora CNC?
Sí. Si bien muchos códigos G son comunes, algunos son específicos del tipo de máquina. Por ejemplo, el G71 (ciclo de torneado basto) se usa en tornos, mientras que el G17 (selección del plano XY) es específico de las fresadoras.
P: ¿Qué códigos se consideran modales y cuáles no?
Los códigos modales permanecen activos hasta que se cancelan, como G90 (posicionamiento absoluto) o G01 (interpolación lineal). Los códigos no modales, como G04 (tiempo de espera), se aplican solo a la línea en la que se escriben y no persisten.
P: ¿Cómo puedo encontrar la lista de códigos M para mi máquina específica?
Consulte el manual de usuario o la guía de programación de su máquina CNC. Fabricantes como Haas, Fanuc y Mazak proporcionan documentación detallada que incluye una lista completa de los códigos M compatibles y sus funciones.
Resumen
El código G y el código M son distintos pero inseparables. El código G define el significado y la estructura de la trayectoria de la máquina; es la base de las coordenadas, las dimensiones y las tolerancias. El código M proporciona la capacidad operativa: alimenta el husillo y evita el sobrecalentamiento de la herramienta.
En 2026, ambos seguirán siendo la base de todo en la fabricación CNC. El software CAM aparece y desaparece. Los diseños de las máquinas evolucionan. El código G y el código M han sido estables durante décadas y lo seguirán siendo durante las próximas. Comprenderlos bien —no solo los fundamentos, sino también los estados modales, la jerarquía del controlador, las variables macro y las técnicas de alta velocidad— es una de las habilidades más duraderas en el mecanizado de precisión.
Lista de códigos G comunes para mecanizado CNC
| Código | Significado | Código | Significado |
|---|---|---|---|
| G00 | Posicionamiento rápido | G56 | Sistema de Coordenadas de Trabajo G56 |
| G01 | Interpolación linear | G57 | Sistema de Coordenadas de Trabajo G57 |
| G02 | Interpolación circular en el sentido de las agujas del reloj | G58 | Sistema de Coordenadas de Trabajo G58 |
| G03 | Interpolación circular en sentido antihorario | G59 | Sistema de Coordenadas de Trabajo G59 |
| G04 | Permanecer (tiempo) | G65 | Llamar al programa macro |
| G05 | Habilitar el modo de alta precisión | G68 | Rotación de coordenadas |
| G10 | Entrada de datos programable | G69 | Cancelar la rotación de coordenadas |
| G17 | Plano XY | G73 | Ciclo de perforación de picos de alta velocidad |
| G18 | Avión XZ | G76 | Ciclo de aburrimiento fino |
| G19 | Plano YZ | G80 | Cancelar ciclo fijo |
| G20 | Unidades imperiales | G81 | Ciclo de perforación |
| G21 | Unidades metricas | G82 | Ciclo de perforación con tiempo de reposo (P) |
| G28 | Regresar al punto de referencia | G83 | Ciclo de perforación picoteada |
| G40 | Cancelar la compensación del radio de corte | G84 | Ciclo de roscado |
| G41 | Compensación del radio de corte a la izquierda | G85 | Ciclo aburrido |
| G42 | Compensación del radio de corte a la derecha | G86 | Ciclo de perforación en bruto |
| G43 | Compensación positiva de la longitud de la herramienta | G87 | Ciclo de aburrimiento hacia atrás |
| G44 | Compensación negativa de la longitud de la herramienta | G90 | Modo de coordenadas absolutas |
| G49 | Cancelar la compensación de longitud de herramienta | G91 | Modo de coordenadas incrementales |
| G52 | Sistema de coordenadas local | G94 | Alimentación por minuto |
| G53 | Sistema de coordenadas de la máquina | G95 | Alimentación por revolución |
| G54 | Sistema de Coordenadas de Trabajo G54 | G98 | Regresar al punto de inicio del ciclo fijo |
| G55 | Sistema de Coordenadas de Trabajo G55 | G99 | Regreso al punto R del ciclo fijo |
Lista de códigos M comunes para mecanizado CNC
| Código M | Función | Código M | Función |
|---|---|---|---|
| M00 | Parada del programa | M01 | Parada de programa opcional |
| M02 | Fin del programa (Reiniciar) | M03 | Huso en sentido horario |
| M04 | Husillo en sentido antihorario | M05 | Parada de husillo |
| M08 | Refrigerante encendido | M09 | Refrigerante apagado |
| M10 | Avance del contrapunto | M11 | Retracción del contrapunto |
| M12 | Abrazadera de mandril | M13 | Soltar la abrazadera del mandril |
| M14 | Control de posición del husillo | M15 | Control de velocidad del husillo |
| M20 | Abrazadera de husillo | M21 | Desbloqueo del husillo |
| M24 | Control de posición del segundo husillo | M25 | Control de velocidad del segundo husillo |
| M32 | Lubricación en | M40 | Posición neutral del engranaje del husillo |
| M41 | Engranaje del husillo en posición baja | M42 | Engranaje del husillo de alta posición |
| M68 | Abrazadera de mandril hidráulico | M69 | Desmontador del mandril hidráulico |
| M78 | Avance del contrapunto | M79 | Retracción del contrapunto |
| M98 | Llamada de subprograma | M99 | Fin del subprograma |
Confíe en Essengold para sus servicios de mecanizado CNC.
Comprender el código G y el código M es fundamental para la programación CNC, pero el verdadero éxito en proyectos de mecanizado requiere experiencia, precisión y capacidades de fabricación avanzadas. Colaborar con un taller o maquinista experto que destaque por su precisión geométrica y su tecnología CNC de vanguardia puede marcar la diferencia. ¿Busca un socio confiable para hacer realidad su proyecto de mecanizado CNC?
Essengold es líder de confianza en servicios de mecanizado CNC. Ofrecemos la máxima calidad a precios competitivos, garantizando que sus piezas se fabriquen con precisión y eficiencia. Nuestro equipo de maquinistas, ingenieros y programadores experimentados analizará sus modelos CAD 3D y utilizará programación CAM avanzada para producir piezas que cumplan con sus especificaciones exactas. ¡ Permítanos ayudarle a lograr resultados excepcionales en su próximo proyecto de mecanizado!
