En la programación CNC, hay dos tipos de coordenadas que son fundamentales para el posicionamiento de la herramienta: las coordenadas absolutas y las coordenadas incrementales. En este artículo, te adentraremos en el mundo del Gcode G91 y G90, dos códigos esenciales que te permitirán dominar la programación CNC de una manera más eficiente y precisa. ¡Sigue leyendo para descubrir cómo utilizarlos en tus proyectos de mecanizado!
Gcode G91 y Gcode G90: Programación CNC absoluta e incremental
Capacitación en código G de CNCCookbook: programación CNC
Los hechos son los siguientes: Al implementar los códigos G G90 y G91, usted determina si su máquina CNC utiliza coordenadas absolutas o incrementales.
¿Cuál es la diferencia entre un sistema de coordenadas absoluto e incremental?
Comencemos con una definición. Las coordenadas absolutas se miden desde el programa cero, el origen del programa. Los movimientos incrementales se miden desde la posición actual. Acabamos de observar los movimientos de arco circular con G02 y G03. Las coordenadas del centro del arco, expresadas por I y J, son coordenadas incrementales.
Ahora un ejemplo más práctico. Digamos que estás en una tienda de comestibles y le preguntas al dependiente en qué pasillo están las galletas. Si responde: «Vaya al pasillo 14 para buscar las galletas», entonces estas instrucciones utilizan posicionamiento absoluto.
Si, en cambio, responde: «Tres marchas ahí abajo», esa es una coordenada de modo incremental. Estamos acostumbrados a ambos tipos en la vida cotidiana y ambos son útiles según la situación. Ambos modos también son bastante útiles en la programación de código G.
>Tenga en cuenta que lo que llamamos “coordenadas incrementales” a menudo se denominan coordenadas de “modo incremental” en los manuales de programación CNC. Es simplemente una forma diferente de decir lo mismo.
Cambio entre modo de posicionamiento incremental (G-Code G91) y absoluto (G-Code G90)
¿Cómo podemos cambiar entre el modo de posicionamiento incremental y absoluto en nuestro programa CNC? Normalmente utilizamos el código G G90 para modo absoluto y G91 para modo incremental. Ejemplo:
G90 (Cambiar a modo absoluto)
G0 X0Y0Z0 (Ir al origen del programa en 0, 0, 0)
G91 (cambio a modo incremental)
G0 X1Y1 (Mover una unidad a la derecha en dirección X y una unidad a la derecha en dirección Y)
G90 (Volver a coordenadas absolutas)
El programa anterior incluye posicionamiento absoluto en X0Y0Z0 y posicionamiento incremental. Como puede ver, G-Code G90 y G-Code G91 son modales.
Ejemplo de programación absoluta del código G G90
En este ejemplo y en el siguiente mostraré cómo tallar la misma figura, un cuerpo rectangular, usando coordenadas absolutas e incrementales. Empecemos por el modo absoluto del G-Code G90.
De una pieza de material de 6″ de ancho, 4″ de alto y 1″ de espesor, queremos cortar una cavidad a 1″ de los bordes usando una fresa de extremo de 1/2″. Aquí tenéis un dibujo de nuestra parte:
>Aquí está nuestra parte…
Bien, aquí hay un ejemplo de código G:
; Asumimos que el cortador está a una distancia segura por encima de la pieza para que podamos trabajar rápidamente.
G90; Asegúrate de que estamos en modo de posicionamiento absoluto G-code G90.
G00; Utilice velocidad de desplazamiento rápido.
X1.25 Y1.25 ; Coordenadas absolutas directamente encima de la esquina.
G01; Utilice avance de corte (los códigos G de avance real y velocidad del husillo no se muestran
Z-0,5; Sumérgete hasta el fondo de la bolsa.
; Ahora vamos en sentido antihorario alrededor del bolsillo para que estemos fresando hacia abajo.
X4.75
Y2.75
X1.25
Y1.25
; No mostraré todos los movimientos para vaciar la bolsa, pero simplemente recorrimos el perímetro con movimientos absolutos.
Los movimientos resultantes se ven así:
>
Ejemplo de modo de posicionamiento incremental G91 GCode
Intentemos nuevamente los movimientos relativos. Aquí está nuestro código G:
; Asumimos que el cortador está a una distancia segura por encima de la pieza para que podamos trabajar rápidamente.
G90; Asegúrate de que estamos en el modo de coordenadas absolutas G-code G90. No sabemos dónde está el cortador, así que usaremos el modo absoluto para estar seguros.
G00; Utilice velocidad de desplazamiento rápido.
X1.25 Y1.25 ; Coordenadas absolutas directamente encima de la esquina.
G01; Utilice avance de corte (los códigos G de avance real y velocidad del husillo no se muestran
Z0.0
G91; Ahora sabemos exactamente dónde estamos, así que cambie a coordenadas incrementales.
Z-0,5; Sumérgete hasta el fondo de la bolsa.
; Ahora vamos en sentido antihorario alrededor del bolsillo para que estemos fresando hacia abajo.
X3.5
Y1.5
X3.5
Y-1.5
; No mostraré todos los movimientos para vaciar la bolsa, pero simplemente recorrimos el perímetro con movimientos absolutos.
Al calcular movimientos incrementales, las dimensiones siempre son útiles:
>
¿Qué modo usa mi controlador por defecto?
Curiosamente, la mayoría de los controladores comienzan en modo relativo/incremental (G91). Esto se hace porque se considera más seguro si el modo no cumple con sus expectativas. En otras palabras, si esperaba absolutamente, se considera más seguro iniciar en modo incremental que si esperaba incremental e iniciar en modo absoluto. La verdad es que de ninguna manera es seguro no estar en el modo esperado porque la máquina hará algo inesperado. Así que asegúrese de que una de las primeras cosas que haga en su programa sea configurarlo en G-Code G90 o G-Code G91 para que haga lo que espera.
Usar palabras UVW para coordenadas incrementales
Algunos controladores permiten activar ambos estilos simultáneamente mediante UVW. Podríamos escribir el programa anterior así:
G90 (cambiar a coordenadas absolutas)
G0 X0Y0Z0 (Ir al origen del programa en 0, 0, 0)
G0 U1V1 (Mover una unidad hacia la derecha en la dirección X y una unidad hacia la derecha en la dirección Y)
Este formato UVW es práctico y un poco más corto. Ya hemos mencionado controladores donde I y J son incrementales, que es un caso similar a UVW, pero destinado a la ubicación del centro del arco.
¿Por qué debería utilizar movimientos incrementales en lugar de absolutos?
Veamos algunos casos.
Primero, depende de cómo quieras pensar en tu problema. ¿Es más natural pensar en lo que está sucediendo en relación con un centro absoluto o en relación con su ubicación actual? Al controlador CNC no le importa, así que haga lo que le resulte más fácil.
En segundo lugar, digamos que acaba de leer una expresión e ingresa el código G. Puede ser más fácil usar las coordenadas incrementales para algunos puntos, ya que es posible que no tenga a mano las coordenadas absolutas. Las impresiones suelen proporcionar dimensiones relativas a funciones adyacentes en lugar de a un punto de cero absoluto de la pieza.
Un último ejemplo es escribir subprogramas. Supongamos que tiene una función que se repite más de una vez en su programa G-Code. Por ejemplo, puede perforar un agujero, achaflanarlo y luego roscarlo con un grifo. Estos agujeros se pueden encontrar en cualquier parte de la placa que esté mecanizando. La manera fácil de programar algo como esto es crear un subprograma (hablaremos de subprogramas en detalle más adelante, pero por ahora puedes usar tu imaginación) que asuma que está sobre el centro del agujero, y simplemente continúa realizando todas las operaciones. Trabajar usando coordenadas incrementales. Ahora puedes hacer un movimiento absoluto y luego llamar al subprograma para cada hoyo y solo tienes que escribir el código una vez. Qué ahorro de tiempo.
Ciclos fijos y código G automático G91
Para muchos ciclos predefinidos (por ejemplo, ciclos de perforación), puede enumerar las coordenadas para que el ciclo predefinido se ejecute varias veces, una para cada ciclo deseado. Esto facilita, por ejemplo, perforar varios agujeros utilizando una lista de coordenadas de agujeros. Normalmente las coordenadas son incrementales, como si el código automáticamente pusiera un G91 delante y luego volviera al modo activo al final.
Asegúrese de consultar la documentación de su controlador para ver si esto es posible.
Utilice G-Wizard Editor para convertir entre coordenadas absolutas e incrementales
Convertir una gran cantidad de código G de absoluto a incremental o viceversa puede ser un proceso tedioso y propenso a errores, pero es fácil si tienes un software que lo haga automáticamente. Resulta que G-Wizard Editor tiene un comando que realiza esta conversión por usted.
Hay un comando «Incremental/Absoluto» en «Revisión de herramientas» que lo hace realmente fácil:
>Puede convertir el programa completo o un bloque de líneas seleccionado.
Referencias
Ejercicios
1. Escriba un programa de código G que guíe el cortador alrededor de un rectángulo de 1″ x 1″ centrado en 1, 1. Utilice coordenadas absolutas (código G G90).
2. Convierta el programa que escribió en el punto 1 para usar coordenadas incrementales (¡no olvide incluir el código G G91!). Puedes usar una coordenada absoluta para llegar al centro del rectángulo en un movimiento inicial G00.
3. Determine si su control permite el movimiento UVW y, de ser así, vuelva a escribir el número 2 para usarlo sin llamar a G91 para cambiar a coordenadas incrementales.
Artículo siguiente: Coordenadas polares
Preguntas frecuentes sobre G90 y G91 GCode
¿Qué es G90 en GCode?
El código G90 G hace que las coordenadas se interpreten como coordenadas absolutas.
¿Qué hace G91 en GCode?
El código G G91 hace que las coordenadas se interpreten como relativas a la posición actual.
¿Qué es el CNC con posicionamiento absoluto?
El posicionamiento absoluto se activa mediante el código G90-G. En el posicionamiento absoluto las coordenadas se refieren al punto cero de la pieza, la posición de la máquina en X0Y0Z0.
Gcode G91 y Gcode G90: Programación CNC absoluta e incremental
Los gcodes G90 y G91 son esenciales para dictar a tu máquina CNC si debe utilizar coordenadas absolutas o incrementales. Pero, ¿cuál es la diferencia entre ambos sistemas de coordenadas? Empecemos con una definición. Las coordenadas absolutas se miden desde el programa cero, es decir, el origen del programa. Los movimientos incrementales se miden desde la posición actual.
Switching between Incremental (g code G91) and Absolute Positioning Mode (g code G90) es una tarea que se hace comúnmente en la programación CNC. La mayoría de los controles de arranque se inician en el modo relativo/incremental (G91) como medida de seguridad.
La diferencia fundamental es que el G90 establece el modo de coordenada absoluta, mientras que el G91 establece el modo de coordenada incremental. Ambos modos son modales y se pueden alternar según sea necesario en tu programa CNC.
Ejemplo de Programación en Modo Absoluto con G90
- Establecer el modo absoluto con G90
- Mover a la posición de origen del programa
- Realizar movimientos absolutos para tallar una figura
Ejemplo de Programación en Modo Incremental con G91
- Establecer el modo incremental con G91
- Mover a la posición de inicio
- Realizar movimientos incrementales alrededor de una forma
Para convertir entre coordenadas absolutas e incrementales, puedes utilizar herramientas como G-Wizard Editor, que simplifican este proceso.
En resumen, la elección entre coordenadas absolutas e incrementales depende de cómo prefieras pensar sobre tu problema y de la facilidad de programación en ciertas situaciones específicas, como la repetición de características en tu programa.
Preguntas Frecuentes sobre G90 y G91 en GCode
- ¿Qué hace G90 en GCode? G90 provoca que las coordenadas se interpreten como coordenadas absolutas.
- ¿Cuál es la función de G91 en GCode? G91 hace que las coordenadas se interpreten como relativas a la posición actual.
- ¿Qué es el posicionamiento absoluto en CNC? El posicionamiento absoluto es activado por el G90 en GCode. Con el posicionamiento absoluto, las coordenadas son relativas al cero de la pieza, es decir, la posición de la máquina en X0Y0Z0.
¡Esperamos que esta información te haya sido útil para comprender mejor la programación CNC en coordenadas absolutas e incrementales!
¡Gracias por simplificar la programación CNC! La explicación sobre G90 y G91 ha sido clara y fácil de seguir. ¡Buen trabajo! ¡A seguir adelante!
¡Excelente artículo! Me ha despejado todas las dudas que tenía sobre la programación CNC con G90 y G91. ¡Gracias por compartir conocimiento de forma clara y amena! ¡Sigan así! ¡Saludos!
¡Este artículo me ha resultado de mucha ayuda para comprender la diferencia entre la programación CNC absoluta e incremental! ¡Muchas gracias por la explicación clara y concisa! ¡Sigan así! ¡Saludos!
¡Interesante artículo! Me ha ayudado a entender mejor la programación CNC. ¡Gracias por compartir!
¡Muy útil para los novatos en CNC! Gracias por explicar de forma clara las diferencias entre G91 y G90. ¡Sigue compartiendo contenido así! ¡Buena vibra!