CNC CODIGOS G
- solucioneszener
- Jun 11
- 14 min read
Updated: Jun 23

Lista de códigos G que se encuentran comúnmente en FANUC y controles diseñados de manera similar para fresado y torneado.
Nota 1: Modal significa que el código permanece vigente hasta que sea reemplazado o cancelado por otro código permitido. No Modal significa que se ejecuta solo una vez. Véase, por ejemplo, los códigos G09, G61 y G64 a continuación.
Nota 1: Torno Tipo A significa Torno con eje Z horizontal. Torno Tipo B significa Torno con eje Z Vertical, en muchos casos hay fresadoras con Eje Rotativo agregado (se acostumbra llamarlo 4to) donde pueden utilizar su eje Z como si fuera un Torno, pero los controles siguen siendo los de una fresadora, en este caso se pueden utilizar controles para Fresa o Torno tipo B.
Código | Descripción | Fresa ( M ) | Torno ( T ) | Información Complementaria |
G00 | Movimiento Rápido | M | T | En movimientos de 2 o 3 ejes, G00 (a diferencia de G01) Mueve cada eje a su velocidad máxima hasta alcanzar su valor vectorial. Los vectores más cortos suelen terminar primero (con velocidades de eje similares). Esto es importante por que puede producir un movimiento en forma de L o de un palo de hockey, que el programador debe considerar, dependiendo de los obstáculos cercanos, para evitar un choque. Algunas máquinas ofrecen rápidos interpolados para facilitar la programación (se asume que se trata de una línea recta). |
G01 | Interpolación Lineal | M | T | El código más común para el avance durante un corte. El programa especifica los puntos inicial y final, y el control calcula automáticamente (interpola) los puntos intermedios que deben atravesarse para obtener una línea (de ahí el término “lineal”). A continuación, el control calcula las velocidades angulares a las que girar los husillos de avance del eje mediante sus servomotores o motores de paso. El ordenador realiza miles de cálculos por segundo y los motores reaccionan rápidamente a cada entrada. De este modo, la trayectoria real del mecanizado se realiza con la velocidad de avance dada en una trayectoria que es lineal con precisión dentro de límites muy estrechos. |
G02 | Interpolación circular, en sentido horario | M | T | Concepto muy similar al de G01. De nuevo, el control interpola puntos intermedios y ordena a los servomotores o motores de paso que giren la cantidad necesaria para que el husillo adapte el movimiento a la posición correcta de la punta de la herramienta. Este proceso, repetido miles de veces por minuto, genera la trayectoria deseada. En el caso de G02, la interpolación genera un círculo en lugar de una línea. Al igual que con G01, la trayectoria real del maquinado se realiza con la velocidad de avance dada en una trayectoria que coincide con precisión con la ideal (en el caso de G02, un círculo) dentro de límites muy estrechos. |
G03 | Interpolación circular, en sentido contra-horario | M | T | Misma información complementaria que G02. |
G04 | Período de Espera | M | T | Toma una dirección para el período de espera (puede ser X, U o P). El período de espera se especifica mediante un parámetro de control, generalmente establecido en milisegundos. Algunas máquinas pueden aceptar X1.0 (s) o P1000 (ms), que son equivalentes. Elección de la duración de la espera: A menudo, la espera solo necesita durar una o dos rotaciones completas del husillo. Esto suele ser mucho menos de un segundo. Tenga en cuenta al elegir un valor de duración que una espera larga es una pérdida de tiempo de ciclo. En algunas situaciones no importará, pero para la producción repetitiva de algo volumen (más de miles de ciclos), vale la pena calcular que quizás solo necesite 100 ms, y puede decir 200 para estar seguro, pero 1000 es simplemente una pérdida (demasiado tiempo). |
G05 P10000 | Control de Contorno de Alta Precisión (HPCC) | M | Utiliza una memoria intermedia de anticipación profunda y procesamiento de simulación (búfer) para proporcionar una mejor aceleración y desaceleración del movimiento del eje durante el fresado de contornos. | |
G05.1 Q1. | Control de vista previa avanzado de AI | M | Utiliza un búfer de anticipación profundo y un procesamiento de simulación para evitar una mejor aceleración y desaceleración del movimiento del eje durante el fresado de contornos. | |
G06.1 | Maquinado de curvas no uniformes (NURBS) | M | Activa la Curva No Uniforme para el maquinado de curvas y formas de onda complejas (este código está confirmado en la programación ISO de Mazatrol 640M). | |
G07 | Interpolación Cilíndrica | M | T | Permite que la herramienta se mueva a lo largo de la superficie de un cilindro siguiendo una trayectoria curva. Esta función es crucial para crear geometrías curvas precisas y suele utilizarse junto con otras instrucciones de código G, como G01 o G02/G03, para maniobrar a través de formas complejas. Configurar correctamente el sistema de coordenadas de la máquina es esencial para un uso eficaz de los comandos G07. Esto implica elegir un origen, establece los ejes de coordenadas, calibrar la herramienta, introducir los ajustes en el controlador CNC, comprobar la alineación y documentar la configuración. |
G09 | Comprobación de parada exacta, no modal | M | T | La versión modal es G61. |
G10 | Entrada de datos programable | M | T | Modifica el valor de las coordenadas de trabajo y las compensaciones de la herramienta. |
G11 | Cancelar escritura de datos | M | T | Una vez que se comanda G11, cancela el modo iniciado por G10, permitiendo el ingreso de múltiples parámetros en bloques subsiguientes hasta que se cancele. |
G17 | Selección de plano XY | M | ||
G18 | Selección de plano ZX | M | T | |
G19 | Selección de plano YZ | M | ||
G20 | Programación en pulgadas | M | T | Algo poco común, excepto en EE.UU. Y (en menor medida) en Canadá y el Reino Unido. Sin embargo, en el mercado global, la competencia con G20 y G21 siempre puede ser necesaria en cualquier momento. El incremento mínimo habitual en G20 es de una diezmilésima de pulgada (0.0001”), que es una distancia mayor que el incremento mínimo habitual en G21 (una milésima de milímetro, 0.001 mm, es decir, un micrómetro). Esta diferencia física a veces favorece la programación con G21. |
G21 | Programación en milímetros (mm) | M | T | Predomina a nivel mundial. Sin embargo, en el mercado global, la competencia con el G20 y el G21 siempre puede ser necesaria en cualquier momento. |
G28 | Regresar a la posición inicial (cero de la máquina, también conocido como punto de referencia de la máquina) | M | T | Toma direcciones X, Y, Z que definen el punto intermedio por el que pasará la punta de la herramienta en su camino al cero de la máquina. Se refieren al cero de la pieza (también conocido como cero del programa), NO del cero de la máquina. |
G30 | Regresar a la posición inicial secundaria (cero de la máquina, también conocido como punto de referencia de la máquina) | M | T | Toma una dirección P que especifica el punto cero de la máquina a utilizar si la máquina tiene varios puntos secundarios (P1 a P4). Toma direcciones X, Y, Z que definen el punto intermedio por el que pasa la punta de la herramienta en su camino al cero de la máquina. Estas se expresan en términos del cero de la pieza (también conocido como cero del programa), NO del cero de la máquina. |
G31 | Función de alimentación hasta saltar | M | Se utiliza para sondas y sistemas de medición de longitud de herramientas. | |
G32 | Roscado de un solo punto al estilo manual (si no se utiliza un ciclo, ej., G76) | T | Similar a la interpolación lineal G01, excepto con sincronización automática del husillo para roscado de un solo punto. | |
G33 | Roscado de paso constante | M | En el maquinado CNC Fanuc, este código permite crear roscas con un paso y una profundidad específicos. El paso se define mediante el parámetro F, mientras que la profundidad de la rosca se controla mediante el parámetro Z. | |
G33 | Roscado de un solo punto, estilo manual (si no se utiliza un ciclo, por ejemplo, G76) | T | Algunos controles de torno asignan este modo a G33 en lugar de G32. | |
G34 | Roscado de paso variable | M | Este código es esencial para producir roscas con cambios de paso a lo largo del tornillo, lo cual no es posible con el código estándar G32. La sintaxis de G34 es “G34 X_Z_F_K_Q_”; donde X_ y Z_ definen las coordenadas, F_ es el paso al inicio del avance de la rosca, K_ especifica el cambio de paso por revolución del tornillo y Q_ es un parámetro opcional para especificar el número de roscas a cortar. | |
G40 | Compensación del radio de la herramienta desactivada | M | T | Desactivar la compensación del radio de corte (CRC). Cancela G41 o G42. |
G41 | Compensación del radio de la herramienta a la izquierda | M | T | Activar la compensación de la herramienta del corte (CRC), izquierda, para fresado ascendente.• Fresado: Con una herramienta de hélice derecha y una dirección de husillo M03, G41 corresponde al fresado ascendente (fresado descendente). Toma una dirección (D o H) que llama a un valor de registro de compensación para el radio. • Torneado: A menudo no se necesita una dirección D o H en los tornos, ya que la herramienta activa llama automáticamente a sus compensaciones geométricas. (Cada estación de torreta está vinculada a su registro de compensación geométrica). • G41 y G42 para fresado se ha automatizado parcialmente y se han eliminado (aunque no por completo) desde que la programación CAM se ha generalizado. Los sistemas CAM al usuario programar como si usara una herramienta de diámetro cero. El concepto fundamental de la compensación del radio de la herramienta sigue vigente (es decir, que la superficie producida estará a una distancia R del centro de la herramienta), pero la mentalidad de programación es diferente. El usuario no organiza la trayectoria de la herramienta con atención consciente y minuciosa a G41, G42 y G40, ya que el software CAM se encarga de ello. El software tiene varias selecciones de modo CRC, como computadora, control, desgaste, desgaste inverso, desactivado, algunas de las cuales no usan G41/G42 en absoluto (bueno para desbaste o tolerancias de acabado amplias) y otras que lo usan para que el desplazamiento de desgaste aún se pueda ajustar en la máquina (mejor para tolerancias de acabado correctas). |
G42 | Compensación del radio de la herramienta a la derecha | M | T | Activa la compensación de la herramienta de corte (CRC) a la derecha para el fresado convencional. Información de corolario similar a la de G41. Con una herramienta de hélice a la derecha y una dirección de husillo M03, G42 corresponde al fresado convencional (fresado ascendente). |
G43 | Compensación de altura de herramienta negativa | M | Toma una dirección, generalmente H, para llamar al valor del registro de compensación de longitud de herramienta. El valor es negativo por que se sumará a la posición de la línea de calibración. G43 es la versión más común (en comparación con G44). | |
G44 | Compensación de altura de herramienta positiva | M | Toma una dirección, generalmente H, para llamar al valor del registro de compensación de longitud de herramienta. El valor es positivo por que se restará de la posición de la línea de calibración. G44 es la versión menos utilizada (en comparación con G43). | |
G45 | Aumento singular del desplazamiento del eje | M | ||
G46 | Disminución singular del desplazamiento del eje | M | ||
G47 | Aumento doble del desplazamiento del eje | M | ||
G48 | Disminución doble del desplazamiento del eje | M | ||
G49 | Cancelación de la compensación del desplazamiento de la longitud de la herramienta | M | Cancela G43 o G44. | |
G50 | Definir la velocidad máxima del husillo | T | Toma el valor de S, que se interpreta como rpm. Sin esta función, del modo G96 (CSS) aceleraría el husillo al máximo al acercarse al eje de rotación. | |
G50 | Cancelar función de Escala | M | ||
G50 | Registro de posición (programación del vector desde cero de la pieza hasta la punta de la herramienta) | T | El registro de posición es uno de los métodos originales para relacionar el sistema de coordenadas de la pieza (programa) con la posición de la herramienta, que indirectamente lo relaciona con el sistema de coordenadas de la máquina, la única posición que el control realmente “conoce”. Ya no se programa comúnmente por que G54 a G59 (WCS) son un método mejor y más nuevo. Llamado a través de G50 para torneado, G92 para fresado. El registro de posición aún puede ser útil para la programación de cambio de referencia. El interruptor “manual absoluto”, que tiene muy pocas aplicaciones útiles en contextos WCS, fue más útil en contextos de registro de posición, por que permitía al operador mover la herramienta a cierta distancia de la pieza (por ejemplo, tocando un calibre de 2.0000”) y luego declarar al control cuál será la distancia restante (2.0000). | |
G52 | Sistema de coordenadas local (LCS) | M | Desplaza temporalmente el cero del programa a una nueva ubicación. Es simplemente “un desplazamiento desde un desplazamiento”, es decir, un desplazamiento adicional añadido al desplazamiento WCS. Esto simplifica la programación en algunos casos. El ejemplo típico es el desplazamiento de una pieza a otra en una configuración multiparte. Con G54 activo, G52 X140.0 Y170.0 desplaza el cero del programa 140 mm en X y 170 mm en Y. Una vez terminada la pieza “allá”, G52 X0.0 Y0.0 devuelve el cero del programa a G54 normal (reduciendo el desplazamiento del G52 a cero). El mismo resultado también se puede lograr (1) utilizando múltiples orígenes WCS, G54/G55/G56/G57/G58/G59; (2) en controles más nuevos, G54.1 P1/P2/P3/ etc. (hasta P48); o (3) utilizando G10 para la entrada de datos programables, en la que el programa puede escribir nuevos valores de desplazamiento en los registros de desplazamiento. El método a utilizar depende de la aplicación específica del trabajo. | |
G53 | Sistema de coordenadas de la máquina | M | T | Toma coordenadas absolutas (X, Y, Z, A, B, C) con referencia al cero de la máquina en lugar del cero del programa. Puede ser útil para cambios de herramienta. No modal y solo absoluto. Los bloques posteriores se interpretan como “de vuelta a G54”, incluso si no se programa explícitamente. |
G54 al G59 | Sistemas de coordenadas de trabajo (WCS) | M | T | Se han reemplazado en gran medida los registros de posición (G50 y G92). Cada posición de desplazamiento de eje relaciona directamente el creo del programa con el cero de la máquina. El estándar es de 6 posiciones (G54 al G59), con posibilidad de ampliación a 48 más mediante G54.1 P1 al P48. |
G54.1 P1 al P48 | Sistema de coordenadas de trabajos adicionales | M | T | Hasta 48 WCS adicionales, además de los 6 proporcionados de serie por G54 al G59. Nótese la extensión de punto flotante del tipo de datos de código G (anteriormente, todos enteros). También han evolucionado otros ejemplos (ej., G84.2). Los controles modernos cuentan con el hardware necesario para gestionarlo. |
G61 | Comprobación de parada exacta, modal | M | T | Se puede cancelar con G64. La versión no modal es G09. |
G62 | Sobremarcha automática en las esquinas | M | T | |
G64 | Modo de corte predeterminado (cancelar el modo de verificación de parada exacta) | M | T | Cancela G61. |
G68 | Rotar el sistema de coordenadas | M | Gira el sistema de coordenadas en el plano actual especificado con G17, G18 o G19. El centro de rotación se proporciona con dos parámetros, que varían según la implementación de cada proveedor. Gira con el ángulo especificado con el argumento R. Esto puede usarse, por ejemplo, para alinear el sistema de coordenadas con una pieza desalineada. También puede usarse para repetir secuencias de movimiento alrededor de un centro. No todos los proveedores admiten la rotación del sistema de coordenadas. | |
G69 | Desactivar la rotación del sistema de coordenadas | M | Cancela G68. | |
G70 | Ciclo fijo, ciclo repetitivo múltiple, para acabado (incluidos contornos) | T | ||
G71 | Ciclo fijo, ciclo repetitivo múltiple, para desbaste (énfasis en el eje Z) | T | ||
G72 | Ciclo fijo, ciclo repetitivo múltiple, para desbaste (énfasis en el eje X) | T | ||
G73 | Ciclo fijo, ciclo repetitivo múltiple, para desbaste, con repetición de patrones | T | ||
G73 | Ciclo de taladrado por picos para fresado de alta velocidad (sin retracción completa de los picos) | M | Se retrae solo hasta un incremento de holgura (parámetro del sistema). Para cuando la rotura de viruta es la principal preocupación, pero no la obstrucción de las ranuras. Comparar con G83. | |
G74 | Ciclo de taladrado por picos para torneado | T | ||
G74 | Ciclo de roscado para fresado, rosca a izquierdas, dirección de husillo M04 | M | Leer las notas del G85. | |
G75 | Ciclo de ranurado por picos para torneado | T | ||
G76 | Ciclo de taladrado fino para fresado | M | Incluye OSS y cambio (tope del husillo orientado y herramienta de cambio fuera de la línea central para retracción. | |
G76 | Ciclo de roscado para torneado, ciclo repetitivo múltiple. | T | ||
G80 | Cancelar ciclo fijo | M | Cancela todos los ciclos como G73, G81, G83, etc. El eje Z regresa al nivel inicial Z o al nivel R, según esté programado (G98 o G99, respectivamente). | |
G80 | Cancelar ciclo fijo | T | Generalmente no es necesario en los tornos, por que una nueva dirección G del grupo 1 (G00 a G03) cancela cualquier ciclo que estuviera activo. | |
G81 | M | Sin tiempo de espera incorporada. | ||
G82 | Ciclo de taladrado sencillo | M | Permanece en el fondo del barreno (profundidad Z) durante los milisegundos especificados por la dirección P. Ideal cuando el acabado del fondo del pozo es importante. Bueno para perforar puntos por que la hendidura se limpiará uniformemente. Tenga en cuenta la nota sobre la elección de la duración de la permanencia en G04. | |
G83 | Ciclo de taladrado por picoteo (retracción completa de los picoteos) | M | Regresa al nivel R después de cada pico. Ideal para limpiar los filos de virutas. Comparar con G73. | |
G84 | Ciclo de roscado, sentido horario, dirección del husillo M03 | M | G74 y G84 son el “par” de mano derecha e izquierda para el roscado de la vieja escuela con un “par” de roscado variable, G84.2 y G84.3. | |
G84.2 | Ciclo de roscado, sentido horario, dirección de husillo M03, portaherramientas rígido. | M | Consulte las notas en G84. El roscado rígido sincroniza la velocidad y el avance según la hélice de la rosca deseada. Es decir, sincroniza los grados de rotación del husillo con las micras del recorrido axial. Por lo tanto, puede utilizar un portaherramientas rígido para sujetar el macho. Esta función no está disponible en máquinas antiguas ni en máquinas nuevas de gama baja, que deben utilizar el movimiento del cabezal roscado (G74/G84). | |
G84.3 | Ciclo de roscado, sentido anti-horario, dirección de husillo M04, portaherramientas rígido. | M | Consulte las notas de G84 y G84.2. | |
G85 | Ciclo de Barrenado, alimentación de entrada/salida | M | • Buen ciclo para un Barreno. • En algunos casos es bueno para una herramienta de Barrenado en un solo punto, aunque en otros casos la falta de profundidad de corte en el camino de regreso es mala para el acabado de la superficie, en cuyo caso, se puede utilizar G76 (OSS/shift) en su lugar. | |
G86 | Ciclo de Barrenado, con parada al final sin retirada. | M | El Barreno deja una ligera raya al salir. Es un ciclo adecuado para algunas aplicaciones; para otras, se puede usar G76 (OSS/desplazamiento). | |
G87 | Ciclo de Barrenado. Barrenado inverso. | M | Para Barrenado inverso. Solo se retorna al nivel inicial (G98); este ciclo no puede usar G99 por que su nivel R está en el extremo opuesto de la pieza, lejos del cabezal del husillo. | |
G88 | Ciclo de Barrenado, alimentación en/parada del husillo/operación manual | M | ||
G89 | Ciclo de Barrenado, alimentación de entrada/espera/alimentación de salida | M | G89 es como G85 pero con un fondo de agujero añadido. | |
G90 | Programación Absoluta | M | T(B) | Posicionamiento definido con referencia al cero pieza. • Fresado: Siempre como se indica arriba. • Torneado: A veces como se indica arriba (grupo Fanuc tipo B y diseños similares), pero en la mayoría de los tornos (grupo Fanuc tipo A y diseños similares), G90/G91 no se utilizan para los modos absoluto/incremental. En su lugar, U y W son las direcciones incrementales y X y Z son las direcciones absolutas. En estos tornos, G90 es una dirección de ciclo fija para desbaste. |
G90 | Ciclo Fijo, Ciclo Simple, para desbastado (enfocado en eje-Z) | T(A) | Cuando no sirve para programación absoluta. | |
G91 | Programación Incremental | M | T(B) | Posicionamiento definido con referencia a la posición anterior. • Fresado: Siempre como se indica arriba. • Torneado: En ocasiones como se indica arriba (grupo Fanuc tipo B y diseño similar), G90/G91 no se utilizan para los modos absoluto/incremental. En su lugar, U y W son las direcciones incrementales y X y Z son las direcciones absolutas. En estos tornos, G90 es una dirección de ciclo fija para desbaste. |
G92 | Registro de Posición (programación de vector desde Cero de Parte hasta la punta de la herramienta) | M | T(B) | Información complementaria similar a la del registro de posición G50. • Fresado: Siempre igual que el anterior. • Turning: A veces igual que el anterior (grupo Fanuc tipo B y diseño similar), pero en la mayoría de los tornos (grupo Fanuc tipo A y diseño similar), el registro de posición es G50. |
G92 | Ciclo de Roscado, Ciclo Simple | T(A) | ||
G94 | Avance por Minuto | M | T(B) | En torno tipo grupo A, la velocidad de avance por minuto es G98. |
G94 | Ciclo Fijo, Ciclo Simple, para desbastado (enfocado en eje-X) | T(A) | Cuando no se presta el servicio para la velocidad de avance por minuto (arriba) | |
G95 | Avance por Revolución | M | T(B) | En el torno tipo grupo A, la velocidad de avance por revolución G99. |
G96 | Velocidad Superficial Constante (Constant Surface Speed CSS) | T | Varía automáticamente la velocidad del husillo para lograr una velocidad superficial constante. Consulte velocidades y avances. Toma un entero de dirección S, que se interpreta como sfm en modo G20 o como m/min en modo G21. | |
G97 | Velocidad Constante del Husillo | M | T | Valor de velocidad S que se interpreta como rpm. El modo de velocidad predeterminado por parámetro del sistema si no se programa ningún modo. |
G98 | Regresar al nivel Z inicial del ciclo enlatado | M | ||
G98 | Avance por Minuto (Torno tipo A) | T(A) | La velocidad de avance por minuto es G94 en el tipo de grupo B. | |
G99 | Regresar al nivel R en ciclo enlatado | M | ||
G99 | Avance por Revolución (Tornos tipo A) | T(A) | La velocidad de avance por revolución es G95 en el tipo de grupo B. | |
G100 | Medidas de longitud de la herramienta | M |




