Ver todos los artículos

Uso de la programación macro para crear programas de ciclos repetitivos de taladrado

TRASA3 Blog

G-code Publicado: 2026-09-22 Autor: trasa3 6 vistas
Uso de la programación macro para crear programas de ciclos repetitivos de taladrado

Los patrones repetitivos de orificios rara vez requieren un programa CNC extenso. Si las coordenadas forman una fila simple, suele bastar con un ciclo fijo G81, posicionamiento incremental G91 y un número de repeticiones L. Sin embargo, al trabajar con una malla rectangular de orificios, varias dimensiones de pieza o un paso que cambia frecuentemente, editar cada coordenada manualmente se vuelve lento y propenso a errores. La programación macro mantiene la lógica repetitiva en una subrutina y pasa las dimensiones y cantidad de orificios como parámetros.

A continuación se analiza un ejemplo para un control Haas con soporte de macros. La sintaxis de variables, ciclos y llamadas a subrutinas depende del CNC y las opciones activadas. Antes de ejecutar, conviene revisar el manual específico del control, hacer una simulación gráfica y realizar la primera prueba sobre la pieza en bruto.

Cuándo basta un ciclo fijo

G81 elimina ya gran parte del código repetitivo. Al activarse, el control realiza el taladrado en cada nueva posición X e Y hasta cancelar con G80. La documentación Haas muestra un ejemplo donde un incremento en X y el parámetro L crean una fila de orificios equidistantes:

G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90

Esta solución es adecuada para una fila recta. Es importante tener en cuenta que el primer orificio se realiza en la posición donde se activa G81, y la línea con G91 X25. L4 añade cuatro posiciones más. Un error en el conteo puede generar un orificio extra o desplazar todo el patrón.

Los ciclos fijos tienen otras variantes. G82 añade una pausa en el fondo, G83 se usa para taladrado con avance intermitente (peck drilling), y G98 o G99 definen el nivel de retorno. La elección del ciclo debe ajustarse a la herramienta, profundidad, material y evacuación de virutas. El macro gestiona la geometría y repetición; no reemplaza la tecnología correcta de taladrado.

Qué aporta un macro parametrizado

Para una malla rectangular basta con pasar nueve valores: coordenadas del primer orificio, paso en dos ejes, número de columnas y filas, profundidad, plano R y avance. El operador cambia una línea de llamada, y los ciclos anidados calculan cada posición.

En la siguiente llamada, X e Y definen el origen, I y J el paso, A y B el número de columnas y filas:

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

En Haas, los argumentos de G65 se asignan a variables locales del macro. Aquí X es #24, Y #25, I #4, J #5, A #1, B #2, Z #26, R #18, F #9. Cada llamada G65 proporciona un conjunto nuevo de variables locales, por lo que el mismo código sirve con distintos parámetros.

Macro para malla rectangular

O09010 (DRILL RECTANGULAR PATTERN)

#30 = 0 (ROW INDEX)

WHILE [#30 LT #2] DO1
  #31 = 0 (COLUMN INDEX)

  WHILE [#31 LT #1] DO2
    #32 = [#24 + #31 * #4] (CURRENT X)
    #33 = [#25 + #30 * #5] (CURRENT Y)

    G90 G00 X#32 Y#33
    G81 Z#26 R#18 F#9
    G80

    #31 = #31 + 1
  END2

  #30 = #30 + 1
END1

M99

El ciclo externo cuenta filas y el interno columnas. Cada coordenada se calcula sumando al punto inicial el índice multiplicado por el paso. Con A4 y B3, el programa hará doce orificios: cuatro en cada una de tres filas.

En esta versión didáctica, G81 se activa y cancela en cada punto. Esto añade algo de tiempo, pero limita el estado modal del ciclo a una operación. En producción, el ciclo puede mantenerse activo entre posiciones, siempre que se controle bien la primera ejecución, el estado modal y la cancelación final con G80.

Programa principal y estados seguros

El macro no debe inferir herramienta, compensación de longitud, revoluciones o desplazamiento de pieza. Es mejor dejar esos datos en el programa principal para facilitar la revisión de la preparación.

O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08

G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.

G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30

Aquí se definen el plano G17, posicionamiento absoluto G90, sistema de coordenadas G54 y compensación de longitud G43 H01 antes de llamar al macro. Las alturas seguras, la retirada a cero máquina y la secuencia de arranque deben ajustarse a la máquina y al estándar de la empresa.

Validaciones imprescindibles en un macro de producción

El código parametrizado reduce la edición manual, pero un parámetro erróneo puede alterar todo el patrón. Un macro de producción debe validar entradas. Filas y columnas deben ser enteros positivos, el plano R debe estar en el lado seguro de la pieza, y las posiciones X/Y calculadas deben quedar dentro del límite de la pieza y recorrido de máquina.

  • Confirme la correspondencia entre letras de argumentos y variables locales para el control usado.
  • Asegúrese de que cada DO tenga su END correspondiente en los ciclos anidados.
  • Calcule el último punto con anticipación: X + (A − 1) × I y Y + (B − 1) × J.
  • Revise el signo de Z, la posición de R y el modo de retorno G98 o G99.
  • Ejecute primero simulación gráfica y luego bloque a bloque con avance rápido reducido.
  • Si hay tornillos o prensas, verifique también las trayectorias de traslado, no solo los puntos de taladrado.

También es útil proteger contra argumentos faltantes. En controles donde variables locales no asignadas son nulas, el macro puede generar alarma antes de moverse. La sintaxis para esa comprobación y alarma debe consultarse en el manual del CNC.

Cuándo el macro realmente facilita el trabajo

Para una pieza única con cinco orificios conocidos, un G81 simple y lista de coordenadas suele ser más legible. El macro es útil cuando el patrón cambia según reglas claras: matrices rectangulares o circulares, varios tamaños de una pieza, orificios repetidos en distintos desplazamientos, o familias de productos con proceso común.

Un macro mantenible tiene una tarea clara y una interfaz sencilla. Cada argumento se documenta en comentarios o en la hoja de ajuste, y se guarda un ejemplo válido junto al programa. Así el operador cambia dimensiones y parámetros sin editar fórmulas ni contadores.

Haas ofrece documentación oficial sobre paso de argumentos con G65 y variables locales y sobre ciclos fijos de taladrado. Use esas referencias como base y verifique la versión de software instalada en la máquina.

Uso de la programación macro para crear programas de ciclos repetitivos de taladrado

Este artículo está disponible en los siguientes idiomas: