Programación de los G-Codes y M-Codes del control CNC Haas
Tutorial de G-Codes de CNCCookbook
Haas fabrica algunas de las máquinas CNC más populares del mundo, por lo que saber utilizar sus exclusivos g-codes puede ser una habilidad importante. La buena noticia es que Haas ha adoptado uno de los enfoques más inteligentes que se me ocurren a la hora de crear su dialecto de código g exclusivo.
Haas: estrategia inteligente en lo que respecta a su dialecto de código G CNC…
Empezaron con el dialecto más popular del mundo, Fanuc (del que trata la mayor parte de este curso) y construyeron sobre él manteniendo la compatibilidad. No hicieron ningún cambio arbitrario y añadieron en gran medida un buen valor y conveniencia.
Esta es una estrategia inteligente porque significa que la mayoría del código g de Fanuc simplemente se ejecutará en un Haas, pero todavía tienen algunas grandes ventajas para hablar debido a los códigos especiales que han añadido. También significa que el amplio grupo de personas que conocen la programación de Fanuc g-code están listos para ser productivos el primer día en las máquinas Haas, y pueden recoger las cosas que Haas ha añadido a medida que necesitan.
Este artículo es todo acerca de recoger esas cosas hoy, así que vamos a empezar.
¿Cuáles son los Haas G-Codes para Mills?
Aquí está una visión general rápida:
- G12/13: Cavidades circulares
- G51: Escala
- G53: Sistema de coordenadas de la máquina no modal
- G68: Rotación
- G101: Imagen en espejo
- G150: Fresado de Bolsillo de Propósito General
Ahora vamos a repasar y desglosar cada uno de ellos para ver su funcionamiento.
G12 & G13 Códigos G: Bolsillos circulares
La interpolación circular o interpolación helicoidal es algo que vemos a menudo en la programación del CNC. Es un caso en el que un endmill se programa para seguir una trayectoria circular o helicoidal para hacer un agujero mucho más grande que el diámetro del endmill.
Estos códigos g especiales de Haas facilitan la realización de la operación. G12 corta en el sentido de las agujas del reloj mientras que G13 lo hace en sentido contrario. Estas son las palabras que utilizará para crear la cajera:
D*: Radio o diámetro de la herramienta. Si utiliza D00, le dice al Haas que no utilice la compensación de la fresa. La palabra D es modal, por lo que si no se especifica ninguna, se utilizará el último valor de D.
F: Velocidad de avance
I: Radio del primer círculo (o acabado si no hay K). I debe ser mayor que el radio de la herramienta pero menor que K.
K*: Radio del círculo terminado.
L*: Recuento de bucles para repetir cortes más profundos.
Q*: Incremento de radio o paso a paso. Se debe utilizar con K.
Z: Profundidad de corte o incremento
* = La palabra es opcional y puede omitirse.
Para utilizar estos códigos g, comience por colocar la herramienta sobre el centro del círculo. Puede elegir entre eliminar todo el material dentro del círculo o cortar sólo el radio del círculo. Si sólo quiere cortar el radio, utilice un valor I ajustado al radio y no especifique un valor K o Q. Si desea eliminar todo el material, utilice valores I y Q menores que el diámetro de la herramienta y un valor K igual al radio del círculo.
Aquí hay un programa de ejemplo que sólo corta el radio:
%
(SAMPLE G12)
T1 M06 (Seleccionar herramienta 1) ;
G00 G90 G40 G49 G54 (Arranque seguro) ;
G00 X0 Y0 (Rápido a la 1ª posición) ;
S1000 M03 (Husillo en CW) ;
G43 H01 Z0.1 (Desplazamiento de la herramienta 1 activado) ;
M08 (Refrigerante activado) ;
( Cortar el círculo ) ;
G12 I0.75 F10. Z-1.2 D01 (Acabado de la cajera CW) ;
G00 Z0.1 (Retracción) ;
G00 Z0.1 M09 (Retracción rápida, refrigerante apagado) ;
G53 G49 Z0 M05 (Z a casa, husillo apagado) ;
G53 Y0 (Y a casa) ;
M30 (Fin de programa) ;
%
Y aquí hay un backplot en G-Wizard Editor de la trayectoria de ese programa:
G12 ajustado para corte estilo radio…
G51 G-Code: Escala
La escala G51 está disponible en los controles Fanuc, pero Haas lo hace de forma ligeramente diferente. Esta es la sintaxis de Haas:
G51 X_ Y_ Z_ P_
X, Y y Z permiten especificar un centro opcional para el escalado. Si están ausentes, el centro es el origen (parte cero). P es el factor de escala. Si no se especifica P, el ajuste 71 es el factor de escala por defecto.
Tenga en cuenta que la escala es una característica opcional de coste adicional en los controles Haas.
La escala es útil para muchos propósitos, y nuestro capítulo sobre la escala tiene más detalles al respecto.
G53 G-Code: Sistema de coordenadas de la máquina no modal
G53 le permite cancelar el sistema de coordenadas de trabajo para un bloque. En otras palabras, es no modal. Debe utilizarlo con G49 si tiene un valor Z, ya que G49 cancela el desplazamiento de la herramienta.
Por ejemplo:
G53 Y0
Este g-code moverá la mesa a la máquina cero en Y. G53 es sobre todo un atajo frente a, por ejemplo, G28.
Por ejemplo:
G28 G91 Z0
Ahora tiene que recordar añadir un G90. Con G53, G90 permanece en efecto.
G68 G-Code: Rotación
Al igual que el escalado, la rotación también está disponible en Fanuc, pero es ligeramente diferente en Haas. También es una opción de costo adicional para habilitar la rotación.
G68 rota los valores X, Y, Z, I, J y K subsiguientes en un ángulo especificado con un centro de rotación. G69 cancela la rotación de G68.
Antes de utilizar la rotación, asegúrese de que el plano de rotación está especificado por G17, G18, o G19.
Aquí está la sintaxis para G68
G68 a_ b_ R
a es la coordenada para el centro de rotación del primer eje del plano que especificó. Así, para G17, es X. b es la coordenada del centro de rotación del segundo eje. Para G17, es Y.
R especifica el ángulo de rotación en grados. Puede utilizar valores de 360 a -360.
G101 G-Code: Imagen en espejo
G101 puede utilizarse para producir una imagen en espejo de una secuencia de códigos alrededor de un eje X, Y, Z, A o B.
Aquí está la sintaxis:
G101 X_ Y_ Z_ A_ B_
Debe especificar al menos un eje. Cualquier valor dado con la palabra eje se ignora, pero se necesita el valor para evitar una alarma.
Use G100 para cancelar las imágenes en espejo.
G150 G-Code: Fresado de bolsillo de uso general
G150 es un código G muy elegante y práctico. Piense en él como el equivalente al ciclo G71 de un Torno CNC para el fresado. En esencia, es un programa mini-CAM en un g-code.
Lo que hace es permitirte especificar el contorno de una cajera como un pequeño programa g-code. G150 borrará ese bolsillo.
Aquí está la sintaxis:
G150 G41* P_ F_ D_ I_ J_ K_ Q_ R_ X_ Y_ Z_ L_ S_
Y esto es lo que hacen los parámetros:
- P: El número del subprograma que especifica el contorno del bolsillo. Requerido!
- F: Velocidad de avance
- D: Selección del offset del diámetro de la herramienta.
- I: Incremento de corte del eje X. Cada pasada elimina esta cantidad de material. Debe especificar I o J pero no puede especificar ambos.
- J: Incremento de corte en el eje Y.
- K: Sobremedida de corte de acabado para la pasada final.
- Q: Profundidad de corte incremental en el eje Z por pasada. Debe ser igual a 0 y es obligatorio. Q es una cantidad incremental positiva de reducción.
- R: Posición del plano R (Obligatorio). Este es el plano de retracción para el movimiento rápido.
- X e Y: Posición del agujero inicial.
- Z: Profundidad final de la cajera
- L: Recuento opcional de repeticiones para las cajeras adicionales.
- S: Velocidad opcional del husillo
Normalmente se especifica G41 cutter comp, pero también puede utilizar G42 si lo prefiere.
Lo primero que hay que tener en cuenta es que G150 espera que haya un agujero para la profundidad total de la cajera que puede utilizar para bajar el endmil hasta la profundidad de corte en cada pasada. Puede perforar o interpolar ese agujero, pero debe hacerlo antes de llamar a G150.
Segundo, su definición de cajera, a la que se refiere la palabra P, debe ser un subprograma, no una subrutina.
Por último, el subprograma debe tener menos de 40 movimientos. Se puede evitar esto cortando más de una tronera.
Otras cosas a tener en cuenta:
- Los códigos que no sean G, I, R, X e Y en el subprograma se ignoran.
- El primer movimiento en el subprograma debe ser desde el agujero hasta un punto en el borde de la tronera.
- El último movimiento debe ser hasta ese mismo punto inicial en el borde de la tronera.
- Está bien utilizar movimientos G91 (incrementales) o G90 (absolutos) en el subprograma.
- No hay paso de acabado en profundidad Z, sólo está en las paredes de la cajera.
- Si utiliza L para repetir cajeras, debe tener un posicionamiento G91 e incremental en la línea G150. Asegúrese de que ha perforado todos los agujeros de entrada del bolsillo primero.
El código G150 es bastante hábil, pero al final del día, el software CAM hace que el programa de bolsillo sea más fácil y menos propenso a errores. Mantenga el G150 para bolsillos sencillos que son fácilmente programados y visualizados.