En mis 12 años evaluando las capacidades de los proveedores y auditando los procesos de fabricación en eptahub.com, he tenido innumerables discusiones con ingenieros de diseño junior que creen que su trabajo termina cuando se finaliza el modelo CAD. Entregan un archivo STEP 3D perfectamente renderizado y dan por sentado que la fábrica simplemente presiona "imprimir".“
Esto es un malentendido fundamental sobre la fabricación industrial. Un sistema de 5 ejes Fresado CNC La máquina —una pieza de hierro fundido y servomotores que cuesta medio millón de dólares— no entiende modelos 3D. Es completamente ajena a la geometría CAD. Solo comprende un lenguaje de programación alfanumérico muy rígido.
Cuando un maquinista o ingeniero mecánico pregunta, “¿Qué significa el código G?”, Se preguntan sobre el vínculo fundamental entre la teoría digital y la realidad física. Si el CAD es el plano arquitectónico, el código G es el manual de instrucciones paso a paso que se le entrega al albañil. Si las instrucciones son incorrectas, la máquina clavará a ciegas una fresa de carburo en una mordaza de acero a 15 000 RPM, destrozando un husillo $12 000 en una fracción de segundo.
¿Qué significan las siglas G Code?
Respondamos de inmediato a la pregunta sobre el vocabulario básico: ¿Qué significa el código G?
Oficialmente, según lo define el estándar histórico EIA-274D (RS-274), la “G” significa Geometría o General Órdenes preparatorias.

Cuando emites un comando que comienza con la letra G, le estás indicando al microprocesador del controlador CNC que... preparar los servomotores de los ejes de la máquina para un tipo específico de movimiento geométrico o para establecer un sistema de coordenadas específico. Estás dictando cómo La herramienta de corte se moverá a través del espacio cartesiano tridimensional (ejes X, Y, Z y ejes de rotación A, B, C).
¿Qué es el código G en las operaciones de máquinas CNC?
Para entender ¿Qué es el código G en una máquina CNC? En términos de terminología, debe considerarse como un flujo de datos cinéticos en bruto. La máquina lee el código bloque por bloque (línea por línea) de arriba a abajo.
Aquí hay una base fundamental Ejemplo de código G de un solo bloque:
N010 G01 X50.0 Y25.0 F250.0
Como ingeniero, así es como se decodifica esa sintaxis:
- N010: El número de bloque (Línea 10).
- G01: El código preparatorio (interpolación lineal: moverse en línea recta mientras se corta).
- X50.0 Y25.0: Las coordenadas cartesianas objetivo (mover a X=50 mm, Y=25 mm).
- F250.0: La velocidad de avance (moverse exactamente a 250 milímetros por minuto).
El controlador CNC toma esta línea, calcula el voltaje exacto necesario para que los servomotores X e Y alcancen el destino simultáneamente y ejecuta el corte.
¿Qué significan las siglas M Code?
No se puede operar una máquina utilizando únicamente la geometría. La máquina cuenta con componentes físicos que deben activarse y desactivarse: bombas de refrigerante, motores del husillo, mandriles hidráulicos y transportadores de virutas.

Esto nos lleva a la segunda mitad del ecosistema. Cuando la gente busca ¿Qué significan los códigos G y M?, Están intentando separar la geometría del hardware.
Entonces, ¿Qué significa el código M?¿La “M” significa Misceláneas o Máquina códigos.
Mientras que los códigos G controlan el camino de la herramienta, ¿Qué es el código M?Se trata del relé de conmutación digital. Los códigos M no mueven los ejes. Envían señales eléctricas al PLC (Controlador Lógico Programable) de la máquina para activar estados físicos del hardware.
Si desea que el husillo gire en el sentido de las agujas del reloj a 5000 RPM, la geometría (código G) no puede ayudarle. Debe utilizar un código M (M03 S5000). Si desea inundar la zona de corte con refrigerante sintético para evitar que el titanio se incendie, emita un código M (M08).
La matriz de ingeniería: jerarquía de códigos G y M
Cuando los programadores junior comienzan su formación, inevitablemente buscan en Internet una gran cantidad de Lista de códigos g en formato PDF y trata de memorizarlo. Es una tarea inútil.
Diferente fabricantes de máquinas (Haas, Fanuc, Siemens, Heidenhain) tienen ligeras variaciones en sus diccionarios de códigos. Sin embargo, los códigos fundamentales son universales. A continuación se muestra la estricta matriz de ingeniería que utilizamos en eptahub.com para definir los comandos críticos absolutos en un lista de códigos G y la lista de códigos M.
Tabla 1: Referencia esencial de ingeniería del Código G y M
| Dominio | Categoría | Nombre en clave | Función de la ingeniería y realidad física |
|---|---|---|---|
| G00 | Geometría | Posicionamiento rápido | Peligro. Mueve todos los ejes a la coordenada objetivo a la velocidad física máxima de la máquina. Nunca Utilice esto mientras la herramienta esté en contacto con el metal. |
| G01 | Geometría | Interpolación lineal | La herramienta de trabajo. Mueve la herramienta en línea recta a una velocidad de avance estrictamente controlada (valor F). Se utiliza para cortar metal. |
| G02 / G03 | Geometría | Interpolación circular | Mueve la herramienta describiendo un arco o círculo perfecto (G02 es en sentido horario, G03 es en sentido antihorario). Calcula movimientos complejos simultáneos de ejes. |
| G90 | Sistema | Posicionamiento absoluto | Indica a la máquina: “Lee todas las coordenadas X, Y, Z relativas al punto de origen cero absoluto de la pieza de trabajo”.” |
| G91 | Sistema | Posicionamiento incremental | Le dice a la máquina: “Lea todas las coordenadas X, Y, Z relativas a donde se encuentra actualmente la herramienta.” |
| M00 | Máquina | Programa detenible | Pausa la máquina indefinidamente. Los operarios la utilizan para abrir las puertas, retirar las virutas metálicas o girar una pieza manualmente. |
| M03 / M04 | Máquina | Arranque del husillo | Activa el potente motor eléctrico del husillo. M03 es Avance (en sentido horario), M04 es Retroceso. Requiere un valor 'S' (RPM). |
| M06 | Máquina | Cambio de herramienta | Activa el carrusel robótico del cambiador automático de herramientas (ATC) para sustituir la fresa actual por una nueva. |
| M08 / M09 | Máquina | Estado del refrigerante | El botón M08 abre las válvulas para proyectar refrigerante líquido a alta presión sobre la herramienta. El botón M09 cierra las válvulas. |
| M30 | Máquina | Fin del programa | Detiene el husillo, apaga el refrigerante, rebobina la memoria de la máquina hasta la línea 1 y libera las abrazaderas hidráulicas. |
El concepto de “modalidad” en la programación con código G.
Si quieres entender programación con código G En un nivel superior de ingeniería, debes comprender el concepto de Modales vs. No modales comandos. Aquí es donde ocurren 90% errores de programación.
- Comandos modales: Una vez ejecutado un código G modal, este permanece activo de forma permanente hasta que se cancele explícitamente o se sobrescriba con un código contradictorio.
- Ejemplo: Si escribes
G01 X10.0 Y10.0 F100En la línea 1, la máquina entra en “modo de corte controlado”. Si la línea 2 es simplementeX20.0, La máquina recuerda las coordenadas G01 y F100, y continuará cortando hasta la nueva coordenada X a la misma velocidad.
- Ejemplo: Si escribes
- Comandos no modales: Estas instrucciones solo se ejecutan en la línea exacta en la que están escritas y la máquina las olvida inmediatamente en la siguiente línea. (Por ejemplo, G04 Tiempo de permanencia).
Caso práctico de ingeniería: La catástrofe del G90 frente al G91
Para ilustrar por qué es importante comprender las definiciones estrictas de ¿Qué son el código G y el código M? Es innegociable; considere un análisis de falla catastrófica que me pidieron que investigara en un proveedor aeroespacial de nivel 2.
El escenario: El proveedor estaba mecanizando una carcasa de turbina compleja de Inconel 718 (una superaleación increíblemente dura y resistente al calor) utilizando una fresadora CNC DMG Mori de 5 ejes. El programador CAM realizó una modificación manual en el archivo de texto al final del programa para elevar la herramienta y taladrar un último orificio.

El código escrito:
N500 G91 G00 Z50.0 (Mueva la herramienta 50 mm hacia arriba) incrementalmente desde su posición actual para despejar la parte).
N510 X10.0 Y10.0 (Muévase a la posición final del hoyo).
N520 G01 Z-5.0 F50.0 (Introduzca la broca 5 mm para perforar el agujero).
El fracaso: La máquina ejecutó la línea N500 a la perfección, levantando la herramienta sin problemas. Ejecutó la N510, desplazándose sobre el orificio. Pero en la línea N520, el husillo empujó violentamente la broca de carburo sólido de 20 mm directamente a través de la pieza de Inconel, atravesando el dispositivo de sujeción de acero endurecido, y directamente contra la mesa de hierro fundido de la máquina. La herramienta explotó, los cojinetes del husillo se aplastaron y la máquina se desalineó. Daños totales: $35 000 y 4 semanas de inactividad.
La causa raíz de la ingeniería:
El programador malinterpretó fundamentalmente los comandos modales.
En la línea N500, el programador emitió G91 (Posicionamiento incremental). Esto es un Modal comando. Alteró por completo el cerebro de la máquina.
Cuando la máquina llegó a la línea N510 (X10.0 Y10.0), no se movió a las coordenadas absolutas de X10/Y10. Debido a que G91 estaba activo, se movió 10 mm más. lejos desde dondequiera que estuviera en ese momento.
Peor aún, cuando llegó a la línea N520 (Z-5.0), el programador pensó que le estaban indicando a la máquina que perforara un agujero de 5 mm de profundidad en la pieza. Pero la máquina seguía en modo G91 (incremental). La máquina pensó: “Muévete 5 mm más hacia abajo desde mi posición Z actual.” La herramienta se encontraba suspendida a 50 mm del suelo. Al bajarla 5 mm, quedó a 45 mm por encima de la pieza. No cortó nada.
Espera, ¿por qué se bloqueó entonces?
El programador había configurado previamente la máquina en modo absoluto al principio del programa y asumió que la máquina volvería mágicamente a ese modo. No emitieron un G90 Comando de Posicionamiento Absoluto antes de la línea N520. Si hubieran escrito N520 G90 G01 Z-5.0 F50.0, La máquina habría sabido descender hasta la coordenada Z absoluta de -5,0 mm. En cambio, la máquina se perdió irremediablemente en el espacio, realizando movimientos incrementales hasta que colisionó con masa física.
Por eso, en eptahub.com no toleramos modificaciones manuales del código G en la planta de producción sin una verificación rigurosa mediante simulación. El código G no tiene lógica; simplemente ejecuta la lógica matemática exacta que se le proporciona.
¿Cómo genera el software CAM moderno el código G?
En la década de 1980, los operadores de CNC se paraban frente al controlador de la máquina y tecleaban manualmente cada una de las líneas de un programa de código G. Hoy en día, en eptahub.com, un impulsor aeroespacial complejo de 5 ejes podría requerir un archivo de texto con 4,5 millones de líneas de código. Es matemáticamente imposible que un ser humano lo escriba o verifique manualmente.
Aquí es donde el software CAM (Fabricación Asistida por Ordenador) se convierte en el puente vital.
Cuando un ingeniero junior pregunta ¿Qué es el código G en una máquina CNC? En la terminología actual, en realidad se refieren al resultado de un sistema CAM (como Siemens NX, Mastercam o Fusion 360). El software CAM toma el modelo CAD 3D, permite al programador definir visualmente las herramientas de corte, las velocidades y las trayectorias, y luego traduce matemáticamente esas trayectorias visuales a caracteres alfanuméricos. ejemplos de código G.
Sin embargo, existe un obstáculo crítico, a menudo mal entendido, en este proceso: El Postprocesador.
El Postprocesador: El intérprete CNC definitivo
Una idea errónea común es que el código G estándar es universalmente idéntico en todas las máquinas. Esto es falso. Si bien los conceptos fundamentales de ¿Qué significan los códigos G y M? Sigue siendo cierto que un controlador Fanuc utiliza un "dialecto" de código G ligeramente diferente al de un controlador Haas o Heidenhain.
- El problema: Si se envía un archivo de código G con formato Haas a una máquina Fanuc, la máquina podría interpretar erróneamente un código M, no activar el refrigerante e incendiar la pieza de trabajo de titanio.
- La solución: El postprocesador. Se trata de un script específico dentro del software CAM que traduce los datos genéricos de la trayectoria de la herramienta al archivo de texto exacto y con formato preciso que requiere la marca, el modelo y la antigüedad de la máquina en cuestión. Si el postprocesador falla, su máquina CNC $500,000 se bloqueará, independientemente de la perfección del modelo CAD.
Programación avanzada con código G: Sistemas de coordenadas de trabajo (G54-G59)
Si le entregas a un maquinista un bloque de aluminio en bruto, lo atornillas a una mordaza de acero dentro de la máquina y presionas "Iniciar", la máquina tiene un problema fundamental: está ciega. Sabe dónde está su propio husillo, pero no tiene ni idea de dónde se encuentra físicamente el bloque de aluminio en el vasto espacio que ocupa la máquina.
Para resolver esto, programación con código G Se basa en sistemas de coordenadas de trabajo (WCS).
En lugar de escribir un extenso lista de códigos g tratando de calcular la distancia exacta desde la posición absoluta de inicio de la máquina a cada característica de la pieza, usamos G54 a G59.
- Cómo funciona: El operario toca físicamente con una sonda la esquina del bloque de aluminio en bruto. Le indica a la máquina: “Esta ubicación exacta en el espacio es ahora X0, Y0, Z0. Guarda esta ubicación en el registro de memoria G54”.”
- El código: En la parte superior del programa, el software CAM genera:
G54. - El resultado: A partir de ese punto, cada coordenada del programa se calcula en relación con esa esquina específica del bloque de aluminio. Si desatornillamos la mordaza y la movemos 25 cm a la izquierda, no es necesario reescribir las 4 millones de líneas de código. El operador simplemente vuelve a sondear la esquina, actualiza el registro G54 en la computadora de la máquina y presiona Iniciar. El programa se desplaza 25 cm a la izquierda sin problemas.
Control de precisión: Compensación del radio de corte (G41 / G42)
Uno de los problemas más complejos de la ingeniería mecánica en el mecanizado es el desgaste de las herramientas.
Imagina que escribes un programa para cortar una ranura de exactamente 20,00 mm de ancho, utilizando una fresa de carburo sólido de 10,00 mm de diámetro. El código ordena al centro de la herramienta que se desplace exactamente por el centro de la ranura.
Sin embargo, tras cortar 50 piezas de acero, la fricción desgasta la herramienta. La fresa de 10,00 mm ahora tiene un diámetro físico de 9,96 mm. Debido a que la herramienta es más pequeña, la ranura que corta será de tamaño inferior al requerido, y el departamento de control de calidad de eptahub.com rechazará la pieza.
¿Es necesario volver al software CAM, cambiar el diámetro de la herramienta a 9,96 mm, regenerar todo el programa y enviar un nuevo archivo a la máquina? No. Utilizamos la compensación del radio de corte.
- G41 (Compensación de corte izquierda): Indica a la máquina que cambie dinámicamente la trayectoria de la herramienta a la izquierda del contorno programado.
- G42 (Compensación de corte derecha): Indica a la máquina que cambie dinámicamente la trayectoria de la herramienta a la bien del contorno programado.
- G40: Cancela la compensación.
El flujo de trabajo de ingeniería:
Cuando la máquina lee G41 D01, El sistema consulta el registro interno de desgaste (D01) de la máquina. El operador ha introducido "-0,04 mm" en dicho registro. Sin modificar ni una sola línea del archivo de texto original, el controlador CNC recalcula matemáticamente toda la trayectoria de la herramienta, desplazándola 0,02 mm (el radio de desgaste) para compensar perfectamente el desgaste de la herramienta.
Este es el culmen de la comprensión. ¿Qué son el código G y el código M?. No se trata solo de hacer que la máquina se mueva; se trata de proporcionarle las variables dinámicas necesarias para mantener tolerancias a nivel micrométrico en un entorno físicamente degradante.
El veredicto del ingeniero: Deja de memorizar, empieza a simular.
Cuando es nuevo ingenieros de fabricación Únete a mi equipo, con frecuencia me piden un Lista de códigos g en formato PDF para que puedan memorizar cada orden. Me niego a darles una.
Memorizándolo G83 Un “ciclo de perforación por picoteo” es inútil si no se comprende la física de la evacuación de virutas que hace necesaria la perforación por picoteo. Saber ¿Qué significa el código M? es irrelevante si no entiendes que activar M08 (Refrigerante activado) después Si la herramienta se introduce en acero endurecido, provocará un choque térmico catastrófico y destrozará el carburo.
La ingeniería CNC moderna se basa en la verificación mediante gemelos digitales. Procesamos el código G final con software avanzado de simulación cinemática (como Vericut). Este software crea una réplica virtual de la máquina CNC, lee el código G línea por línea y predice colisiones, golpes y sobrepasos de ejes antes de que el código llegue a la planta de producción.
El código G es el último e inflexible vínculo entre el diseño digital y la realidad física. Respeta su rigidez, verifica su lógica computacionalmente y nunca des por sentado que la máquina sabe lo que "querías" hacer. Solo sabe exactamente lo que has escrito.
Referencias
Para garantizar su Los protocolos de programación de fabricación se ajustan a los estándares industriales globales., Consulte los siguientes recursos definitivos:
- ISO 6983-1:2009 (Sistemas de automatización e integración — Control numérico de máquinas)
El estándar de referencia reconocido internacionalmente que rige el formato de datos para sistemas de posicionamiento, movimiento lineal y control de contornos (la definición global oficial del código G).
Enlace: ISO.org - ASME Y14.5-2018 (Dimensionamiento y tolerancias)
Si bien no se trata de un manual de programación, este es el estándar de ingeniería definitivo para GD&T (Dimensionamiento y Tolerancia Geométrica). Un programador no puede escribir correctamente los cambios de referencia del sistema de coordenadas de trabajo (G54) en código G sin comprender las estrictas referencias geométricas definidas en este estándar.
Enlace: ASME.org







