Código G04 CNC Dwell: Guía de Programación y Parámetros de Seguridad
Domine la programación de G04 Dwell en controles Fanuc, Siemens y Mitsubishi. Evite colisiones graves, alarmas como PS5447 y optimice sus tiempos de ciclo.
Introducción
Definir una altura de seguridad insuficiente en ciclos de taladrado profundo o roscado y girar la torreta portaherramientas por debajo del plano de retracción provoca que el portaherramientas colisione directamente contra la mordaza de la mordaza (vise jaw), la brida de fijación (fixture clamp) o el plato del torno (workpiece chuck). Esto resulta en una colisión grave, daños estructurales en el husillo y una pieza completamente rechazada (scrap part) que incrementa los tiempos de inactividad no planificados. Del mismo modo, la activación de la compensación de radio de herramienta (G41/G42) junto con la programación de más de dos bloques consecutivos sin movimiento, como temporizaciones G04 o traslaciones de coordenadas G10, agota el búfer de lectura previa (look-ahead). Al no poder calcular los vectores de intersección, el control detiene el ciclo bajo el código de alarma PS5447 y provoca el ranurado indeseado de la pieza. Para mitigar estos riesgos catastróficos en producción, es imprescindible dominar la sintaxis del comando G04 y configurar correctamente los parámetros del sistema.
Resumen Técnico
| Especificación Técnica | Detalles |
|---|---|
| Código de Comando | G04 (G4 en modo nativo de Siemens) |
| Grupo Modal | Grupo 00 (No modal) |
| Marcas Soportadas | Fanuc, Siemens, Mitsubishi |
| Parámetros Críticos | Parameter No. 6200 Bit 1 (Fanuc), MD20734 (Siemens), Parameter #1173 (Mitsubishi) |
| Restricción Principal | Debe programarse solo en un bloque en Siemens y Mitsubishi. El husillo debe girar para temporizaciones basadas en revoluciones. |
Lectura Rápida
- Selección de Dirección: Use X o U para temporizaciones basadas en segundos, y P para milisegundos enteros; nunca use un punto decimal con la dirección P.
- Búfer de Compensación de Corte: Limite a dos los bloques consecutivos sin movimiento cuando G41 o G42 estén activos para evitar el agotamiento del búfer de lectura previa y la Alarma PS5447.
- Temporizaciones Basadas en Revoluciones: Asegúrese de que el husillo esté girando activamente durante las temporizaciones basadas en revoluciones; detener el husillo suspende la cuenta atrás de la temporización.
- Aislamiento de Bloque: Escriba G04 solo en su bloque de programa en Siemens y Mitsubishi para evitar errores de análisis sintáctico del comando.
- Parámetros de Escala Decimal: Verifique el parámetro #1078 (Decpt2) en Mitsubishi para evitar que un valor comandado se escale incorrectamente (por ejemplo, que X500 realice una temporización de 500 segundos en lugar de 0.5 segundos).
- Dirección en Ciclos Fijos: Especifique siempre el parámetro de temporización dentro de los ciclos fijos (G82, G88, G89) usando la dirección P, ya que la dirección X está reservada para coordenadas de posición.
Conceptos Básicos
El comando de temporización G04 es una función preparatoria que detiene el movimiento de los ejes durante un período de tiempo designado o un número específico de revoluciones del husillo. Durante esta pausa, el husillo de la máquina continúa girando, las bombas de refrigerante permanecen activas y todos los registros modales conservan su estado. Esta funcionalidad es crucial para la rotura de viruta, el corte de alivio en el fondo de un agujero y para garantizar que la velocidad de rotación del husillo se estabilice tras un cambio de gama de engranajes. Los programadores también especifican temporizaciones después de funciones auxiliares (M) para permitir que se complete el movimiento físico de los componentes de la máquina (como alimentadores de barras, contrapuntos, platos de sujeción o recogedores de piezas) antes de que se reanude el recorrido de los ejes.
Es fundamental que nunca se programen temporizaciones para permitir que el operador de la máquina realice tareas manuales —como pulido, limado, desbarbado, inversión de piezas o eliminación de virutas— mientras el programa se ejecuta bajo control automático. Anular los enclavamientos de seguridad de esta manera es extremadamente peligroso, lo que pone en riesgo de sufrir lesiones personales graves, una colisión grave catastrófica de la torreta portaherramientas contra el plato de sujeción o la mordaza, daños en el husillo y una pieza completamente rechazada. Si se requiere intervención manual, el operador debe pausar o abortar el programa de manera segura.
Estructura de Comandos
Para ejecutar una temporización, se programa el comando G04 junto con un valor de tiempo o de revoluciones. El sistema de control interpreta la instrucción G04 y detiene la interpolación de los ejes mientras realiza la cuenta atrás de la pausa especificada. La sintaxis y las direcciones aceptables varían según la marca del control CNC, el tipo de máquina (fresadora o torno) y el modo de avance activo. No se produce ningún movimiento físico de los ejes cuando se comanda una temporización porque el código G04 anula la interpretación predeterminada de movimiento de las coordenadas X y U.
Las temporizaciones pueden configurarse basadas en tiempo o en revoluciones. Las temporizaciones basadas en tiempo realizan la cuenta atrás en segundos o milisegundos, mientras que las temporizaciones basadas en revoluciones basan su duración en la velocidad del husillo, contando las revoluciones del husillo en lugar del tiempo. Esto es especialmente útil en roscados o taladrados profundos para asegurar que la herramienta realice un número preciso de cortes de limpieza a la profundidad final.
; Sintaxis Fanuc G04 X1.5 ; Temporización de 1.5 segundos G04 U0.5 ; Temporización de 0.5 segundos (solo torno) G04 P2000 ; Temporización de 2000 milisegundos (2.0 segundos); Sintaxis Nativa de Siemens G4 F2.5 ; Temporización de 2.5 segundos G4 S75 ; Temporización de 75 revoluciones de husillo
; Sintaxis Mitsubishi G94 G04 X2.5 ; Temporización basada en tiempo de 2.5 segundos (modo G94) G95 G04 P2000 ; Temporización basada en revoluciones de 2000 milisegundos (modo G95) G95 G04 X3.0 D2 ; Temporización basada en revoluciones en el husillo 2 para 3.0 revoluciones
| Dirección | Descripción | Contexto del Sistema |
|---|---|---|
| X | Especifica la duración de la temporización en segundos (acepta puntos decimales) o milisegundos (si no se usa punto decimal en Fanuc/Mitsubishi). | Universal |
| U | Especifica la duración de la temporización en segundos en sistemas de torneado (acepta puntos decimales). | Tornos Fanuc / Mitsubishi |
| P | Especifica la duración de la temporización en milisegundos enteros. No acepta un punto decimal. | Universal / Ciclos Fijos |
| F | Especifica la duración de la temporización en segundos (modo nativo de Siemens). | Siemens Nativo |
| S | Especifica la duración de la temporización en revoluciones del husillo (modo nativo de Siemens). | Siemens Nativo |
| D | Apunta a un número de husillo específico (1 a n) para temporizaciones basadas en revoluciones. | Mitsubishi |
Aplicaciones de Marca
Fanuc
En los sistemas Fanuc, G04 es un comando no modal del Grupo 00. Las temporizaciones del ciclo de roscado se gestionan mediante el Parameter No. 6200 Bit 1 (DWL).
Para programar una temporización en Fanuc, use la sintaxis G04 X_, G04 U_ o G04 P_. Por ejemplo, G04 X1.5 realiza una pausa de 1.5 segundos, mientras que G04 P1500 pausa durante 1.5 segundos (1500 milisegundos) sin aceptar punto decimal.
| Categoría | Código / Parámetro / Alarma | Descripción / Condición |
|---|---|---|
| Parámetro | Parameter No. 6200 Bit 1 (DWL) | Habilita la temporización con la dirección P dentro de los ciclos de roscado G84 y G84.2 en los formatos Series 15/15-T. |
| Parámetro | Parameter No. 5000 Bit 3 (GNI) | Controla el comportamiento de la trayectoria de lectura previa (look-ahead) durante la compensación de la herramienta. Establecido en 0 hace que el bloque de cancelación G40 sin movimiento devuelva la herramienta a la posición normal del bloque anterior. |
| Parámetro | Parameter No. 5105 Bit 3 (M5T) | Determina si el comando de parada del husillo (M05) se ejecuta antes del cambio de dirección del husillo durante el roscado. |
| Alarma | Alarm PS0010 | Se especificó un código G incorrecto (el código G no está en la tarjeta activa o no existe la opción de software). |
| Alarma | Alarm PS5257 | Se intentó G41/G42 directamente desde el modo MDI mientras el Parameter No. 5008 Bit 4 (MCR) está establecido en 1. |
| Alarma | Alarm PS5447 | Evitación peligrosa en G41/G42 donde la trayectoria del vector se desvía de 90 a 270 grados debido a un ángulo agudo o ranura estrecha. |
| Alarma | Alarm PS0011 | Avance cero (comando) donde el comando de avance de corte supera los límites máximos u omitido. |
| Diferencia de Versión | Series 15 frente a Series 15-T | Series 15 soporta la temporización con P en G83, G83.1, G84 y G84.2. Series 15-T no soporta la temporización en G83/G83.1 y trata P como modal en G84/G84.2. |
Advertencia: Programar más de dos bloques consecutivos sin movimiento de los ejes (como temporizaciones G04, códigos M o comandos G10) mientras la compensación de radio de corte G41 o G42 está activa agotará el búfer de lectura previa (look-ahead), lo que provocará una alarma de compensación y el ranurado (gouging) indeseado de la pieza.
Siemens
En los sistemas Siemens, G04 es nativo como G4 y funciona como un comando de movimiento no modal. El comportamiento del analizador del modo ISO Dialect se controla mediante el dato de máquina MD20734.
El modo nativo de Siemens utiliza G4 F... para una temporización en segundos, y G4 S... para una temporización en revoluciones del husillo. En el modo ISO Dialect, acepta la sintaxis G04 X... y G04 P...
| Categoría | Código / Parámetro / Alarma | Descripción / Condición |
|---|---|---|
| Parámetro | MD20734 Bit 2 | Dicta la interpretación del tiempo G04 en el modo ISO Dialect: 0 = siempre segundos; 1 = segundos con G94, revoluciones con G95. |
| Parámetro | MD20734 Bit 3 | Controla el escáner ISO Dialect: 0 = los errores del escáner generan alarmas; 1 = los errores del escáner se omiten y se envían al traductor nativo de Siemens. |
| Parámetro | MD20150 [13] | Establece el estado predeterminado del grupo G 2 (comandos de movimiento no modales y temporización, por ejemplo, G4) en el arranque y reinicio del control. |
| Alarma | Alarm 12080 | Error de sintaxis en el modo ISO Dialect (G291) si el escáner ISO encuentra un comando no asignado mientras MD20734 bit 3 está en 0. |
| Alarma | Alarm 14800 | La velocidad de la trayectoria programada es menor o igual a cero (F0 activo u omitido) al realizar la transición a un bloque de corte después de G4. |
| Diferencia de Versión | 802D sl frente a 840D sl / 828D | El avance por tiempo inverso G93 está soportado en 840D sl y 828D, pero no está implementado en 802D sl. MD10604 es de solo lectura en 802D sl. |
Advertencia: Si se programa una temporización basada en revoluciones (G4 S... o G04 en modo G95), cualquier condición de parada del husillo suspenderá la cuenta atrás. La temporización bloqueará la máquina hasta que el husillo comience a girar nuevamente.
Mitsubishi
En los controles Mitsubishi, G04 debe programarse en su propio bloque. El comportamiento de omisión de temporización (dwell skip) se controla mediante el parámetro #1173 (dwlskp).
Mitsubishi soporta G94 G04 X_ o G94 G04 P_ para temporizaciones basadas en tiempo, y G95 G04 X_ D_ o G95 G04 P_ para temporizaciones basadas en revoluciones.
| Categoría | Código / Parámetro / Alarma | Descripción / Condición |
|---|---|---|
| Parámetro | Parameter #1173 (dwlskp) | Omisión de temporización. Determina si una temporización activa puede cancelarse mediante una señal de omisión externa (0 o 1). |
| Parámetro | Parameter #1436 (mstsyn) | Determina si se puede aplicar dinámicamente un porcentaje de override al tiempo de temporización programado. |
| Parámetro | Parameter #8130 | Dwell in rev. Dicta si la temporización basada en revoluciones se aplica automáticamente en el modo de avance síncrono (G95). |
| Parámetro | Parameter #8112 | DECIMAL PNT-P. Controla si los comandos con punto decimal son válidos para la dirección P. |
| Parámetro | Parameter #1078 (Decpt2) | Determina la escala predeterminada de valores decimales sin punto decimal. 0 = X500 es 0.5s; 1 = X500 es 500s. |
| Parámetro | Parameter #19014 | Escala la unidad de ajuste de la dirección P comandada por una potencia de 10. |
| Alarma | MCP Alarm Y51 15 | El parámetro de constante de tiempo de omisión #2102 skip_tL está configurado con un valor ilegal durante las operaciones de omisión. |
| Alarma | MCP Alarm Y51 16 | El parámetro de constante de tiempo de respuesta de omisión #2103 skip_t1 contiene un valor ilegal durante las operaciones de omisión. |
| Alarma | Program Error P35 | El valor de coordenada o la dirección del parámetro de la señal de omisión P está fuera de rango. |
| Alarma | Program Error P603 | El comando de avance de omisión F o el parámetro de omisión #1174 skip_F es 0 durante la medición o la omisión por límite de par. |
| Alarma | Program Error P33 | Los bloques de entrada de parámetros G10 no se comandan en bloques independientes, o G20/G21 se emiten en el mismo bloque que un movimiento posterior. |
| Diferencia de Versión | M8 Series frente a C80 Series | El número de secuencia N permite hasta 8 dígitos en la serie M8, pero está limitado a 6 dígitos en la serie C80. La retracción y recuperación G26 y el ciclo de entrada dinámica de parámetros G10 L50 tienen disponibilidad específica según el modelo. |
Advertencia: Intentar ejecutar la configuración de coordenadas o parámetros como G10 dentro de un bloque de temporización activará el error de programa Program Error P33, provocando la terminación inmediata del ciclo.
Comparación de Marcas
| Característica / Capacidad | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Cambio de Dirección de Temporización | Restringido a parámetros y ciclos fijos. | Soportado nativamente usando F (segundos) y S (revoluciones). | Soportado usando la dirección D para apuntar a un husillo específico y anular el modo de avance. |
| Manejo de Errores del Escáner ISO | Los errores en códigos no mapeados detienen instantáneamente la ejecución del programa. | Omisión única de error de escáner ISO a través del dato de máquina MD20734 bit 3 hacia el compilador nativo. | — (no source) |
| Visualización de la Temporización en HMI | Sin visualización estándar de cuenta atrás activa. | Cuenta atrás visualizada directamente en el panel del operador. | — (no source) |
| Cancelación de Temporización por Señal de Omisión | — (no source) | — (no source) | Soportado dinámicamente mediante el parámetro #1173 dwlskp y señales de omisión. |
| Temporización en Fondo de Agujero en Ciclo Fijo | Temporización modal dentro de los ciclos de roscado habilitada a través de parámetros. | Programado a través de parámetros de ciclo como DT, DTB o DTS. | Integración de anulación de temporización en el fondo del agujero comparando P con #1313 TapDwl. |
Análisis Técnico
Una comparación analítica de estos sistemas de control destaca diferencias importantes en cómo se analizan y ejecutan las temporizaciones. En los sistemas de torneado Fanuc bajo el estándar G-code System A, los códigos de modo absoluto e incremental G90 y G91 son reemplazados por caracteres de dirección directa X/Z y U/W. Programar un comando G90 en un torno Fanuc ejecuta un ciclo de desbaste de diámetro exterior, en lugar de establecer la entrada de coordenadas absolutas. Los controles de Siemens y Mitsubishi manejan el posicionamiento absoluto e incremental de manera diferente, utilizando comandos modales G90 y G91. Mitsubishi proporciona el parámetro #1076 (AbsInc) para alternar entre sistemas de coordenadas basados en direcciones y basados en códigos G, lo que otorga a los programadores flexibilidad según los estándares de su taller.
Siemens también ofrece un proceso de compilación flexible y único. Al utilizar los códigos G de transición G290 y G291, un controlador Siemens puede cambiar entre el modo nativo de Sinumerik y el modo ISO Dialect, lo que permite que los códigos G estándar de ISO (como G04 X... o P...) se ejecuten dentro de subprogramas nativos de Sinumerik. Siemens también cuenta con el dato de máquina MD20734 bit 3, que puede omitir los errores del escáner y reenviar los comandos no asignados directamente al traductor nativo de Siemens en lugar de activar un error de compilación inmediato. Mitsubishi, por otro lado, se destaca al admitir la cancelación de temporización en tiempo real. A través del parámetro #1173 (dwlskp), un comando de temporización activo se puede omitir instantáneamente si se recibe una señal externa de un sensor o de una sonda de contacto, evitando retrasos innecesarios en el tiempo de ciclo.
Ejemplos de Programas
A continuación se presentan ejemplos de programación para Fanuc, Siemens y Mitsubishi. Estos ejemplos ilustran la estructura y sintaxis correctas requeridas para ejecutar temporizaciones en cada sistema de control.
Ejemplo Fanuc
; Temporización Basada en Tiempo para Fresado Fanuc
G90 G01 X150.0 Y100.0 Z-5.0 F300.0 ; Movimiento lineal a 300 mm/min
G04 X1.5 ; Temporización de 1.5 segundos
G01 Z-10.0 F150.0 ; Siguiente movimiento lineal a 150 mm/min
G04 P2000 ; Temporización de 2000 milisegundos (2 segundos)
ejecución en seco (dry run): La verificación en un sistema Fanuc muestra que la herramienta ejecuta una interpolación lineal a las coordenadas X150.0, Y100.0 y Z-5.0 a un avance de 300 mm/min. Una vez que se alcanza la posición, el movimiento de los ejes se detiene durante 1.5 segundos mientras la rotación del husillo y el refrigerante permanecen activos. El movimiento de los ejes se reanuda con un avance en el eje Z a -10.0 a 150 mm/min, seguido de otra pausa de temporización del eje de 2000 milisegundos (2.0 segundos) antes de que se ejecute el siguiente bloque.
Ejemplo Siemens
; Fresado Cartesiano Nativo de Siemens
G17 G94 G1 X150.0 Y100.0 Z-5.0 F500.0 M3 S1000 ; Movimiento a 500 mm/min, husillo a 1000 RPM
G4 F2.5 ; Temporización de 2.5 segundos
G1 Z-12.0 F200.0 ; Siguiente movimiento a 200 mm/min
G4 S75 ; Temporización de 75 revoluciones del husillo
ejecución en seco: La verificación en un control Siemens demuestra que los ejes se mueven a las posiciones absolutas X150.0, Y100.0 y Z-5.0 en el plano XY (G17) a un avance de corte de 500 mm/min, con el husillo girando en sentido horario a 1000 RPM. El recorrido de los ejes se pausa durante 2.5 segundos. El movimiento se reanuda con el recorrido del eje Z a -12.0 a 200 mm/min, seguido de una temporización basada en revoluciones del husillo. El movimiento de los ejes se detiene durante exactamente 75 rotaciones del husillo (75 revoluciones × 60 segundos / 1000 RPM = 4.5 segundos) antes de continuar.
Ejemplo Mitsubishi
; Temporización Basada en Tiempo y Basada en Revoluciones Mitsubishi
G90 G01 X50.0 Z20.0 F300.0 ; Movimiento lineal absoluto a 300 mm/min
G94 G04 X2.5 ; Temporización basada en tiempo de 2.5 segundos
G91 G01 Z-5.0 F150.0 ; Movimiento incremental a 150 mm/min
G95 G04 X3.0 D2 ; Temporización basada en revoluciones de 3.0 revoluciones en el Husillo 2
ejecución en seco: La verificación en un sistema Mitsubishi confirma que la herramienta realiza un movimiento lineal absoluto a X50.0 y Z20.0 a 300 mm/min. La máquina ejecuta entonces una temporización basada en tiempo, suspendiendo el avance de los ejes durante 2.5 segundos. El movimiento de los ejes se reanuda con un movimiento incremental del eje Z de -5.0 a 150 mm/min, seguido de una temporización basada en revoluciones de 3.0 revoluciones dirigida al Husillo 2 antes de que se procese el siguiente bloque del programa.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | Alarm PS0010 | El código G programado no está en la lista de la tarjeta activa o no existe la opción de software. | Parada inmediata del ciclo; la pantalla HMI muestra "IMPROPER G-CODE". | Verifique la sintaxis del código G y asegúrese de que la opción de software para G04 esté habilitada en la tarjeta del control. |
| Fanuc | Alarm PS0011 | Comando de avance cero donde el avance de corte supera los límites máximos u omitido. | Pausa inmediata de los ejes; la pantalla HMI muestra "FEED ZERO (COMMAND)". | Especifique un código de avance F válido y distinto de cero antes o durante el primer movimiento G01/G02/G03. |
| Fanuc | Alarm PS5447 | Agotamiento del búfer de lectura previa (look-ahead) durante la compensación del radio de la herramienta con temporizaciones/bloques sin movimiento consecutivos. | Los ejes se detienen; la pantalla HMI muestra "DANGEROUS AVOIDANCE AT G41/G42". | Evite programar más de dos bloques sin movimiento consecutivos (como temporizaciones G04 o desfases G10) mientras G41/G42 esté activo. |
| Siemens | Alarm 12080 | Se encontró un comando no asignado en el modo ISO Dialect (G291) mientras MD20734 bit 3 está establecido en 0. | El analizador detiene la ejecución; la pantalla HMI muestra un error de sintaxis. | Corrija la sintaxis del código G, verifique el mapeo o establezca el dato de máquina MD20734 bit 3 en 1 para omitir los errores del escáner. |
| Siemens | Alarm 14800 | La velocidad de la trayectoria es menor o igual a cero después de G4 al realizar la transición a un bloque de corte. | El canal se detiene; la pantalla HMI muestra un error de velocidad de trayectoria. | Asegúrese de que el avance modal F esté activo, o reprograme el avance en el bloque inmediatamente posterior a la temporización. |
| Mitsubishi | Program Error P62 | Ejecución de G01/G02/G03 con un avance de cero. | La ejecución de la máquina se detiene; la pantalla HMI muestra "FEEDRATE ZERO / MISSING F COMMAND". | Programe un avance F distinto de cero en el bloque de movimiento o en bloques anteriores para establecer el avance modal activo. |
| Mitsubishi | Program Error P33 | Los bloques de entrada de parámetros G10 no se comandan en bloques independientes, o la configuración de coordenadas se emitió en un bloque de movimiento. | Parada de los movimientos de los ejes; la pantalla HMI muestra un error de programación del sistema de coordenadas. | Escriba los cambios de parámetros G10 y los desfases de coordenadas en bloques separados y aislados. No los combine con temporizaciones. |
Nota de Aplicación
Una caída severa en la presión del fluido hidráulico de sujeción durante ciclos automáticos de alimentación de barras provoca que la barra se deslice, generando dimensiones fuera de tolerancia y piezas rechazadas. Para evitarlo, es fundamental coordinar los comandos G04 de manera precisa con las funciones M de sujeción: tras detener el husillo (M05) y abrir el plato (M10), se debe programar un retardo corto (G04 U0.1) para que el alimentador (barfeeder) empuje el material contra el tope de la torreta. Seguidamente, tras cerrar el plato (M11), se debe comandar un retardo de seguridad (G04 U1.0) que garantice que la presión de sujeción ha alcanzado su valor nominal antes de reactivar el husillo (M03). Un procedimiento similar aplica al contrapunto: comandar el avance del cuerpo (M21) seguido de una temporización de asiento (G04 U2.0), y la extensión de la caña (M12) seguida de un retardo (G04 U1.0) antes de iniciar el mecanizado. Asimismo, para mitigar el riesgo de que la herramienta colisione físicamente contra platos o bridas de sujeción, los operadores deben definir barreras electrónicas mediante las funciones G22 y G23 (Chuck Barrier y Tailstock Barrier) en lugar de usar comandos absolutos como posicionamiento rápido G00 para retracciones. Al ingresar a estas zonas restringidas, el control interrumpe la interpolación y activa un código de alarma de límite de carrera (como Program Error P452 en Mitsubishi), previniendo de forma efectiva el tiempo de inactividad por colisiones y protegiendo la integridad del husillo.
Red de Comandos Relacionados
- Posicionamiento en Avance Rápido G00: Cancela el estado de temporización activo y mueve los ejes a los objetivos de coordenadas a la máxima velocidad de la máquina.
- Interpolación Lineal G01: Cancela el comando de temporización G04 no modal e inicia el recorrido de avance lineal utilizando el código F activo.
- Gestión de Parámetros G10: Permite a los programadores escribir desfases de herramientas y desfases de coordenadas directamente en el programa G-code, aunque no debe combinarse con G04 en el mismo bloque.
- Ciclo de Taladrado G82 con Temporización: Realiza un movimiento de avance hasta el fondo de un agujero y ejecuta una pausa de temporización integrada usando la dirección P antes de retractarse rápidamente.
- Modos de Avance G94 / G95: Establecen las unidades de avance en base al tiempo (mm/min) o basadas en revoluciones (mm/rev), lo que dicta directamente cómo se escalan e interpretan las direcciones de temporización G04.
Conclusión
La correcta programación del comando G04 y la verificación exhaustiva de los parámetros de escala decimal son esenciales para optimizar los tiempos de ciclo y evitar costosas paradas no planificadas. En la puesta a punto de la primera pieza, es una recomendación práctica ejecutar el programa bloque a bloque (Single Block) y con un porcentaje de override reducido en los avances de corte. Esta práctica detecta de inmediato cualquier discrepancia modal de tiempo o revoluciones antes de que la herramienta entre en contacto con el material, protegiendo los husillos y eliminando por completo el riesgo de producir piezas rechazadas por fallos de temporización en la línea de producción.
Preguntas Frecuentes (FAQ)
¿Por qué el control CNC se queda bloqueado indefinidamente al ejecutar una temporización basada en revoluciones G04?
Este bloqueo indefinido ocurre porque el husillo de la máquina está detenido o la retroalimentación de velocidad es cero. Dado que una temporización basada en revoluciones (G4 S... o G04 en modo G95) cuenta las rotaciones físicas del husillo, la cuenta atrás se suspende si el husillo no gira. Además, en entornos de doble husillo, el control puede estar monitoreando un husillo inactivo si no se especifica el husillo correcto. Acción: Programe siempre el comando M03/M04 para asegurar que el husillo seleccionado está en movimiento antes de iniciar una temporización G04 en modo G95, o especifique explícitamente el husillo secundario con la dirección D (por ejemplo, D2) en controles Mitsubishi.
¿Qué causa la alarma PS5447 o "DANGEROUS AVOIDANCE" al programar una temporización G04?
Esta alarma se genera bajo la compensación de radio de corte (G41/G42) debido al agotamiento del búfer de lectura previa (look-ahead). El preprocesador del control requiere bloques con movimiento de ejes para calcular los vectores de desplazamiento de la trayectoria. Si se programan tres o más bloques consecutivos sin movimiento (como temporizaciones G04, códigos M o desfases G10), el búfer se vacía y el sistema se detiene por seguridad para evitar una colisión o sobrecorte. Acción: Agrupe las funciones auxiliares (M) en un solo bloque y sitúe las temporizaciones G04 fuera de los tramos donde la compensación de radio de herramienta G41 o G42 esté activa.
¿Por qué el control interpreta un valor como G04 P1.5 de manera incorrecta o causa una pausa extremadamente corta?
En los controles Fanuc, Siemens y Mitsubishi, la dirección P es estrictamente de valor entero y no admite puntos decimales de forma predeterminada. Al escribir G04 P1.5, el analizador ignora el punto decimal e interpreta el valor como 1 o 15 milisegundos, produciendo una pausa casi inexistente que puede provocar la rotura de la herramienta. El comportamiento exacto depende de parámetros como #8112 (DECIMAL PNT-P) y el escalado de parámetros de unidades de ajuste. Acción: Para obtener un retardo de 1.5 segundos, programe siempre P1500 (1500 milisegundos) y verifique periódicamente en la pantalla de diagnóstico del control que la cuenta atrás de la temporización coincida exactamente con el tiempo programado.
¿Aún no se ha resuelto?
Pregunta a nuestro asistente de IA sobre este tema en lenguaje natural. Basado en fuentes verificadas, sin alucinaciones.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
Con más de 25 años de experiencia trabajando en todas las áreas de la industria de máquinas CNC, continúo mis actividades como cofundador de CNC CARE, donde ofrecemos servicios de consultoría, ingeniería y repuestos originales independientes de la marca.
Artículos relacionados
Otros artículos sobre este tema
Comprobación de Retorno a la Posición de Referencia G27: Guía CNC de Ejes
Aprenda a configurar la comprobación de retorno a referencia G27 en controles Fanuc, Siemens y Mitsubishi. Resuelva la Alarma 61816 y optimice parámetros.
Límite de Velocidad de Husillo y Área de Trabajo Superior G26 Siemens
Domine el comando Siemens SINUMERIK G26 para configurar límites del área de trabajo superior y velocidades máximas del husillo. Evite colisiones y paradas de eje.
Monitoreo de Fluctuación de Velocidad de Husillo G26 y Límites CNC
Guía para configurar G26 en controles Fanuc, Siemens y Mitsubishi. Evite la fluctuación de velocidad del husillo, proteja la torreta y reduzca piezas rechazadas.
Límites de Área de Trabajo G25 y Velocidad del Spindle en Siemens CNC
Configure límites de área de trabajo inferiores y velocidad de spindle G25 en Siemens SINUMERIK. Evite colisiones físicas de la turret y reduzca piezas rechazadas.