Estructura y sintaxis de los códigos G y M
En la programación CNC, los códigos G y M están organizados en bloques, y cada bloque generalmente representa una única operación o comando.
Los bloques son leídos, línea por línea por el equipo, lo que permite un control preciso sobre los movimientos de la herramienta y las funciones de la máquina.
Por ejemplo, un bloque podría incluir un G01 comando para mover la herramienta linealmente y un M08 comando para activar el refrigerante.
Cada línea de comando a menudo incluye coordenadas, velocidades de avance y otros parámetros que especifican la operación en detalle.
Diferencias de sintaxis entre máquinas
Si bien muchas máquinas CNC reconocen un conjunto básico de códigos G y M, La sintaxis puede variar entre máquinas.
Algunas máquinas requieren ceros iniciales (por ejemplo, G01 vs. G1) y otros interpretan los espacios o puntos decimales de manera diferente.
Además, ciertas marcas tienen variaciones del código propietario conocidos como dialectos, que pueden incluir comandos únicos o modificar los estándar.
Comprender estas diferencias de sintaxis es esencial para garantizar operaciones CNC fluidas y precisas.
A continuación, mediante un ejemplo, se muestra un bloque de programa CNC de muestra con explicaciones para cada línea -con el fin de ilustrar cómo Los códigos G y M trabajan juntos en una operación CNC típica.
- N1 G17 G21 G90 G40 ; Configurar valores predeterminados del programa.
- N2 T1 M06 ; Cambio de herramienta a la herramienta #1.
- N3 G00 X0 Y0 Z1 ; Posicionamiento rápido al punto de inicio sobre la pieza de trabajo.
- N4 M03 S1200 ; Husillo activado en el sentido de las agujas del reloj a 1200 RPM.
- N5 G01 Z-0.5 F150 ; Interpolación lineal a profundidad de corte a 150 mm/min.
- N6 G02 X1 Y1 I0 J1 ; Arco circular en el sentido de las agujas del reloj con centro especificado.
- N7 G01 X2 Y2 ; Movimiento lineal al siguiente punto.
- N8 M09 ; Refrigerante apagado.
- N9 G00 Z1 ; Posicionamiento rápido a altura segura.
- N10 M05 ; Parada del husillo.
- N11 M30 ; Finalizar programa y rebobinar.

A continuación, se describe cual sería la función de cada una de las líneas según el proceso que va a ejecutar:
Número 1, G17, G21, G90 y G40
Establece los valores predeterminados básicos del programa:
G17: Seleccione el plano XY para cortar.
G21: Establecer unidades en milímetros.
G90: Utilice posicionamiento absoluto.
G40: Cancele la compensación de la cuchilla para garantizar un movimiento limpio.
N2 T1 M06
Cambio de herramienta a herramienta #1. El M06 El código cambia la herramienta, preparándola para el proceso de corte.
Número 3 G00 X0 Y0 Z1
Posicionamiento rápido al punto de inicio en las coordenadas (X0, Y0) con posicionamiento Z1 encima de la pieza de trabajo.
N4 M03 S1200
Husillo encendido en el sentido de las agujas del reloj (M03) en 1200 RPM (controlado por S1200).
N5 G01 Z-0.5 F150
Interpolación lineal a una profundidad de corte de Z-0,5 mm a una velocidad de alimentación de 150 mm/min (G01 para cortes rectos y controlados).
N6 G02 X1 Y1 I0 J1
Arco circular en el sentido de las agujas del reloj dominio (G02) para moverse a X1, Y1 coordenadas, con Yo0J1 especificando el centro del arco en relación con el punto de inicio.
N7 G01 X2 Y2
Movimiento lineal Para coordinar (X2, Y2) para el siguiente punto, continuando el recorrido de corte.
N8 M09
Refrigerante apagado. Este M09 El comando detiene el refrigerante, lo que indica que la herramienta ya no necesitará enfriamiento.
Número 9 G00 Z1
Posicionamiento rápido volver a una altura segura de Z1.
N10M05
Tope del husillo Comando, indicando que el proceso de corte ha concluido.
N11 M30
Fin del programa y rebobinado. El M30 El comando finaliza el programa y lo reinicia, dejándolo listo para la siguiente ejecución si es necesario.