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.

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

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.
┌──────────────────────────────┐
│ │
│ ┌──────────────────────┐ │
│ │ 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
%
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ón | Coordenada |
|---|---|
| Superficie superior de la pieza | Z0 |
| Altura segura | Z5 |
| Profundidad de corte | Z-2 |
| Inicio del rectángulo | X0 Y0 |
| Primera esquina | X40 Y0 |
| Segunda esquina | X40 Y30 |
| Tercera esquina | X0 Y30 |
| Retorno al inicio | X0 Y0 |
La trayectoria del centro de la herramienta vista desde arriba es:
X40 Y30
④ <──────── ③
│ ↑
│ │
↓ │
X0 Y0 ① ─────────> ② X40 Y0Secuencia de movimiento:
- Llevar la herramienta a la altura segura
Z5. - Mover rápidamente al inicio del rectángulo en
X0 Y0. - Penetrar hasta
Z-2aF300. - Recorrer los cuatro lados a
F600. - Retirar hasta
Z5después de una vuelta. - Incrementar el recuento de piezas en 1.
- Hacer una pausa de 2 segundos.
- Volver a
N10para iniciar automáticamente la siguiente vuelta.
Sistema de coordenadas y diagrama de la trayectoria

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.
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.

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 conG01. 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
%
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:
O + númeroPor ejemplo:
O0001
O0100
O1000La 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
(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
G21 G17 G40 G49 G80 G90 G94 G54Esta línea establece varios estados modales a la vez:
| Instrucción | Función |
|---|---|
G21 | Utilizar milímetros como unidad de longitud |
G17 | Seleccionar el plano XY |
G40 | Cancelar la compensación del radio de la herramienta |
G49 | Cancelar la compensación de longitud de la herramienta |
G80 | Cancelar los ciclos fijos de taladrado y otros |
G90 | Utilizar programación en coordenadas absolutas |
G94 | Establecer las unidades de avance en mm/min |
G54 | Utilizar el primer sistema de coordenadas de trabajo |
G90 es especialmente fácil de malinterpretar.
Con G90:
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
#3901=0(PART COUNT RESET)#3901 es la variable del sistema FANUC para el recuento de piezas.
Esta línea la pone a cero:
#3901 = 0Solo se ejecuta cuando el programa se inicia desde el principio.
El bucle posterior utiliza:
M99 P10para 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
G00 Z5.(SAFE HEIGHT)G00 significa posicionamiento rápido.
Esta línea mueve rápidamente el eje Z hasta:
Z = 5 mmComo 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
G00 X0.Y0.(START POINT)La herramienta permanece a la altura segura Z5 y se desplaza rápidamente a:
X = 0
Y = 0Esta es la esquina inferior izquierda de la trayectoria y el inicio de cada vuelta.
4.6 Inicio del bucle y penetración
N10 G01 Z-2.F300.(PLUNGE)Este bloque consta de cuatro partes:
| Parte | Significado |
|---|---|
N10 | Número de bloque 10 |
G01 | Avance de corte lineal |
Z-2. | Desplazarse a la coordenada absoluta Z=-2 |
F300. | Velocidad de avance de 300 mm/min |
La herramienta desciende desde:
Z5hasta:
Z-2El recorrido total es de 7 mm.
Tiempo teórico de penetración:
7 ÷ 300 × 60 = 1.4 segundosN10 es el punto de retorno del bucle. Después de cada vuelta, M99 P10 vuelve aquí.
4.7 Mecanizar el primer lado
G01 X40.Y0.F600.(EDGE 1)La herramienta se desplaza desde:
X0 Y0hasta:
X40 Y0Es decir, 40 mm en el sentido positivo de X.
Esta línea también cambia el avance del contorno a:
F600 mm/min4.8 Mecanizar el segundo lado
Y30.(EDGE 2)G01 y F600 son modales, por lo que no es necesario repetirlos en cada línea.
La herramienta se desplaza desde:
X40 Y0hasta:
X40 Y30Aquí no se especifica X, por lo que X permanece en 40.
4.9 Mecanizar el tercer lado
X0.(EDGE 3)La herramienta se desplaza desde:
X40 Y30hasta:
X0 Y30No se especifica Y, por lo que Y permanece en 30.
4.10 Mecanizar el cuarto lado
Y0.(EDGE 4)La herramienta se desplaza desde:
X0 Y30hasta:
X0 Y0Los cuatro lados están completos y la herramienta ha vuelto a su punto de partida.

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
G00 Z5.(RETRACT)La herramienta se retira rápidamente desde la profundidad de corte:
Z-2hasta:
Z5La 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
#3901=#3901+1(PART COUNT +1)Esto equivale a:
Recuento actual de piezas = recuento actual de piezas + 1Por ejemplo, si el recuento actual es 7:
#3901 = 7 + 1
#3901 = 8Por 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
G04 X2.(WAIT 2 SECONDS)G04 indica una pausa temporizada.
X2. significa una pausa de aproximadamente 2 segundos.
La pausa le ayuda a:
- Observar el incremento del recuento de piezas.
- Ver un intervalo claro entre vueltas.
- Comprender el ritmo de ejecución del programa.
4.14 Volver al inicio del bucle
M99 P10(RETURN TO N10)Esta instrucción devuelve el programa a:
N10Por tanto, el programa no termina, sino que se repite indefinidamente:
N10 penetración
→ Mecanizar los cuatro lados
→ Retirar
→ Incrementar el recuento de piezas en 1
→ Hacer una pausa de 2 segundos
→ Volver a N10Pulse Cycle Start (CST) una vez y el programa seguirá repitiéndose hasta que se detenga o reinicie manualmente.

Figura: después de cada vuelta, la herramienta se retira, el recuento de piezas aumenta en 1, el programa hace una pausa y
M99devuelve la ejecución al inicio del bucle.
5. ¿Cuánto tarda cada vuelta?
Perímetro del rectángulo:
40 + 30 + 40 + 30 = 140 mmEl contorno XY utiliza:
F600 mm/minTiempo teórico del contorno:
140 ÷ 600 × 60 = 14 segundosLa distancia de penetración es de 7 mm a:
F300 mm/minTiempo teórico de penetración:
7 ÷ 300 × 60 = 1.4 segundosEl programa también hace una pausa de 2 segundos, por lo que el total teórico es aproximadamente:
14 + 1.4 + 2 = 17.4 segundosTeniendo 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:
18–20 segundos/vueltaEsto 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:
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 panel | Velocidad 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
STRToMTN. - Las coordenadas permanecen fijas en una instrucción
G01. - El valor real de
Fmostrado 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:
40 × 30 mmdescribe 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:
G40y 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:
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:
Vuelta exterior
→ Desplazar hacia dentro una distancia
→ Segunda vuelta
→ Desplazar de nuevo hacia dentro
→ Tercera vuelta
→ Continuar hasta cubrir el centroOtros 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:
- Mueva el cursor a
O1000. - Seleccione «Operación».
- Seleccione «Programa principal» o «Selección de programa principal».
- Confirme que
O1000aparece en la parte superior de la pantalla.
9.3 Desactivar la parada de emergencia
Si en la parte inferior de la pantalla aparece:
--EMG--entonces:
- Haga clic en
ESPen el panel de E/S para desactivar la parada de emergencia. - Pulse
RESETen el panel físico. - 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:
100%Puede empezar con un porcentaje menor para observar los cambios de coordenadas.
9.5 Iniciar el programa
- Haga clic en
AUTOpara entrar en modo automático. - Confirme que el modo bloque a bloque
SSBKestá desactivado. - Haga clic en
CST(Cycle Start). - 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í:
Z: 5 → -2
X: 0 → 40
Y: 0 → 30
X: 40 → 0
Y: 30 → 0
Z: -2 → 5Después:
Recuento de piezas +1
Pausa de 2 segundos
Nueva penetraciónDurante 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:
Feed Hold / CSPEsto pausa el movimiento de avance actual.
Finalizar el bucle
Pulse:
RESETEsto termina el programa en ejecución y elimina el estado del bucle.
Emergencia
Utilice:
ESPLa 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:
¿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:
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:
#3901=0
#3901=#3901+1El 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:
SSBKEste 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
O1000el programa principal actual? - ¿Está
CSPen 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:
T1 M06
S2000 M03
M08
G43 H01Estas 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:
O1000: número de programa FANUC tradicional.G90: coordenadas absolutas.G00: posicionamiento rápido.G01: avance de corte lineal.F: velocidad de avance programada.G54: sistema de coordenadas de trabajo.N10: número de bloque.G04: pausa temporizada.#3901: variable de recuento de piezas.M99 P10: retorno a un bloque indicado y repetición en bucle.- Instrucciones modales: por qué las líneas siguientes pueden omitir
G01yF600. - Ajuste porcentual de avance: relación entre la velocidad programada y el ajuste del panel.
- 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.
Z5proporcione suficiente espacio libre.Z-2no 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.

