Códigos G y códigos M: Explicación del lenguaje de máquinas CNC, incluyendo G90 G28 vs. G91 G28

Fresadora CNC para trabajar metales.
Los códigos G y M controlan el movimiento CNC y las funciones auxiliares. Aprenda sobre G00, G01, G90, G91, G28, compensaciones de trabajo e inicialización segura de programas FANUC.

Los códigos G y los códigos M son el lenguaje que entienden las máquinas CNC.

En el artículo anterior, explicamos los cinco sistemas principales de una máquina CNC y cómo funcionan en conjunto. En este artículo, nos adentramos en el mundo de la programación CNC aprendiendo los dos tipos principales de instrucciones que se utilizan para controlar una máquina herramienta.

Este artículo utiliza el formato de código CNC de FANUC como ejemplo principal.

Cuando comencé a trabajar en una fábrica, el programa no tenía ningún sentido para mí.

Todavía recuerdo cuando empecé a trabajar en una fábrica.

Mi instructor me entregó un trozo de papel cubierto de líneas como estas:

O0001
G94 G40 G49 G80
T01 M06
G90 G00 G54 X0. Y0.
S3000 M03
G43 H01 Z100.
G01 Z-5. F200
...
G00 Z50.
M09
G49
G91 G28 Z0.
M30

Él dijo:

Primero, aprende a leer esto.

Me quedé mirando el programa durante un buen rato. Reconocí algunas letras, pero casi todo lo demás me resultaba confuso.

Más tarde, descubrí que estos códigos siguen reglas claras y no son tan complicados como parecen en un principio.

Un programa CNC contiene principalmente dos tipos de instrucciones:

  1. Instrucciones que le indican a la herramienta de corte cómo mover
  2. Instrucciones que le dicen a la máquina ¿Qué función auxiliar activar?

El primer tipo se llama código G.

El segundo tipo se llama código M.

¿Cuáles son Códigos G y códigos M?

Los códigos G le indican a la herramienta de corte cómo moverse.

Los códigos G también se conocen como códigos de función preparatoria.

Su función principal es definir cómo se mueve la herramienta de corte, incluyendo:

  • Posicionamiento rápido
  • Corte lineal
  • Interpolación circular
  • Movimiento de coordenadas absolutas
  • movimiento de coordenadas incremental
  • Selección del sistema de coordenadas de trabajo
  • retorno de referencia de máquina

El código AG comienza con la letra G, seguido de dos dígitos.

Por ejemplo:

G00
G01
G54
G90

Antes de aprender los comandos individuales, es importante comprender la diferencia entre los códigos G modales y no modales.

Códigos G modales

Un código modal permanece activo después de haber sido programado.

Sigue afectando a los siguientes bloques de programa hasta que otro código G del mismo grupo lo reemplace.

Por ejemplo, después de programar:

G01

La máquina CNC seguirá utilizando la interpolación lineal en los siguientes bloques, incluso cuando G01 No se vuelve a escribir.

El modo permanece activo hasta que se reciba otra orden de movimiento, como por ejemplo: G00, G02, o G03, lo reemplaza.

Códigos G no modales

Un código no modal solo es efectivo en el bloque de programa donde aparece.

Se ejecuta una sola vez y no permanece activa en bloques posteriores.

Por ejemplo:

G04

Es un comando de pausa. Solo afecta al bloque de programa actual.

Códigos G y M esenciales para principiantes en CNC

Los siguientes comandos se encuentran entre los códigos más importantes para quienes se inician en la programación CNC. Las explicaciones que aparecen a continuación siguen la estructura y los ejemplos proporcionados en el artículo original.

G00 — Posicionamiento rápido

G00 Mueve la herramienta de corte a una posición específica a la velocidad de desplazamiento rápido de la máquina.

Normalmente se utiliza para posicionar, no para cortar.

Ejemplo:

G00 X100. Y50. Z200.

Este comando mueve rápidamente la herramienta hacia:

  • X = 100 milímetros
  • Y = 50 mm
  • Z=200mm

Advertencia de seguridad importante

G00 No necesariamente se mueve a lo largo de una trayectoria rectilínea controlada.

Varios ejes pueden moverse simultáneamente a su máxima velocidad. Dependiendo del control de la máquina y las distancias entre ejes, la trayectoria de la herramienta puede ser diagonal o en zigzag.

Por esta razón, nunca utilice G00 No se debe manipular la herramienta de corte con descuido cuando esté cerca de la pieza de trabajo, el dispositivo de sujeción, las abrazaderas o la mesa de la máquina.

Al aproximarse a la pieza de trabajo, utilice un movimiento de avance controlado como por ejemplo: G01.

G01 — Corte lineal

G01 Mueve la herramienta de corte en línea recta a una velocidad de avance específica.

Es uno de los comandos de corte más utilizados en el mecanizado CNC.

Ejemplo:

G01 X50. Y50. F300.

Este comando mueve la herramienta en línea recta hacia:

  • X = 50 milímetros
  • Y = 50 mm

La velocidad de alimentación es:

F300

La unidad del valor F depende del modo de alimentación activo.

Bajo G94

La velocidad de alimentación se mide por minuto:

mm/min

Bajo G95

La velocidad de avance se mide por revolución del husillo:

mm/rev

Las fresadoras CNC suelen utilizar G94.

G02 y G03 — Interpolación circular

G02 y G03 Se utilizan para mecanizar trayectorias de herramientas circulares o en forma de arco.

G02

Interpolación circular en el sentido de las agujas del reloj.

G03

Interpolación circular en sentido antihorario.

La dirección se suele determinar mirando desde la dirección positiva del eje seleccionado hacia la dirección negativa.

Para un arco en el plano XY, esto normalmente significa mirar desde el eje Z positivo hacia la pieza de trabajo.

Ejemplo utilizando un valor R:

G02 X50. Y0. R25. F200.

Este comando mueve la herramienta en el sentido de las agujas del reloj a:

  • X = 50 milímetros
  • Y = 0 mm
  • Radio = 25 mm
  • Velocidad de avance = 200 mm/min

Ejemplo utilizando desplazamientos al centro:

G03 X0. Y50. I0. J25. F200.

Este comando mueve la herramienta en sentido contrario a las agujas del reloj usando I y J para definir el desplazamiento del centro del arco.

Una forma sencilla de recordar

G02 = Clockwise
G03 = Counterclockwise

La dirección debe considerarse desde la dirección Z positiva hacia la dirección Z negativa cuando se trabaja en el plano XY.

G90 y G91: Coordenadas absolutas e incrementales

G90 y G91 son dos comandos que los principiantes en CNC suelen confundir.

G90 — Programación de coordenadas absolutas

En G90Todas las coordenadas programadas se refieren al origen del sistema de coordenadas actualmente activo.

Por ejemplo:

G90 G00 X50.

Esto significa:

Muévase a la posición de coordenadas absolutas X = 50 mm.

No significa moverse otros 50 mm desde la posición actual.

Una comparación sencilla consiste en introducir un destino específico en un sistema de navegación.

G91 — Programación incremental de coordenadas

En G91Cada valor de coordenada representa una distancia de movimiento relativa a la posición actual de la herramienta.

Por ejemplo:

G91 G00 X50.

Esto significa:

Muévase otros 50 mm en la dirección positiva del eje X desde la posición actual.

No significa moverse a la coordenada absoluta X = 50 mm.

Una comparación sencilla sería decir:

Avanza otros 500 metros y luego gira a la derecha.

Comparación entre G90 y G91

ComandoTipo de coordenadasSignificado de X50
G90Coordenadas absolutasMuévase a X = 50 mm
G91Coordenadas incrementalesMuévase otros 50 mm desde la posición actual.

G28 — Regreso al punto de referencia de la máquina

G28 ordena al eje de la máquina que regrese a su punto de referencia preestablecido.

El formato básico es:

G28 X_ Y_ Z_

Los valores X, Y y Z definen un punto intermedio.

En G90, el punto intermedio se interpreta como una coordenada absoluta.

En G91El punto intermedio se interpreta como un movimiento incremental.

Este concepto de punto intermedio es la clave para entender por qué G91 G28 Z0. se utiliza comúnmente en lugar de G90 G28 Z0..

¿Qué es el punto intermedio?

Cuando la máquina ejecuta una G28 En caso de seguir un comando, el eje no se mueve simplemente de forma directa al punto de referencia de la máquina en un solo paso.

El movimiento normalmente consta de dos etapas:

  1. Avanza al punto intermedio programado.
  2. Muévase desde el punto intermedio hasta el punto de referencia de la máquina.

El modo de coordenadas programado determina dónde se ubica ese punto intermedio.

¿Cómo se mueven el G90 y el G28 Z0?

Supongamos que la herramienta de corte se encuentra actualmente en:

Z50.

Ahora consideremos el siguiente comando:

G90 G28 Z0.

En G90, el valor Z0. es una coordenada absoluta en el sistema de coordenadas actualmente activo.

Por lo tanto, el movimiento se produce en dos etapas:

  1. El eje Z primero se mueve desde su posición actual hasta la posición absoluta. Z0.
  2. Luego pasa de Z0. al punto de referencia de la máquina

Antes de ejecutar un comando de retorno G28, a menudo se cancela la compensación de la longitud de la herramienta.

En esta situación, primero hay que moverse a la posición de coordenadas de trabajo. Z0. puede provocar que la herramienta se mueva hacia abajo, en dirección a la pieza de trabajo.

Si el punto cero de la pieza de trabajo se encuentra en la superficie superior de la pieza, la herramienta de corte puede moverse directamente hacia el interior de la pieza de trabajo.

Por eso es importante usar:

G90 G28 Z0.

Sin comprender completamente la posición intermedia, se puede generar un grave riesgo de colisión.

El artículo original subraya que la herramienta puede moverse primero hacia el punto cero de la coordenada de la pieza de trabajo antes de regresar a la posición de referencia de la máquina.

¿Cómo se mueven el G91 y el G28 Z0?

Ahora consideremos:

G91 G28 Z0.

En G91, Z0. representa un movimiento incremental de cero.

En otras palabras, la posición actual de la herramienta se utiliza como punto intermedio.

El movimiento se produce de la siguiente manera:

  1. El eje Z se mueve una distancia incremental de cero.
  2. La posición actual se convierte en el punto intermedio.
  3. El eje Z regresa entonces al punto de referencia de la máquina preestablecido.

Debido a que el movimiento intermedio programado es cero, la herramienta no se mueve primero a la posición de coordenadas de trabajo. Z0..

En cambio, comienza a regresar desde su posición actual hacia el punto de referencia del eje Z de la máquina.

Por eso, los programas CNC suelen utilizar:

G91 G28 Z0.

El significado es:

Utilice la posición Z actual como punto intermedio y, a continuación, haga regresar el eje Z al punto de referencia de la máquina.

Esta lógica de movimiento es la razón principal por la que el artículo original recomienda G91 G28 Z0. más bien que G90 G28 Z0. para esta situación.

Comparación entre G90 G28 y G91 G28

ComandoPunto intermedioRiesgo o efecto principal
G90 G28 Z0.Z0 absoluto en el sistema de coordenadas activoLa herramienta puede moverse primero hacia el punto cero de la pieza de trabajo.
G91 G28 Z0.Movimiento incremental cero desde la posición actualLa posición actual se convierte en el punto intermedio antes del retorno de referencia.

Formato de programación FANUC común

G91 G28 Z0.

Comentario:

The Z-axis makes a zero incremental move and then returns to the machine Z reference point.

G54 a G59 — Selección del sistema de coordenadas de trabajo

G54 es uno de los comandos del sistema de coordenadas de trabajo más utilizados.

Después de establecer el origen de la pieza de trabajo durante la búsqueda de bordes, el sondeo o el ajuste de la herramienta, los valores de las coordenadas se introducen en el sistema. G54 compensación laboral.

Cuando el programa contiene:

G54

La máquina lo interpreta como:

Utilice el origen de la pieza almacenado en G54.

Los sistemas de coordenadas de trabajo adicionales incluyen:

G55
G56
G57
G58
G59

Estos representan los sistemas de coordenadas de trabajo estándar del segundo al sexto.

Son útiles para:

  • Mecanizado de múltiples piezas
  • Utilizar múltiples accesorios
  • Programación de diferentes posiciones de la pieza de trabajo
  • Ejecutar varios desplazamientos de trabajo en una misma configuración.

Los códigos M le indican a la máquina qué función debe activar.

Los códigos M también se conocen como códigos de funciones misceláneas o códigos de funciones auxiliares.

A diferencia de la mayoría de los códigos G, los códigos M normalmente no definen la posición de la herramienta de corte.

En cambio, controlan funciones de apoyo de la máquina, tales como:

  • Arranque y parada del husillo
  • Cambiar herramientas
  • Activar y desactivar el refrigerante.
  • Pausa del programa
  • Finalización del programa
  • Llamando a un subprograma

El artículo original enumera los siguientes códigos M de uso común.

Códigos M comunes de CNC

codigo mFunciónEjemplo o explicación
M03Rotación hacia adelante del husilloSe utiliza con un valor S, como por ejemplo: S3000 M03
M04rotación inversa del husilloSe utiliza para herramientas especiales o algunas operaciones de roscado.
M05tope de husilloEl husillo normalmente debería detenerse antes de un cambio de herramienta.
M06Cambio de herramienta automáticoSe utiliza con un comando T, como por ejemplo: T02 M06
M08Refrigerante encendidoActiva el refrigerante durante el corte.
M09Refrigerante apagadoDesconecta el refrigerante antes de cambiar la herramienta o finalizar el programa.
M00parada del programaEspera a que el operador pulse INICIO DE CICLO
M01Parada opcionalSe detiene solo cuando el interruptor de PARADA OPCIONAL está habilitado.
M30Fin del programa y reinicioNormalmente se utiliza al final de un programa completo.
M98Llamada de subprogramaLlama a un subprograma específico, a veces con un contador de repeticiones.

Por qué todo programa CNC necesita un bloque de inicialización de seguridad.

Existe una regla que los operarios de máquinas CNC suelen recordar incluso después de presenciar una sola colisión grave entre máquinas:

Todo programa CNC debe comenzar con un bloque de inicialización de seguridad.

Una línea de seguridad común en formato FANUC es:

G90 G94 G40 G49 G80

Esta línea elimina las condiciones modales potencialmente peligrosas que quedaron activas tras un programa anterior.

G90 — Seleccionar modo de coordenadas absolutas

G90

Esto evita que el nuevo programa se ejecute accidentalmente bajo G91 Modo incremental que quedó activo tras la programación anterior.

Sin G90, una coordenada que se entiende como una posición absoluta podría interpretarse como una distancia de movimiento adicional.

G94 — Seleccionar alimentación por minuto

G94

Esto selecciona la cantidad de alimento por minuto, que normalmente se expresa en:

mm/min

Evita que el programa utilice accidentalmente G95 Alimentación por revolución que quede activa por otra operación.

G40 — Cancelar la compensación del radio de corte

G40

Esto cancela la compensación activa del radio de corte.

Evita una anterior G41 or G42 Valor de compensación por un cambio inesperado en la trayectoria programada de la herramienta.

G49 — Cancelar la compensación de longitud de herramienta

G49

Esto cancela la compensación activa de la longitud de la herramienta.

Esto impide que un desplazamiento H anterior siga afectando la posición del eje Z en el nuevo programa.

G80 — Cancelar ciclos preprogramados

G80

Esto cancela los ciclos activos de perforación, mandrinado, roscado u otros ciclos preprogramados.

Impide que un ciclo de perforación que haya quedado activo por el programa anterior se repita inesperadamente en el nuevo programa.

El artículo original destaca que estos comandos son esenciales para eliminar las condiciones modales retenidas antes de que comience el programa de mecanizado.

Regla de seguridad sencilla para recordar

G40 G49 G80 clear the previous compensation and cycles.
G90 G94 establish the correct coordinate and feed modes.

En palabras simples:

Primero, borre la configuración anterior y, a continuación, configure el nuevo modo de programa.


Por qué este bloque de seguridad es importante

Imagina que el programa anterior terminó mientras G43 La compensación de la longitud de la herramienta seguía activa.

El siguiente programa comienza directamente con G54, sin antes cancelar la compensación restante.

Cuando el eje Z desciende, el control aún puede aplicar el desplazamiento de longitud de herramienta anterior. Como resultado, la herramienta puede moverse decenas de milímetros más de lo previsto y colisionar con la pieza de trabajo.

Un bloque de inicialización corto puede prevenir un costoso accidente con herramientas, piezas de trabajo, dispositivos de fijación, husillos o máquinas.

Ejemplo completo de programa FANUC

Ahora vamos a combinar los códigos G y los códigos M en un programa sencillo.

O0001
G94 G40 G49 G80
T01 M06
G90 G00 G54 X0. Y0.
S3000 M03
G43 H01 Z100.
G01 Z-5. F200
...
G00 Z50.
M09
G49
G91 G28 Z0.
M30

El programa que se muestra en el código fuente utiliza cambio de herramienta, selección de compensación de trabajo, control del husillo, compensación de longitud de herramienta, avance de corte, cierre de refrigerante, cancelación de compensación y retorno de referencia del eje Z.

Explicación línea por línea

Número de programa

O0001

Define el número de programa CNC.

Inicialización de seguridad

G94 G40 G49 G80

Esta línea:

  • Selecciona la alimentación por minuto
  • Cancela la compensación del radio de corte
  • Cancela la compensación de longitud de la herramienta
  • Cancela los ciclos preprogramados activos.

Para una protección adicional, muchos programas también incluyen G90 en la línea de inicialización de seguridad:

G90 G94 G40 G49 G80

Cambio de herramienta

T01 M06

Esto selecciona la herramienta 1 y realiza un cambio automático de herramienta.

Seleccione Desplazamiento de trabajo y Muévase a la posición inicial.

G90 G00 G54 X0. Y0.

Esta línea:

  • Selecciona programación de coordenadas absolutas
  • Selecciona posicionamiento rápido
  • Activa el sistema de coordenadas de trabajo G54
  • Se mueve rápidamente hacia X0 e Y0.

Poner en marcha el husillo

S3000 M03

Esto hace que el husillo gire en la dirección de avance en:

3000 rpm

Activar la compensación de longitud de herramienta

G43 H01 Z100.

Esta línea:

  • Activa la compensación positiva de la longitud de la herramienta
  • Utiliza el desplazamiento de longitud de herramienta H01
  • Posiciona el eje Z a 100 mm.

Introduzca la herramienta en la pieza de trabajo.

G01 Z-5. F200

Esto mueve la herramienta en línea recta hacia:

Z = -5 mm

a una velocidad de alimentación de:

200 mm/min

Retírese a un plano seguro

G00 Z50.

Esto hace que la herramienta se retraiga rápidamente a:

Z = 50 mm

Cierre el sistema de refrigeración.

M09

Esto desactiva el sistema de refrigeración.

Cancelar la compensación de longitud de herramienta

G49

Esto cancela la compensación activa de la longitud de la herramienta.

Devuelva el eje Z al punto de referencia.

G91 G28 Z0.

Esto utiliza el modo incremental.

El eje Z primero realiza un movimiento incremental de cero, lo que significa que su posición actual se convierte en el punto intermedio. Luego regresa al punto de referencia del eje Z de la máquina.

Finalizar el programa

M30

Esto finaliza y reinicia el programa.

Resumen: Comprensión de los códigos G y los códigos M

Los códigos G y los códigos M realizan dos funciones diferentes pero complementarias en un programa CNC.

Códigos G

Los códigos G controlan principalmente el movimiento de la herramienta y los modos de coordenadas.

Algunos ejemplos importantes incluyen:

  • G00 — Posicionamiento rápido
  • G01 — Corte lineal
  • G02 — Interpolación circular en el sentido de las agujas del reloj
  • G03 — Interpolación circular en sentido antihorario
  • G90 — Programación de coordenadas absolutas
  • G91 — Programación de coordenadas incremental
  • G28 — Regresar al punto de referencia de la máquina
  • G54 — Seleccione el primer sistema de coordenadas de trabajo.

Códigos M

Los códigos M controlan principalmente las funciones auxiliares de la máquina.

Algunos ejemplos importantes incluyen:

  • M03 — Poner en marcha el husillo
  • M05 — Detén el husillo
  • M06 — Cambia la herramienta
  • M08 — Abra el sistema de refrigeración
  • M09 — Apague el refrigerante
  • M30 — Finalizar y reiniciar el programa

Puntos clave para recordar

  • Los códigos modales permanecen activos hasta que otro código del mismo grupo los reemplaza.
  • Los códigos no modales solo se aplican al bloque de programa en el que aparecen.
  • G00 No debe utilizarse descuidadamente cerca de la pieza de trabajo.
  • G90 utiliza coordenadas absolutas.
  • G91 utiliza coordenadas incrementales.
  • G28 Normalmente, pasa por un punto intermedio antes de regresar al punto de referencia de la máquina.
  • G90 G28 Z0. Puede que primero mueva la herramienta hacia la posición absoluta de coordenadas de trabajo Z0.
  • G91 G28 Z0. Utiliza la posición actual como punto intermedio antes de regresar al punto de referencia Z.
  • Todo programa debe comenzar con un bloque de inicialización de seguridad como por ejemplo: G90 G94 G40 G49 G80.

Soporte para mecanizado CNC a partir de moldes fundidos

En Cast Mold, el mecanizado CNC es una parte importante de nuestro servicio de fabricación integral.

Ofrecemos soporte integral que abarca:

  • Diseño de moldes para fundición a presión
  • fabricación de moldes
  • Fundición a presión de aleación de aluminio y zinc
  • Mecanizado CNC
  • Taladrar y roscar
  • Acabado de superficies
  • Inspección dimensional
  • Montaje y envío

Para los componentes fundidos a presión, a menudo se requieren características mecanizadas por CNC para:

  • Orificios de montaje de precisión
  • Threads
  • Superficies de sellado
  • Posiciones de los cojinetes
  • Interfaces de ensamblaje
  • Áreas críticas de planitud
  • Dimensiones de tolerancia ajustada

Al combinar herramientas, fundición a presión, mecanizado CNC, tratamiento de superficies e inspección, ayudamos a nuestros clientes a reducir el tiempo de comunicación entre múltiples proveedores y a mejorar la consistencia dimensional en la producción por lotes.

Para la evaluación del proyecto, por favor proporcione la siguiente información:

  • Dibujos 2D
  • Modelos 3D
  • Requerimientos materiales
  • Cantidad anual
  • Requisitos de acabado superficial
  • Tolerancias críticas
  • Requisitos de inspección

Servicios de fundición a presión de aluminio

Obtenga más información sobre nuestros servicios de fundición a presión de aluminio en China.

Compartir:

Más Artículos

Envíanos un mensaje

Blog reciente Artículos

Fresadora CNC para trabajar metales.

Códigos G y códigos M: Explicación del lenguaje de máquinas CNC, incluyendo G90 G28 vs. G91 G28

Los códigos G y M controlan el movimiento CNC y las funciones auxiliares. Aprenda G00, G01, G90,......
Fresadora CNC para trabajar metales.

Los cinco sistemas principales de una máquina CNC: comprenda este diagrama y comprenderá cómo funciona una máquina CNC.

¿Qué sucede dentro de una máquina CNC después de que el operador presiona el botón INICIO DE CICLO? Esto...
Sistema de coordenadas de la máquina CNC que muestra los ejes X, Y y Z y la regla de la mano derecha.

Explicación de los sistemas de coordenadas de las máquinas CNC: regla de la mano derecha, CCM, WCS y compensaciones de herramientas.

El mecanizado CNC depende de referencias de coordenadas precisas. Esta guía explica la regla de la mano derecha, la máquina y...

¿Necesita piezas personalizadas?

Ir al Inicio

Solicitud de cotización o información

Estaremos encantados de recibir su solicitud de cotización.

Envíenos por correo electrónico sus requisitos detallados, incluido el dibujo 2D, el modelo 3D y la cantidad.

  • ventas@cast-mold.com
  • +86 18718679416
  • 101, No.6, Yongshun Road, ciudad de Basha, ciudad de Humen, ciudad de Dongguan, provincia de Guangdong.

Podemos organizar la recogida cuando nos visite.

Estamos cerca del Aeropuerto Internacional de Shenzhen, el Aeropuerto Internacional de Hong Kong y el Aeropuerto de Guangzhou.