Skip to content

Explicación de un programa FANUC de ciclo de ranura rectangular ​

Este artículo utiliza un programa FANUC breve y fácil de seguir para mover una herramienta continuamente por una trayectoria rectangular e incrementar automáticamente el recuento de piezas en 1 después de cada vuelta. El ejemplo está pensado principalmente para la enseñanza con el simulador CNC GUIDE: permite observar el comportamiento de las coordenadas, el ajuste porcentual de avance, los retornos del bucle y las variables del sistema.

Vista general de la lección sobre el ciclo de ranura rectangular FANUC

Figura: la vista general combina la trayectoria en planta, la profundidad en vista lateral, los parámetros de mecanizado, los pasos, el flujo del bucle y el programa de ejemplo compacto para ofrecer una visión de conjunto.

Aviso de seguridad

Este programa está destinado a la formación con simulador. Omite el arranque del husillo, el refrigerante, la compensación de longitud de la herramienta, la compensación del radio de la herramienta y todas las comprobaciones de seguridad necesarias para el mecanizado real. Antes de ejecutarlo en una máquina real, vuelva a validarlo con el manual del fabricante, las condiciones de sujeción y de las herramientas y los procedimientos de seguridad de las instalaciones.


1. ¿Qué mecaniza realmente este programa? ​

Este programa no fresa todo el interior del rectángulo.

Mueve el centro de la herramienta una sola vez alrededor de un rectángulo de 40 × 30 mm, produciendo una ranura rectangular cerrada.

  • Trayectoria del centro de la herramienta: 40 × 30 mm
  • Profundidad de corte: 2 mm
  • Herramienta sugerida para la demostración: fresa de extremo plano D10
  • Anchura de la ranura: aproximadamente el diámetro de la herramienta, es decir, 10 mm
  • Cuatro esquinas de la ranura: redondeadas por el radio de la herramienta
  • Interior del rectángulo: el material original permanece; no se elimina mediante fresado

Distinción importante

  • Una vuelta produce una ranura rectangular.
  • Para eliminar el material interior y crear una cajera rectangular se necesitan varias vueltas desplazadas progresivamente hacia dentro.

Diagrama de la ranura rectangular terminada ​

Pieza de demostración y sistema de coordenadas tras mecanizar la ranura rectangular

Figura: después de que la fresa de extremo plano D10 recorra una vez la línea central rectangular, deja una ranura cuya línea central mide aproximadamente 40 × 30 mm y comienza en X0 Y0.

text
┌──────────────────────────────┐
│                              │
│   ┌──────────────────────┐   │
│   │  Queda material      │   │
│   └──────────────────────┘   │
│                              │
└──────────────────────────────┘

Diagrama: la herramienta recorre la línea central rectangular una sola vez y forma una ranura cerrada; el material del interior del rectángulo permanece.


2. Programa compacto final ​

gcode
%
O1000(RECTANGLE LOOP DEMO)
(TOOL PATH 40X30 DEPTH 2)

G21 G17 G40 G49 G80 G90 G94 G54
#3901=0(PART COUNT RESET)

G00 Z5.(SAFE HEIGHT)
G00 X0.Y0.(START POINT)

N10 G01 Z-2.F300.(PLUNGE)
G01 X40.Y0.F600.(EDGE 1)
Y30.(EDGE 2)
X0.(EDGE 3)
Y0.(EDGE 4)

G00 Z5.(RETRACT)
#3901=#3901+1(PART COUNT +1)
G04 X2.(WAIT 2 SECONDS)
M99 P10(RETURN TO N10)

%

Este es un programa de demostración para aprender con CNC GUIDE y observar los cambios de coordenadas. Omite deliberadamente los cambios de herramienta, el arranque del husillo, el refrigerante, la compensación de longitud y la compensación del radio de la herramienta para facilitar la comprensión de los fundamentos del movimiento, el avance, los bucles y el recuento.


3. Coordenadas y trayectoria de la herramienta ​

El programa utiliza coordenadas absolutas (G90) y supone lo siguiente:

PosiciónCoordenada
Superficie superior de la piezaZ0
Altura seguraZ5
Profundidad de corteZ-2
Inicio del rectánguloX0 Y0
Primera esquinaX40 Y0
Segunda esquinaX40 Y30
Tercera esquinaX0 Y30
Retorno al inicioX0 Y0

La trayectoria del centro de la herramienta vista desde arriba es:

text
             X40 Y30
       ④ <──────── ③
       │             ↑
       │             │
       ↓             │
X0 Y0 ① ─────────> ② X40 Y0

Secuencia de movimiento:

  1. Llevar la herramienta a la altura segura Z5.
  2. Mover rápidamente al inicio del rectángulo en X0 Y0.
  3. Penetrar hasta Z-2 a F300.
  4. Recorrer los cuatro lados a F600.
  5. Retirar hasta Z5 después de una vuelta.
  6. Incrementar el recuento de piezas en 1.
  7. Hacer una pausa de 2 segundos.
  8. Volver a N10 para iniciar automáticamente la siguiente vuelta.

Sistema de coordenadas y diagrama de la trayectoria ​

Sistema de coordenadas de la pieza, altura segura y profundidad de corte

Figura: la superficie superior de la pieza es Z0, la altura segura es Z5, la profundidad de corte es Z-2 y la trayectoria rectangular comienza en X0 Y0.

text
Z+
↑
│      Altura segura: Z5
│      ─────────
│
│      Superficie superior de la pieza: Z0
│      ─────────
│
│      Profundidad de corte: Z-2
│      ─────────
└────────────────→ X+

Diagrama: el programa primero se desplaza al inicio a la altura segura, penetra hasta Z-2 y después sigue la trayectoria rectangular en el plano XY.

Secuencia de movimiento del programa de ranura rectangular

Figura: las líneas azules discontinuas indican el posicionamiento rápido y la retirada con G00; las líneas rojas continuas indican el avance de corte con G01. El programa realiza, en orden, la penetración, el mecanizado de los cuatro lados y la retirada.


4. Explicación línea por línea ​

4.1 Inicio y número del programa ​

gcode
%
O1000(RECTANGLE LOOP DEMO)
(TOOL PATH 40X30 DEPTH 2)

% ​

Marca el comienzo del archivo del programa. Otro % al final marca el final del archivo.

O1000 ​

El número del programa es 1000.

Los programas FANUC tradicionales suelen utilizar:

text
O + número

Por ejemplo:

text
O0001
O0100
O1000

La versión actual de CNC GUIDE también admite nombres de programa como <SAMPLE> y <Woody001>, pero O1000 sigue las convenciones tradicionales de FANUC.

Texto entre paréntesis ​

gcode
(RECTANGLE LOOP DEMO)
(TOOL PATH 40X30 DEPTH 2)

El texto entre paréntesis es un comentario y no se ejecuta.


4.2 Inicializar los modos de mecanizado ​

gcode
G21 G17 G40 G49 G80 G90 G94 G54

Esta línea establece varios estados modales a la vez:

InstrucciónFunción
G21Utilizar milímetros como unidad de longitud
G17Seleccionar el plano XY
G40Cancelar la compensación del radio de la herramienta
G49Cancelar la compensación de longitud de la herramienta
G80Cancelar los ciclos fijos de taladrado y otros
G90Utilizar programación en coordenadas absolutas
G94Establecer las unidades de avance en mm/min
G54Utilizar el primer sistema de coordenadas de trabajo

G90 es especialmente fácil de malinterpretar.

Con G90:

gcode
X40.

significa desplazarse a la coordenada absoluta X=40, no otros 40 mm desde la posición actual.


4.3 Poner a cero el recuento de piezas ​

gcode
#3901=0(PART COUNT RESET)

#3901 es la variable del sistema FANUC para el recuento de piezas.

Esta línea la pone a cero:

text
#3901 = 0

Solo se ejecuta cuando el programa se inicia desde el principio.

El bucle posterior utiliza:

gcode
M99 P10

para saltar directamente a N10, de modo que la puesta a cero no vuelve a ejecutarse.

Si CNC GUIDE genera aquí una alarma de variable de macro, elimine temporalmente las dos líneas que contienen #3901. El programa podrá seguir repitiéndose, pero ya no incrementará automáticamente el recuento de piezas.


4.4 Retirar hasta la altura segura ​

gcode
G00 Z5.(SAFE HEIGHT)

G00 significa posicionamiento rápido.

Esta línea mueve rápidamente el eje Z hasta:

text
Z = 5 mm

Como la superficie superior de la pieza es Z0, Z5 sitúa la punta de la herramienta 5 mm por encima de ella.

Elevar Z antes de mover X e Y reduce el riesgo de golpear la pieza durante un movimiento lateral rápido.


4.5 Desplazamiento rápido al inicio del rectángulo ​

gcode
G00 X0.Y0.(START POINT)

La herramienta permanece a la altura segura Z5 y se desplaza rápidamente a:

text
X = 0
Y = 0

Esta es la esquina inferior izquierda de la trayectoria y el inicio de cada vuelta.


4.6 Inicio del bucle y penetración ​

gcode
N10 G01 Z-2.F300.(PLUNGE)

Este bloque consta de cuatro partes:

ParteSignificado
N10Número de bloque 10
G01Avance de corte lineal
Z-2.Desplazarse a la coordenada absoluta Z=-2
F300.Velocidad de avance de 300 mm/min

La herramienta desciende desde:

text
Z5

hasta:

text
Z-2

El recorrido total es de 7 mm.

Tiempo teórico de penetración:

text
7 ÷ 300 × 60 = 1.4 segundos

N10 es el punto de retorno del bucle. Después de cada vuelta, M99 P10 vuelve aquí.


4.7 Mecanizar el primer lado ​

gcode
G01 X40.Y0.F600.(EDGE 1)

La herramienta se desplaza desde:

text
X0 Y0

hasta:

text
X40 Y0

Es decir, 40 mm en el sentido positivo de X.

Esta línea también cambia el avance del contorno a:

text
F600 mm/min

4.8 Mecanizar el segundo lado ​

gcode
Y30.(EDGE 2)

G01 y F600 son modales, por lo que no es necesario repetirlos en cada línea.

La herramienta se desplaza desde:

text
X40 Y0

hasta:

text
X40 Y30

Aquí no se especifica X, por lo que X permanece en 40.


4.9 Mecanizar el tercer lado ​

gcode
X0.(EDGE 3)

La herramienta se desplaza desde:

text
X40 Y30

hasta:

text
X0 Y30

No se especifica Y, por lo que Y permanece en 30.


4.10 Mecanizar el cuarto lado ​

gcode
Y0.(EDGE 4)

La herramienta se desplaza desde:

text
X0 Y30

hasta:

text
X0 Y0

Los cuatro lados están completos y la herramienta ha vuelto a su punto de partida.

Trayectoria de la herramienta para la ranura rectangular vista desde arriba

Figura: la línea roja continua de la vista en planta es la trayectoria de corte. El centro de la herramienta pasa por X0 Y0, X40 Y0, X40 Y30 y X0 Y30, y después vuelve a X0 Y0.


4.11 Retirada ​

gcode
G00 Z5.(RETRACT)

La herramienta se retira rápidamente desde la profundidad de corte:

text
Z-2

hasta:

text
Z5

La herramienta ya ha vuelto a X0 Y0, por lo que puede iniciar otra vuelta con seguridad después de retirarse.


4.12 Incrementar el recuento de piezas ​

gcode
#3901=#3901+1(PART COUNT +1)

Esto equivale a:

text
Recuento actual de piezas = recuento actual de piezas + 1

Por ejemplo, si el recuento actual es 7:

text
#3901 = 7 + 1
#3901 = 8

Por tanto, el recuento de piezas mostrado en el CNC aumenta en 1 después de cada vuelta.

Aquí se considera que «una vuelta completa de la ranura rectangular» equivale a «una pieza terminada».


4.13 Hacer una pausa de dos segundos ​

gcode
G04 X2.(WAIT 2 SECONDS)

G04 indica una pausa temporizada.

X2. significa una pausa de aproximadamente 2 segundos.

La pausa le ayuda a:

  1. Observar el incremento del recuento de piezas.
  2. Ver un intervalo claro entre vueltas.
  3. Comprender el ritmo de ejecución del programa.

4.14 Volver al inicio del bucle ​

gcode
M99 P10(RETURN TO N10)

Esta instrucción devuelve el programa a:

gcode
N10

Por tanto, el programa no termina, sino que se repite indefinidamente:

text
N10 penetración
→ Mecanizar los cuatro lados
→ Retirar
→ Incrementar el recuento de piezas en 1
→ Hacer una pausa de 2 segundos
→ Volver a N10

Pulse Cycle Start (CST) una vez y el programa seguirá repitiéndose hasta que se detenga o reinicie manualmente.

Bucle de la ranura rectangular y contador de piezas

Figura: después de cada vuelta, la herramienta se retira, el recuento de piezas aumenta en 1, el programa hace una pausa y M99 devuelve la ejecución al inicio del bucle.


5. ¿Cuánto tarda cada vuelta? ​

Perímetro del rectángulo:

text
40 + 30 + 40 + 30 = 140 mm

El contorno XY utiliza:

text
F600 mm/min

Tiempo teórico del contorno:

text
140 ÷ 600 × 60 = 14 segundos

La distancia de penetración es de 7 mm a:

text
F300 mm/min

Tiempo teórico de penetración:

text
7 ÷ 300 × 60 = 1.4 segundos

El programa también hace una pausa de 2 segundos, por lo que el total teórico es aproximadamente:

text
14 + 1.4 + 2 = 17.4 segundos

Teniendo en cuenta los movimientos rápidos, la aceleración y desaceleración de los ejes y el procesamiento del controlador, el tiempo real es aproximadamente:

text
18–20 segundos/vuelta

Esto supone que el ajuste porcentual de avance del panel está al 100%.


6. ¿Cómo afecta el ajuste porcentual de avance a la ejecución? ​

En el programa:

gcode
F300.
F600.

son velocidades de avance programadas.

El ajuste porcentual de avance del panel del operario modifica además la velocidad real.

Por ejemplo, al ejecutar F600:

Ajuste porcentual de avance del panelVelocidad de avance real
100%Aproximadamente 600 mm/min
50%Aproximadamente 300 mm/min
25%Aproximadamente 150 mm/min
0%0 mm/min; las coordenadas dejan de cambiar

Con un ajuste del 0%, las siguientes observaciones pueden resultar engañosas:

  • Parece que el programa se ha iniciado.
  • El tiempo de ejecución transcurrido sigue aumentando.
  • El estado actual del programa es STRT o MTN.
  • Las coordenadas permanecen fijas en una instrucción G01.
  • El valor real de F mostrado en la pantalla es 0.

El programa se está ejecutando; simplemente, el ajuste porcentual ha fijado el avance de corte en el 0%.


7. La trayectoria del centro de la herramienta no es la dimensión exterior de la ranura ​

La dimensión programada:

text
40 × 30 mm

describe el rectángulo trazado por el centro de la herramienta, no el límite exterior final de la ranura.

Con una fresa de extremo D10:

  • El radio de la herramienta es de 5 mm.
  • La anchura de la ranura es de aproximadamente 10 mm.
  • La herramienta corta unos 5 mm a cada lado de su línea central.
  • Las cuatro esquinas tienen un radio aproximado de R5.

Sin compensación del radio de la herramienta, no se puede interpretar este programa como el mecanizado de una ranura cuyas dimensiones exteriores sean exactamente 40 × 30 mm.

Por eso incluye:

gcode
G40

y excluye explícitamente la compensación de la herramienta del ejemplo.


8. ¿Por qué no se fresa el interior? ​

El programa solo contiene cuatro movimientos rectilíneos XY:

gcode
G01 X40.Y0.
Y30.
X0.
Y0.

La herramienta da una sola vuelta alrededor del límite rectangular.

No hay instrucciones de trayectoria que pasen por el centro, por lo que el material de esa zona permanece.

Para fresar una cajera rectangular completa, añada varias trayectorias desplazadas hacia dentro, por ejemplo:

text
Vuelta exterior
→ Desplazar hacia dentro una distancia
→ Segunda vuelta
→ Desplazar de nuevo hacia dentro
→ Tercera vuelta
→ Continuar hasta cubrir el centro

Otros métodos son:

  • Pasadas paralelas de ida y vuelta.
  • Una trayectoria en espiral hacia dentro.
  • Una trayectoria de cajera generada por software CAM.
  • Una macro FANUC que calcule automáticamente las vueltas sucesivas.

Estos métodos quedan fuera del alcance de este programa de ejemplo mínimo.


9. Ejecución del programa en CNC GUIDE ​

9.1 Importar o introducir el programa ​

Guarde el programa como archivo de texto o cree O1000 en CNC GUIDE e introduzca el programa.

9.2 Establecerlo como programa principal actual ​

En el directorio de programas:

  1. Mueva el cursor a O1000.
  2. Seleccione «Operación».
  3. Seleccione «Programa principal» o «Selección de programa principal».
  4. Confirme que O1000 aparece en la parte superior de la pantalla.

9.3 Desactivar la parada de emergencia ​

Si en la parte inferior de la pantalla aparece:

text
--EMG--

entonces:

  1. Haga clic en ESP en el panel de E/S para desactivar la parada de emergencia.
  2. Pulse RESET en el panel físico.
  3. Confirme que --EMG-- desaparece.

9.4 Configurar el ajuste porcentual de avance ​

Asegúrese de que la combinación FOV del panel de E/S de la derecha no esté al 0%.

Para las pruebas, se recomienda el siguiente ajuste:

text
100%

Puede empezar con un porcentaje menor para observar los cambios de coordenadas.

9.5 Iniciar el programa ​

  1. Haga clic en AUTO para entrar en modo automático.
  2. Confirme que el modo bloque a bloque SSBK está desactivado.
  3. Haga clic en CST (Cycle Start).
  4. Observe cómo cambian X, Y, Z y el recuento de piezas.

10. ¿Qué debería observar durante el funcionamiento normal? ​

Después del inicio, las coordenadas deberían cambiar aproximadamente así:

text
Z: 5 → -2
X: 0 → 40
Y: 0 → 30
X: 40 → 0
Y: 30 → 0
Z: -2 → 5

Después:

text
Recuento de piezas +1
Pausa de 2 segundos
Nueva penetración

Durante el bucle:

  • X varía entre 0 y 40.
  • Y varía entre 0 y 30.
  • Z varía entre 5 y -2.
  • El recuento de piezas aumenta en 1 en cada vuelta.
  • El tiempo de ejecución transcurrido sigue aumentando.
  • El programa no termina con M30.

11. Cómo detenerlo ​

Pausa normal ​

Utilice:

text
Feed Hold / CSP

Esto pausa el movimiento de avance actual.

Finalizar el bucle ​

Pulse:

text
RESET

Esto termina el programa en ejecución y elimina el estado del bucle.

Emergencia ​

Utilice:

text
ESP

La parada de emergencia es únicamente para situaciones de emergencia; no debe utilizarse como botón habitual de parada del programa.


12. Solución de problemas ​

12.1 El tiempo de ejecución aumenta, pero las coordenadas no se mueven ​

La causa más frecuente es un ajuste porcentual de avance del 0%.

Compruebe:

text
¿El valor real de F en pantalla es 0 mm/min?
¿FOV, a la derecha, está ajustado al 0%?

El programa puede haber completado el posicionamiento rápido G00 y estar esperando en:

gcode
G01 Z-2.F300.

a que el ajuste porcentual de avance de corte sea distinto de cero.


12.2 Alarma en #3901 ​

Es posible que la función correspondiente a las variables de macro no esté activada en la configuración actual.

Primero elimine:

gcode
#3901=0
#3901=#3901+1

El programa seguirá repitiéndose, pero el recuento de piezas ya no aumentará automáticamente.


12.3 El programa se detiene después de un bloque ​

Compruebe si está activado:

text
SSBK

Este es el modo bloque a bloque. Cuando está activado, cada bloque requiere volver a pulsar Cycle Start.


12.4 No ocurre nada al hacer clic en CST ​

Compruebe:

  • ¿Está el controlador en modo AUTO?
  • ¿Sigue apareciendo --EMG--?
  • ¿Hay otras alarmas?
  • ¿Es O1000 el programa principal actual?
  • ¿Está CSP en estado de parada?
  • ¿Está el ajuste porcentual de avance al 0%?

12.5 ¿Por qué el programa no arranca el husillo? ​

Este es un programa didáctico de movimiento de coordenadas y omite deliberadamente:

gcode
T1 M06
S2000 M03
M08
G43 H01

Estas instrucciones pueden depender de:

  • Una señal de finalización del cambio de herramienta.
  • Una señal de finalización del arranque del husillo.
  • La configuración del PMC.
  • Los valores de compensación de longitud de la herramienta.
  • Las señales de control del refrigerante.

Añadirlas introduce más variables y posibles alarmas para los principiantes.

Es mejor comprender primero las coordenadas, el avance, los bucles y el recuento, y después añadir gradualmente las operaciones completas de la máquina.


13. Conceptos básicos que enseña este programa ​

Este breve programa abarca:

  1. O1000: número de programa FANUC tradicional.
  2. G90: coordenadas absolutas.
  3. G00: posicionamiento rápido.
  4. G01: avance de corte lineal.
  5. F: velocidad de avance programada.
  6. G54: sistema de coordenadas de trabajo.
  7. N10: número de bloque.
  8. G04: pausa temporizada.
  9. #3901: variable de recuento de piezas.
  10. M99 P10: retorno a un bloque indicado y repetición en bucle.
  11. Instrucciones modales: por qué las líneas siguientes pueden omitir G01 y F600.
  12. Ajuste porcentual de avance: relación entre la velocidad programada y el ajuste del panel.
  13. Diferencia entre la trayectoria del centro de la herramienta y el contorno realmente mecanizado.

14. Todo el programa en una frase ​

La herramienta se desplaza desde la altura segura hasta la esquina inferior izquierda, penetra 2 mm, recorre la línea central rectangular de 40 × 30 mm a 600 mm/min, se retira, incrementa el recuento de piezas en 1, espera 2 segundos y después repite el ciclo automáticamente.


15. Recordatorios de seguridad ​

Este programa está pensado principalmente para la enseñanza con el simulador CNC GUIDE.

Antes de ejecutarlo en una máquina real, verifique que:

  • El sistema de coordenadas de trabajo G54 esté configurado correctamente.
  • Las posiciones de la herramienta y de la pieza sean correctas.
  • Z0 sea realmente la superficie superior de la pieza.
  • Z5 proporcione suficiente espacio libre.
  • Z-2 no provoque una colisión con el útil de sujeción.
  • La trayectoria X/Y permanezca dentro del material de la pieza.
  • La herramienta esté bien sujeta y el husillo esté girando.
  • La primera ejecución se valide en modo bloque a bloque, en vacío y con un ajuste porcentual bajo.
  • El bucle infinito no deje la máquina funcionando sin supervisión.

Este ejemplo carece de compensación de longitud de la herramienta y de control del husillo y no debe utilizarse para mecanizado real sin modificarlo. Verifique primero sus coordenadas, la lógica del bucle y el comportamiento del recuento de piezas en CNC GUIDE; después añada gradualmente los cambios de herramienta, el husillo, el refrigerante, las compensaciones y una condición de salida para crear un programa completo para la máquina específica.