Lista de Códigos G y M para Programación CNC
Busca y filtra comandos ISO por control, máquina o función.
El lenguaje de programación CNC se basa en bloques de código estructurados para controlar trayectorias, avances y funciones de la máquina herramienta. En esta lista de códigos G y M encontrarás una referencia rápida de los comandos más utilizados en mecanizado para torno y fresadora. Aunque existe un estándar ISO, la ejecución exacta de un ciclo fijo o una interpolación avanzada puede variar según el control numérico Fanuc, Heidenhain, Siemens, Haas y los parámetros del fabricante.
Agregar mis códigosCerrar mis códigos
FiltrosCerrar filtros
G01
Interpolación lineal
Movimiento lineal controlado con avance programado.
Sintaxis / ejemplo
G01 X25 F180
Máquina: Fresado, Torneado, Torno-fresa, Láser / corte
Riesgo: Medio
Controles: ISO común, Fanuc, Haas, Heidenhain
ISO común
G01 X... Y... Z... F...
- Puede ser modal según control y configuración de máquina.
- Comprueba siempre el manual del fabricante antes de usarlo en producción.
Fanuc
G01 X... Y... Z... F...
- En torno, F puede estar en mm/vuelta con G95 o mm/min con G94.
Haas
G01 X... Y... Z... F...
- Respeta el modo de avance activo G94/G95.
Heidenhain
L X... Y... Z... F...
- En Heidenhain conversacional se usa L para trayectoria lineal.
G00
MovimientoPosicionamiento rápido
Movimiento rápido hasta una coordenada sin controlar avance de corte.
G01
MovimientoInterpolación lineal
Movimiento lineal controlado con avance programado.
Máquina: Fresado, Torneado, Torno-fresa, Láser / corte
Control: ISO común, Fanuc, Haas, Heidenhain
Riesgo: Medio
G02
MovimientoInterpolación circular horaria
Arco circular en sentido horario en el plano activo.
G02.1/G03.1
InterpolaciónInterpolación espiral (circular threading B)
Interpolación espiral CW/CCW: movimiento helicoidal continuo con paso variable; usado en roscado B y algunas operaciones de lapeado.
G02.2/G03.2
InterpolaciónInterpolación evolvente
Interpolación a lo largo de una evolvente de círculo (involute interpolation), usada en fabricación de engranajes.
G03
MovimientoInterpolación circular antihoraria
Arco circular en sentido antihorario en el plano activo.
G04
Control de programaPausa temporizada
Detiene temporalmente la ejecución durante un tiempo o número de revoluciones definido.
G05/G05.1
Alta velocidadAlta velocidad / AI contour
Activa funciones de mecanizado de alta velocidad, anticipación de trayectoria o control avanzado de contorno.
G5/G5.1/G5.2
Interpolación avanzadaSplines y NURBS
Interpolaciones por spline cúbica, spline cuadrática o NURBS en controles que lo soportan.
G05.4
Alta velocidadHRV3/HRV4 on/off
Activa o desactiva el control de corriente HRV3/HRV4 (High Response Vector) para mejorar la precisión de servo en alta velocidad.
G06.2
Alta velocidadInterpolación NURBS
Interpolación de curvas NURBS (Non-Uniform Rational B-Spline) directamente en el control, reduciendo puntos de bloque y mejorando la suavidad.
G07
InterpolaciónInterpolación eje hipotético
Define un eje hipotético (virtual) para interpolación; usado en mecanizado de piezas con simetría o para coordinar movimientos no físicos.
G7/G8
TornoModo diámetro/radio en torno
Selecciona si las coordenadas X de torno se interpretan como diámetro o radio según control.
G08/G09
TrayectoriaSuavizado y parada exacta puntual
Funciones usadas para activar/desactivar suavizado o exigir parada exacta en un bloque concreto según control.
G10
OffsetsEscritura de offsets
Permite escribir offsets de herramienta, trabajo u otros datos desde el programa.
G12/G13
Ciclos fresadoCajera circular
Ciclo de interpolación circular para mecanizar cajeras o patrones circulares según control.
G15/G16
CoordenadasCoordenadas polares
Activa o cancela programación en coordenadas polares, normalmente radio y ángulo.
G17/G18/G19
PlanoSelección de plano
Define el plano activo para arcos y compensaciones.
G20/G21
UnidadesUnidades pulgadas / milímetros
Selecciona programación en pulgadas o milímetros.
G22/G23
SeguridadLímites de carrera programados
Activa o desactiva comprobación de zona/límites almacenados según control.
¿Qué son los códigos preparatorios (G) y auxiliares (M)?
Los códigos G preparan y gobiernan el movimiento de la herramienta: desplazamientos rápidos, interpolación lineal, interpolación circular, ciclos fijos, planos de trabajo y compensaciones. Los códigos M controlan funciones auxiliares de la máquina como husillo, refrigerante, parada, cambio de herramienta o fin de programa.
Categorías principales de programación
Movimiento e interpolación (G00, G01, G02, G03)
G00 se usa para posicionamiento rápido, G01 para avance lineal de corte y G02/G03 para interpolación circular horaria o antihoraria. Son la base de la mayoría de programas CNC en fresadora y torno.
Ciclos fijos y subprogramas
Los ciclos fijos simplifican operaciones repetitivas como taladrado, roscado, mandrinado o desbaste. Su sintaxis cambia mucho entre controles, por lo que conviene validar siempre el manual de máquina.
Preguntas Frecuentes (FAQ)
¿Cuál es la diferencia entre un código G y un código M?
Los códigos G (preparatorios) definen la geometría y el movimiento de la herramienta, como interpolaciones lineales o ciclos de desbaste. Los códigos M (misceláneos o auxiliares) controlan el hardware de la máquina, como el encendido del husillo (M03), el refrigerante (M08) o el fin de programa (M30).
¿Los códigos G son universales para todos los tornos y fresadoras?
No totalmente. Aunque los movimientos básicos como G00, G01, G02 y G03 son universales, los ciclos fijos complejos, como G71 para desbaste o G83 para taladrado profundo, tienen sintaxis y parámetros diferentes según uses Fanuc, Haas, Siemens o Heidenhain.
¿Qué es y cuándo se usa el código G01?
G01 es el código de interpolación lineal. Se utiliza para ordenar a la herramienta que se mueva en línea recta hasta una coordenada específica a un avance de corte controlado y programado por la letra F.
¿Qué diferencia hay entre los códigos G90 y G91?
El código G90 establece el sistema de posicionamiento absoluto, donde todas las coordenadas se miden desde el cero pieza (origen). El G91 activa el posicionamiento incremental, donde cada nuevo movimiento se calcula desde la posición actual de la herramienta.
¿Para qué sirven los códigos G41 y G42 en mecanizado?
Estos códigos activan la compensación del radio de la herramienta o plaquita. G41 compensa la trayectoria hacia la izquierda del contorno programado según el sentido de avance, y G42 hacia la derecha. Se usan para mecanizar perfiles, chaflanes y radios con medidas exactas sin clavar la herramienta.
¿Cómo se cancelan los ciclos fijos y las compensaciones?
Para evitar colisiones, es obligatorio cancelar las funciones modales cuando ya no se necesitan. El código G80 cancela cualquier ciclo fijo activo, como los de taladrado. G40 cancela la compensación de radio de herramienta, y G49 cancela la compensación de longitud, muy usado en fresadora.
¿Cuáles son los códigos M auxiliares imprescindibles?
Los códigos de hardware más estandarizados son M03 (giro del husillo a derechas), M04 (giro a izquierdas), M05 (parada del husillo), M08 (encendido del refrigerante o taladrina), M09 (apagado del refrigerante) y M30 (fin del programa, detención de ejes y rebobinado).
¿Los ciclos fijos de Fanuc funcionan igual en otros controles?
No. Aunque los movimientos de interpolación (G00 a G03) son un estándar ISO muy extendido, la sintaxis de los ciclos complejos cambia. Por ejemplo, el ciclo de desbaste en torno es un G71 en Fanuc, pero en Siemens requiere una estructura de parámetros diferente, como CYCLE95.
¿Qué significa la letra F, S y T en el código CNC?
Acompañando a los códigos G y M, la letra F (Feed) define el avance de corte, la letra S (Speed) establece las revoluciones por minuto o la velocidad de corte del husillo, y la letra T (Tool) llama al número de la herramienta y su corrector en la torreta o cargador.
Herramientas relacionadas
Simulador y editor CNC
IDE CNC: edición con tooltips G/M, inspector de línea, conversión entre controles y trayectoria 2D/3D.
Guía Alarmas CNC
Guia de Alarmas y Soluciones CNC. Introduce el código de error o síntoma para encontrar la causa y cómo repararlo a pie de máquina.
Calcular TC (tiempo de ciclo)
Estima el tiempo de ciclo de un programa CNC: corte, rápidos, ciclos fijos, dwells y cambios de herramienta. Piezas/hora y desglose por partida.