Invocación eficiente de macros personalizadas mediante comandos modales G65
Si ha programado con Macro Personalizada, probablemente sepa que una forma de llamar un programa de Macro Personalizada es usar un comando G65. Los usuarios típicamente ingresan este comando en un programa principal, especificando el número de programa para la Macro Personalizada (con una palabra P) y una serie de argumentos de dirección de letra (variables) para pasar a la Macro.
Considere el siguiente comando para llamar una Macro de mecanizado de bolsillo redondo:
- N050 G65 P1000 X5.0 Y5.0 Z0 D0.5 R0.75 F5.0
X e Y especifican la ubicación central del bolsillo. Z indica la superficie donde la máquina hará el bolsillo. D es la profundidad y R es el radio del bolsillo. F especifica la velocidad de avance de mecanizado.
G65 no es modal. Para mecanizar otro bolsillo redondo en una ubicación diferente, el usuario debe proporcionar otro comando G65 completo (cambiando los argumentos relacionados, por supuesto). Los CNCs FANUC tienen, sin embargo, dos G-codes para llamar modalmente una Macro Personalizada: G66 y G66.1. Después de instaurar cualquiera de ellos, el programador debe usar G67 para cancelarlos.
G66
G66 no llama la Macro Personalizada por sí mismo; solo asignará las variables locales que correspondan a los argumentos de dirección de letra especificados. Considere estos comandos:
- .
- N050 G66 P1000 Z0 D0.5 R0.75 T0.5 F5.0
- N055 G00 X5.0 Y5.0
- N060 X10.0
- N065 Y10.0
- N070 X5.0
- N075 G67
- .
La línea N050 establece la variable local #26 al valor de Z, #7 al de D, #18 a R, #20 a T y #9 a F. Pero, de nuevo, esta línea no llama la Macro Personalizada O1000.
En el siguiente comando (N055), que debe ser un comando de movimiento (usualmente G00 o G01), el CNC moverá a la posición comandada y luego llamará la Macro Personalizada O1000. Las variables locales asignadas en el comando G66 estarán disponibles para uso en la Macro, pero no hay forma de actualizarlas después de ejecutar el comando G66. El CNC continuará moviéndose a posición y llamando la Macro en comandos de movimiento subsiguientes hasta alcanzar el comando G67 (N075).
Aquí hay un ejemplo de la Macro de bolsillo redondo cuando se usa G66:
- O1001 (Macro Personalizada llamada por G66)
- #32=#5001 (Obtener posición absoluta actual X)
- Z[#26+0.1] (Mover a posición de aproximación)
- G01 Z[#26-#7] F[#9/2] (Hundir en bolsillo)
- G02 X[#32+#18-#20/2] R[[#18-#20/2]/2] F#9
- I-[#18-#20/2]
- X#32 R[[##18-#20/2]/2]
- G00 Z[#26+0.1]
- M99
G66.1
Como G66, un comando G66.1 especificará el número de Macro Personalizada y establecerá variables locales al valor de argumentos de dirección de letra. También como G66, eventualmente se debe especificar un comando G67 para cancelar la llamada modal. Pero a diferencia de G66, G66.1 llamará la Macro Personalizada. Considere estos comandos:
- .
- N050 G66.1 P1001 X5.0 Y5.0 Z0 D0.5 R0.75 T0.5 F5.0
- N055 X10.0
- N060 Y10.0
- N065 X5.0
- N070 G67
- .
Ahora, la línea N050 mecanizará el primer bolsillo. En cada comando subsiguiente que no sea un comando de movimiento, el CNC restablecerá las variables locales y llamará la Macro de nuevo. En la línea N055, el valor de la variable local #24 (X) se convierte en 10.0. Asumiendo que el programador escribió la Macro correctamente, un comando de movimiento en la Macro moverá la herramienta a esta posición antes de que la máquina comience a crear el bolsillo.
La ventaja de G66.1 sobre G66 es que cualquiera de los argumentos de dirección de letra puede cambiar durante cualquiera de las veces que el usuario llama la Macro. Si la profundidad del bolsillo cambia para el bolsillo que N060 mecaniza, por ejemplo, el programador puede incluir la dirección D en la línea N060.
Crear Macros Personalizadas usando G66.1 es más involucrado que G66. Dado que los valores de todas las variables locales retornan a vacío en el comando M99 que termina la Macro, los usuarios deben almacenar estos valores en variables comunes que no se pierdan hasta que se apague la energía.
Considere este programa de Macro Personalizada usando G66.1:
- O1001 (Macro Personalizada llamada por G66.1)
- (Cambiar valores para argumentos incluidos en el comando de llamada)
- IF [#24 NE #0] THEN #100 = #24
- IF [#25 NE #0] THEN #101 = #25
- IF [#26 NE #0] THEN #102 = #26
- IF [#7 NE #0] THEN #103 = #7
- IF [#18 NE #0] THEN #104 = #18
- IF [#20 NE #0] THEN #105 = #20
- IF [#9 NE #0] THEN #106 = #9
- G00 X#100 Y#101 (Mover a centro de bolsillo)
- Z[#102+0.1] (Mover a posición de aproximación)
- G01 Z[#102-#103] F[#106/2] (Hundir en bolsillo)
- G02 X[#100+#104-#105/2] R[[#104-#105/2]/2] F#106
- I-[#104-#105/2]
- X#100 R[[#104-#105/2]/2]
- G00 Z[#102+0.1]
- M99
¿Qué comando de Macro Personalizada es mejor? G66 o G66.1?
Aunque requiere más trabajo de programación, G66.1 proporciona más flexibilidad que G66. Específicamente, el programador puede cambiar cualquier argumento en cualquiera de los comandos entre G66.1 y G67. En nuestro ejemplo, esto significa la posición X/Y del bolsillo, radio, profundidad, ubicación de superficie Z o velocidad de avance. En este sentido, una Macro Personalizada llamada con G66.1 se comporta casi exactamente como cualquier ciclo enlatado de mecanizado de agujeros, como G81.
Por otro lado, si está seguro de que no habrá necesidad de cambiar cosas después de especificar el conjunto inicial de argumentos, usar G66 puede ser más adecuado para su aplicación, ya que G66 es mucho más fácil de usar.
Equipo industrial
- Lidere escuchando: Cómo preguntar "Cuéntame más" construye confianza e insight
- Mecanizado CNC de Precisión para Piezas Personalizadas: Soluciones Rápidas, Exactas y a Medida
- Eleve su Marca con Regalos Navideños Personalizados Grabados Láser
- Crear un ciclo de taladrado G81 personalizado usando macro Fanuc y llamada modal G66
- Nueva serie Alpha X de tornos con controles personalizados para un rendimiento superior
- Los 5 Principales Beneficios de la Fabricación de Metal Personalizada
- Mecanizado a medida: precisión, rentabilidad y solución a piezas obsoletas
- Mecanizado a Medida: Cuándo y Por Qué lo Necesita
- MarquipWardUnited Adquiere Torno Summit Personalizado de Servicio Pesado
- Comandos Esenciales de MATLAB para Computación Eficiente
- Dominando Excepciones Personalizadas en Python: Guía Práctica