Guía del Comando de Dwell G04: Parámetros en Fanuc, Siemens y Mitsubishi
Aprende a programar el comando de dwell G04 en CNC Fanuc, Siemens y Mitsubishi. Domina parámetros como el 3405 y evita alarmas de tiempo de inactividad.
Introducción
El arrastre prematuro de una herramienta sobre una superficie de acabado crítica, dejando marcas de testigo que descartan inmediatamente la pieza de trabajo, es el resultado directo de un error clásico al programar el comando de dwell G04. Si el parámetro 1020 bit 7 (DWT) en un control Fanuc está configurado en 1, el sistema interpreta un comando como P1000 no como un segundo, sino como un milisegundo, reanudando el avance del eje de forma inmediata antes de que la presión de corte se haya aliviado. En entornos de alta producción, si no se verifica este parámetro antes de la fabricación, la desviación dimensional se acumula ciclo a ciclo y solo se detecta en la inspección final como pieza rechazada. Lograr el tiempo de ciclo óptimo y evitar paradas no planificadas exige dominar la sincronización milimétrica entre la interpolación de los ejes y la rotación del spindle en cada marca de control.
Resumen Técnico
| Especificación Técnica | Valor / Detalles |
|---|---|
| Código de Comando | G04 / G4 |
| Grupo Modal | Grupo 00 (no modal) |
| Marcas Soportadas | Fanuc, Siemens, Mitsubishi |
| Parámetros Críticos | Parámetro 3405 DWL (Fanuc), MD20734 bit 2 (Siemens), Parámetro #8130 (Mitsubishi) |
| Restricción Principal | Interrumpe la suavización de continuous-path mode, debe programarse solo en un bloque en Siemens, puede activar la alarma PS0041 en Fanuc cuando cutter compensation está activa. |
Lectura Rápida
- Verificar el modo de avance (feed mode): Compruebe siempre si el avance por minuto (G94) o el avance por revolución (G95) está activo, ya que los parámetros de la marca pueden cambiar dinámicamente la unidad de dwell de segundos a revoluciones de spindle.
- Evitar marcas de desaceleración: No inserte G04 durante pasadas de acabado liso (G64/G641 en Siemens) para evitar que la herramienta desacelere hasta una parada completa y deje marcas de testigo (witness marks).
- Formatear la dirección correctamente: Utilice puntos decimales explícitos para direcciones basadas en tiempo (como X o U) para evitar errores de escala matemática o de interpretación de enteros.
- Garantizar la ejecución en bloque separado: Escriba G04 solo en su propio bloque NC en controles Siemens para evitar errores inmediatos de bloque de G-code (Alarma 12120).
- Límite de compensación de cortador (cutter compensation): Nunca programe bloques consecutivos sin movimiento como G04 durante la compensación activa de radio de cortador (G41/G42) para evitar fallas de combinación de trayectorias (Alarma PS0041).
- Verificación del estado del spindle: Verifique que el spindle esté girando activamente antes de ejecutar un dwell basado en revoluciones bajo el modo G95 para evitar un bloqueo infinito del programa.
Conceptos Básicos
El efecto de programación práctico principal del comando G04 es una pausa intencional de toda la interpolación física de los ejes durante un tiempo especificado o un número calculado de rotaciones de spindle. Los programadores de CNC utilizan esta suspensión temporal del movimiento de la herramienta para limpiar virutas, permitir que el spindle alcance su velocidad comandada o esperar a que se completen las operaciones mecánicas externas. Al obligar a los ejes de la herramienta a permanecer estacionarios mientras el spindle continúa girando, el comando garantiza que los cortes posteriores comiencen desde un estado estable y controlado.
Sin embargo, debido a que G04 es un comando no modal que pertenece al Grupo 00, solo está activo en el bloque específico donde se escribe. Una vez que se cumple la duración del dwell, el controlador reanuda inmediatamente la interpolación normal de los ejes en los bloques posteriores. La transición del estado de espera estacionario de regreso a la feedrate activa requiere una sincronización cuidadosa, especialmente al mecanizar características críticas donde incluso una fracción de segundo de movimiento prematuro de la herramienta puede provocar defectos en la pieza de trabajo o un desgaste severo de la herramienta.
Estructura de Comandos
Para ejecutar un comando de dwell, el código G04 es seguido por un carácter de dirección específico que designa la duración o el recuento de revoluciones de spindle. Los programadores deben seleccionar el carácter de dirección correcto, típicamente P, X, U, F o S, según el sistema de control activo y la unidad de medida deseada. La interpretación matemática de estas direcciones depende en gran medida de la configuración de los parámetros a nivel del sistema, que pueden escalar las entradas enteras en varios lugares decimales o dictar si se acepta un punto decimal.
Además, el comportamiento del comando G04 varía dependiendo de si está programado en un modo basado en tiempo o en un modo basado en revoluciones de spindle. En el modo basado en tiempo, los ejes se pausan durante un período preciso de segundos o milisegundos, lo cual es ideal para permitir que los estados del hardware se estabilicen. En el modo basado en revoluciones, la pausa de los ejes está directamente sincronizada con el encoder del spindle, lo que significa que el dwell termina solo después de que el spindle haya girado un número específico de veces, lo cual es esencial para un corte uniforme y la rotura de virutas.
; Sintaxis de Fanuc G04 P_ ; G04 X_ ; G04 U_ ; G04 X(U, P)_ Q_ ;; Sintaxis de Siemens G4 F_ ; G4 S_ ; G4 S<n>=_ ; G04 X_ ; G04 P_ ;
; Sintaxis de Mitsubishi G94 G04 X_ ; G94 G04 P_ ; G94 G04 U_ ; G95 G04 X_ D_ ;
| Marca | Parámetro | Descripción Funcional | Rango Válido / Bits |
|---|---|---|---|
| Fanuc | Parámetro 3405 bit 1 (DWL) | Dicta la ejecución de dwell: 0 = siempre segundos; 1 = segundos en G94, revoluciones de spindle en G95. | 0 o 1 |
| Fanuc | Parámetro 1020 bit 7 (DWT) | Determina el sistema de incremento de la dirección P: 0 = sistema de incremento activo (por ejemplo, 1 ms para IS-B); 1 = bloquea la unidad a 1 milisegundo. | 0 o 1 |
| Fanuc | Parámetro 8002 bit 1 (DWE) | Especifica el tiempo mínimo de dwell programado en el control de ejes PMC bajo IS-C: 0 = 1 ms; 1 = 0.1 ms. | 0 o 1 |
| Siemens | MD20734 $MC_EXTERN_FUNCTION_MASK bit 2 | En modo ISO Dialect: 0 = siempre segundos/milisegundos; 1 = segundos en G94/G98, revoluciones de spindle en G95/G99. | 0 o 1 |
| Siemens | MD11411 $MN_ENABLE_ALARM_MASK bit 7 | Habilita las alarmas de advertencia de área de stop delay 16954 y 16957. | 0 o 1 |
| Siemens | MD11550 $MN_STOP_MODE_MASK | Define los límites del área de stop delay a nivel de sistema. | Dependiente del sistema |
| Mitsubishi | Parámetro #8112 DECIMAL PNT-P | Determina si un punto decimal es válido en la dirección P: 0 = ignorar decimales; 1 = validar decimales. | 0 o 1 |
| Mitsubishi | Parámetro #19014 G04 P factor | Escala el entero de la dirección P (sin decimal) por un multiplicador de 10<sup>n</sup>. | -3 a 3 |
| Mitsubishi | Parámetro #1173 dwlskp | Define la combinación de señales de entrada de skip de la interfaz PLC (Skip 1 a Skip 3) para abortar el dwell. | 0 a 7 |
| Mitsubishi | Parámetro #8130 Dwell in rev. | Determina el tipo de dwell en modo de avance síncrono (G95): 0 = basado en tiempo (segundos); 1 = revoluciones de spindle. | 0 o 1 |
Aplicaciones de Marca
Fanuc
En el ecosistema de control de Fanuc, G04 sirve como una herramienta no modal precisa para suspender la interpolación de los ejes. Los programadores deben configurar el parámetro 1020 bit 7 (DWT) y el parámetro 3405 bit 1 (DWL) para controlar si la dirección P actúa como un valor rígido en milisegundos y si G04 realiza la transición a revoluciones de spindle en modo G95.
La sintaxis estándar de G-code admite G04 P_, G04 X_ o G04 U_ específico para torno. Cuando la opción de multi-stage skip está activa, la sintaxis se amplía a G04 X_ Q_ o G04 P_ Q_, lo que permite que las señales externas del PLC aborten el dwell.
- Parámetros: El parámetro 1020 bit 7 bloquea P a 1 ms. El parámetro 3405 bit 1 habilita el dwell basado en revoluciones en el avance G95. El parámetro 8002 bit 1 controla el incremento de tiempo mínimo bajo el control de ejes PMC.
- Alarmas: La alarma PS0041 se activa durante la compensación de corte (G41/G42) si ocurren múltiples bloques sin movimiento. La alarma PS0370 se activa si la dirección Q programada está fuera del rango de 1 a 4 (o 1 a 8). La alarma PS0373 se activa si se seleccionan señales de skip de alta velocidad duplicadas en múltiples trayectorias.
- Versiones: El torno (serie T) admite de forma nativa la dirección incremental U para dwell, mientras que los controles de la serie M restringen principalmente el dwell a X y P. Las opciones de skip continuo de alta velocidad amplían el rango de la dirección Q de Q1 a Q8, en comparación con el límite estándar de Q1 a Q4.
Advertencia: Encadenar bloques de dwell G04 consecutivos o comandos auxiliares mientras la compensación de corte está activa puede confundir al vector look-ahead de la trayectoria, lo que provoca una alarma de interferencia de herramienta PS0041 inmediata.
Siemens
Los controles nativos de Siemens implementan el comando de dwell utilizando la sintaxis G4, lo que requiere que el comando resida estrictamente en su propio bloque NC. Los programadores utilizan el dato de máquina MD20734 bit 2 para determinar si el comando G4 cambia dinámicamente de segundos a revoluciones de spindle según los modos activos de avance G94/G95.
En el modo nativo de Sinumerik, G4 acepta G4 F_ para tiempo en segundos y G4 S_ para revoluciones. Además, la sintaxis única G4 S<n>=_ permite que el dwell se sincronice específicamente con las revoluciones del spindle secundario, mientras que el modo G291 ISO Dialect convierte la sintaxis a G04 X_ o G04 P_.
- Parámetros: MD20734 bit 2 habilita las unidades de dwell dependientes de la feedrate en modo ISO. MD11411 bit 7 activa las alarmas de advertencia de área de stop delay. MD11550 define los límites físicos del área de stop delay.
- Alarmas: La alarma 12120 se activa si se programan códigos M auxiliares o funciones G en el mismo bloque que G4. La alarma 16954 o 16957 se activa si un operario intenta una parada programada con un override de 0 dentro de un área de stop delay. Los tiempos de espera del estado mecánico generan alarmas de sujeción (clamping) como 700011, 700013 o 700022.
- Versiones: El cambio entre el modo Siemens nativo (G290) y el modo ISO Dialect (G291) altera las direcciones de G4 de F/S a X/P. En el modo nativo, las revoluciones específicas de spindle se designan en línea, mientras que el modo ISO utiliza el seguimiento de feedrate basado en parámetros.
Advertencia: Nunca programe códigos de refrigerante o funciones M auxiliares en el mismo bloque que un comando de dwell G4, ya que el parser de Sinumerik detendrá instantáneamente la ejecución con una alarma de sintaxis de bloque 12120.
Mitsubishi
Los sistemas Mitsubishi ofrecen una lógica de espera G04 robusta que integra estrechamente las pausas de los ejes con los estados del hardware del PLC. Los programadores confían en el parámetro #8130 para dictar si el dwell se adapta a las revoluciones de spindle en G95, y configuran el parámetro #8112 para validar los puntos decimales.
Sintácticamente, Mitsubishi admite los formatos G04 X_, G04 P_ y G04 U_ específico para torno. Para las pausas basadas en revoluciones, añadir una dirección D como G04 X_ D_ vincula el dwell a un encoder de spindle designado.
- Parámetros: El parámetro #8130 habilita el dwell basado en revoluciones en G95. El parámetro #8112 valida las entradas decimales en la dirección P. El parámetro #19014 escala los valores P que son solo enteros. El parámetro #1173 vincula el dwell a las entradas de skip del PLC.
- Alarmas: La alarma P45 se activa por combinaciones de G-code incompatibles como G28 o G53. La alarma P34 se activa si se ejecuta G04 mientras los modos avanzados de control de alta velocidad y alta precisión (G05 P10000 o G05 P20000) están activos.
- Versiones: Los sistemas de torno (serie L) admiten la dirección U, mientras que los sistemas de centro de mecanizado (serie M) restringen los comandos de tiempo y revolución a X y P. Las configuraciones de Multiple-Spindle Control II desactivan la dirección D, realizando en su lugar un seguimiento dinámico del encoder del PLC.
Advertencia: Programar un dwell G04 basado en revoluciones en modo G95 mientras el spindle está detenido (a través de M05) hará que el sistema CNC espere indefinidamente, bloqueando la máquina hasta que se inicie un override manual.
Comparación de Marcas
| Tema de Comparación | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Ejecución de la Unidad de Dwell | Segundos por defecto; revoluciones de spindle en modo G95 si el Parámetro 3405 bit 1 (DWL) está configurado en 1. | Segundos (G4 F...) o revoluciones de spindle (G4 S...) de forma nativa; adaptable a G94/G95 en modo ISO Dialect a través de MD20734 bit 2. | Segundos por defecto; revoluciones de spindle en modo G95 si el Parámetro #8130 está configurado en 1. |
| Formatos de Dirección | P (entero/ms dependiente del Parámetro 1020), X (segundos/decimal), U (incremental solo para torno). | F (segundos), S (revoluciones del spindle maestro), S<n>= (spindle específico) o X / P (modo ISO). | X (segundos/decimal), P (entero/escalado por factor), U (incremental solo para torno) y D (selección de spindle). |
| Abortar / Saltar (Skip) Dwell | La dirección Q de multi-stage skip dentro del bloque G04 aborta inmediatamente el dwell. | — (no source) | Función de dwell skip configurada directamente por entrada de PLC a través del parámetro #1173 (dwlskp). |
| Dwell de Spindle Secundario | — (no source) | La sintaxis en línea G4 S<n>=... permite el dwell basado en revoluciones de un spindle secundario específico. | El dwell de revolución multi-spindle especifica el identificador de spindle D junto con G04 en modo G95. |
| Multiplicador / Escalado de Tiempo | Bloqueado a 1 ms a través del Parámetro 1020 bit 7 (DWT) o depende del sistema IS. | — (no source) | El parámetro #19014 escala el entero P por un factor de 10<sup>-3</sup> a 10<sup>3</sup>. |
| Restricción de Bloque Independiente | Compensación de corte activa: G04 consecutivos causan PS0041. | Debe programarse solo en el bloque; otros elementos de NC (acciones síncronas/funciones M) causan la Alarma 12120. | El valor numérico debe colocarse después de G04; la combinación con G28/G53 causa P45. No se puede realizar dwell durante los modos G05 (activa P34). |
Análisis Técnico
Un análisis técnico profundo de estos sistemas de control revela filosofías altamente divergentes en cómo se integran los comandos de dwell con el hardware de la máquina y el PLC. Los sistemas Fanuc enfatizan configuraciones detalladas a nivel de parámetros, otorgando a los programadores un control explícito sobre cómo se escala la dirección P. Al vincular el parámetro DWT (1020 bit 7) con el incremento del sistema activo (IS-B o IS-C) o al bloquearlo a una escala rígida de milisegundos, Fanuc proporciona la máxima flexibilidad para configuraciones multieje, pero introduce ambigüedad de programación si se omiten los puntos decimales. Además, Fanuc permite de manera única que G04 interactúe directamente con señales de skip de alta velocidad a través de la dirección Q, creando un mecanismo de interrupción a nivel de hardware que es altamente efectivo para ciclos rápidos de skip y palpado (probing).
En contraste, Siemens opera sobre un diseño estructurado y modular que separa estrictamente las funciones de los bloques de G-code mientras proporciona una robusta capacidad multi-spindle. Siemens permite nativamente al programador especificar dwells en segundos (F) o revoluciones (S), e incluso apuntar a un spindle secundario utilizando la sintaxis en línea S<n>=. Este soporte multi-spindle nativo es completamente distinto al de las otras marcas, las cuales deben depender de cambios de estado de parámetros o direcciones de identificación de spindle separadas. Sin embargo, Siemens impone un aislamiento sintáctico rígido: programar cualquier comando auxiliar o función G junto a G4 activa inmediatamente una alarma de sintaxis (12120). Además, Siemens integra G4 con sus acciones síncronas, requiriendo una duración de dwell igual a por lo menos dos ciclos de interpolador internos (como F0.1) para garantizar que las señales de PLC no modales se envíen con éxito a la mitad del programa.
Mitsubishi combina estos dos paradigmas al proporcionar soporte de dirección multi-spindle nativo mientras integra una función de skip impulsada por PLC que es completamente distinta de la señal de skip a nivel de bloque de Fanuc. La condición de skip de G04 de Mitsubishi se establece directamente a través del parámetro #1173, mapeando las entradas físicas del PLC directamente a la ejecución del dwell. Esto permite al PLC abortar dinámicamente un dwell, mientras que el skip de Fanuc requiere una dirección Q dedicada dentro del bloque NC. Mitsubishi también utiliza un parámetro único de factor P (#19014) para escalar entradas enteras por factores de 10<sup>-3</sup> a 10<sup>3</sup>. Este potente mecanismo de escalado está diseñado específicamente para permitir que el código heredado se ejecute sin problemas en diferentes máquinas sin modificaciones manuales del código, resolviendo un obstáculo importante en talleres de múltiples generaciones.
Ejemplos de Programas
Ejemplo de programa de Fanuc
G94 G04 P1000 ; (Dwell basado en tiempo para 1.0 segundo bajo IS-B, o se bloquea a 1 ms dependiendo del Parámetro 1020 DWT)
G95 G04 X30.0 ; (Dwell para 30 revoluciones de spindle cuando el avance por revolución está activo y el Parámetro 3405 DWL=1)
G04 X1.5 Q2 ; (Dwell para 1.5 segundos, utilizando la opción de multi-stage skip asignada a la señal de skip Q2)
Ejecución en seco (dry run) de ejemplo de Fanuc
En el primer bloque, el código G94 establece el modo de avance por minuto. El comando G04 P1000 ejecuta un dwell de exactamente 1.0 segundo bajo el sistema de incremento estándar IS-B (donde 1 unidad equivale a 1 milisegundo), o se bloquea estrictamente a 1 milisegundo si el parámetro 1020 (DWT) está configurado en 1, lo que hace que el dwell termine prematuramente. En el segundo bloque, el código G95 cambia la máquina al modo de avance por revolución. Con el parámetro 3405 (DWL) configurado en 1, G04 X30.0 instruye al controlador a pausar toda la interpolación de los ejes hasta que el spindle haya completado exactamente 30 rotaciones completas. En el tercer bloque, el comando G04 X1.5 Q2 pausa los ejes durante 1.5 segundos, pero permanece activo para buscar la señal de skip de alta velocidad asignada al selector de skip Q2; si esta señal de entrada del PLC se activa antes de que hayan transcurrido los 1.5 segundos, el dwell se termina de inmediato y el control avanza al siguiente bloque del programa.
Ejemplo de programa de Siemens
G04 F5 ; (Pausa la ejecución durante 5 segundos)
G4 S30 ; (Dwell para 30 revoluciones de spindle maestro)
G4 S2=50 ; (Dwell para 50 revoluciones del spindle secundario 2)
G95 G04 X1000 ; (Modo ISO Dialect: Dwell para 1 revolución de spindle cuando G95 está activo y MD20734 bit 2 está configurado en 1)
Ejecución en seco de ejemplo de Siemens
En el primer bloque, el comando G04 F5 instruye al intérprete Siemens Sinumerik a pausar toda la interpolación de los ejes durante exactamente 5.0 segundos mientras el spindle continúa girando. En el segundo bloque, G4 S30 fuerza un dwell que se calcula en función de la velocidad del spindle, pausando el movimiento de los ejes durante exactamente 30 rotaciones del spindle maestro. En el tercer bloque, G4 S2=50 utiliza la capacidad multi-spindle nativa, comandando una pausa que dura exactamente 50 revoluciones del spindle secundario (Spindle 2), lo cual es crucial para transferencias sincronizadas de piezas en el sub-spindle. En el cuarto bloque, el sistema se ejecuta bajo el modo ISO Dialect (G291) con G95 activo; el comando G04 X1000 realizará un dwell de 1 revolución de spindle debido a que MD20734 bit 2 está configurado en 1, lo que evalúa la entrada como revoluciones de spindle en lugar de segundos.
Ejemplo de programa de Mitsubishi
G94 G04 X5.0 ; (Dwell estándar basado en tiempo utilizando la dirección X para 5.0 segundos en modo de avance por minuto)
G94 G04 P5000 ; (Dwell basado en tiempo utilizando la dirección P, sujeto al parámetro de escalado #19014 o al parámetro de validación #8112)
G95 G04 X100. D1 ; (Dwell basado en revoluciones para 100 revoluciones sincronizado con el spindle 1 en modo G95)
Ejecución en seco de ejemplo de Mitsubishi
En el primer bloque, se establece el modo de avance por minuto G94, y G04 X5.0 pausa los ejes de la herramienta durante exactamente 5.0 segundos. En el segundo bloque, se comanda G04 P5000. Si el parámetro #8112 (DECIMAL PNT-P) está configurado en 0, se ignoran los puntos decimales, y si el parámetro de escalado #19014 está configurado en -3 (un multiplicador de 1/1000), el valor entero de 5000 se escala a 5 segundos. Si #19014 está configurado en 0, puede realizar un dwell de 5000 milisegundos (5.0 segundos) o 5000 segundos, dependiendo del incremento base del sistema. En el tercer bloque, el modo de avance por revolución G95 está activo; el comando G04 X100. D1 instruye a la máquina a realizar un dwell de exactamente 100 revoluciones de spindle sincronizadas directamente contra el encoder del Spindle 1, asegurando que la herramienta se pause en sincronía con la rotación física del spindle.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operario | Causa Raíz y Resolución |
|---|---|---|---|---|
| Fanuc | PS0041 (Interferencia en Cutter Compensation) | Comandar G04 de forma consecutiva con otro bloque sin movimiento (como un código M auxiliar) mientras la compensación de radio de cortador (cutter compensation) G41 o G42 está activa. | La máquina deja de moverse y muestra la alarma PS0041 en la pantalla, deteniendo la ejecución automática. | El vector look-ahead de la trayectoria de la herramienta se ve interrumpido por bloques consecutivos sin movimiento, lo que conduce a un sobrecorte calculado. Evite programar múltiples bloques de dwell o sin movimiento juntos cuando G41/G42 esté activo. |
| Fanuc | PS0370 (Error de G31P/G04Q) | Programar un valor de dirección Q fuera del rango válido (1 a 4 para skip estándar multi-stage, o 1 a 8 para skip continuo), o comandar Q en un sistema sin la opción de skip. | Parada inmediata del programa con un mensaje de alarma PS0370 antes de la ejecución del bloque. | Se comandó un valor Q ilegal o la opción de skip multi-stage no está activa en el control. Corrija el valor de la dirección Q o adquiera/habilite la opción de la función de skip. |
| Siemens | 12120 (Función G no programada por separado) | Programar funciones M auxiliares, acciones síncronas u otros G-codes en el mismo bloque NC exacto que el comando de dwell G4. | El control rechaza el bloque durante la ejecución, detiene el movimiento y lanza la Alarma Siemens 12120. | Siemens requiere que el comando de dwell G4 se programe solo en un bloque NC separado. Mueva todos los códigos auxiliares y acciones síncronas a bloques separados. |
| Siemens | 700013 (Operación no permitida: chuck sin sujetar) | Ignorar los retrasos mecánicos requeridos para la sujeción del chuck antes de ejecutar los movimientos de la herramienta. | El sistema de seguridad del CNC se activa, interrumpiendo el programa y lanzando la Alarma 700013. | Se comandó un bloque de movimiento antes de que el mecanismo de sujeción físico del chuck se hubiera estabilizado por completo. Programe un comando de dwell G4 para permitir el tiempo adecuado para que el estado de sujeción del chuck se estabilice antes del movimiento. |
| Mitsubishi | P45 (Combinación de G-Code) | Comandar G04 en el mismo bloque exacto que un G-code incompatible, como G28 (Retorno a la posición de referencia) o G53 (Sistema de coordenadas de la máquina). | La máquina se detiene inmediatamente y muestra el código de alarma P45, terminando el ciclo automático activo. | El parser de NC encuentra una combinación ilegal de un dwell no modal y códigos de configuración de referencia o de coordenadas. Programe G04 en un bloque independiente o verifique emparejamientos de G-code compatibles. |
| Mitsubishi | P34 (Error de control de alta velocidad y alta precisión) | Invocar un comando de dwell G04 mientras los modos avanzados como Control de alta velocidad y alta precisión II (G05 P10000) o III (G05 P20000) están activos. | Interrupción del ciclo e visualización inmediata del código de alarma P34 en la pantalla del controlador. | Los algoritmos avanzados de suavizado de trayectoria no pueden procesar pausas de dwell mientras están activos. Desactive temporalmente los modos de alta velocidad G05 antes de ejecutar cualquier comando G04. |
Nota de Aplicación
Un bloqueo indefinido del ciclo de mecanizado detendrá por completo la línea de producción si se ejecuta un dwell G04 basado en revoluciones bajo el modo G95 de Mitsubishi (con el parámetro #8130 activo) mientras el spindle se encuentra apagado mediante un comando M05. Al estar detenido, el encoder lee cero revoluciones y mantiene la máquina en un estado de espera infinito, sumando minutos costosos al tiempo de inactividad. Validar el estado del spindle y del parámetro #8130 elimina la causa más frecuente de parada no planificada en este comando. Igualmente, en los controles Fanuc, programar bloques de dwell G04 consecutivos junto con otras funciones auxiliares sin movimiento mientras la compensación de corte (G41/G42) está activa perturba el vector look-ahead del control, disparando instantáneamente la alarma PS0041 por interferencia de herramienta. Para evitar costosas colisiones y piezas rechazadas, la pausa debe programarse de forma aislada. Por último, en sistemas Siemens, la rigidez sintáctica obliga a programar G4 de manera exclusiva en su propio bloque NC; cualquier intento de incorporar códigos M auxiliares como el refrigerante M08 o comandos de sujeción del chuck en la misma línea detendrá el procesamiento del programa bajo la alarma 12120. Ignorar los tiempos mecánicos mínimos para que se asienten dispositivos como la torreta o los chucks activa alarmas críticas de sobrecarga en el motor de la torreta (700022) o de tiempo de espera de sujeción (700011 / 700013), lo cual arruina la eficiencia del tiempo de ciclo.
Red de Comandos Relacionados
- G01 Interpolación Lineal: G04 se programa frecuentemente entre o al final de los bloques de avance G01 para pausar temporalmente el movimiento de la herramienta y aliviar la presión de corte al final de una pasada lineal.
- G02 Interpolación Circular: G04 se puede utilizar inmediatamente después de un arco circular G02 para permitir que la presión de la herramienta se estabilice y asegurar un acabado redondo y suave en los radios internos.
- G03 Interpolación Circular: De manera similar a G02, G04 proporciona una breve pausa después de un arco antihorario G03 para permitir que las fuerzas de corte se disipen y evitar marcas de testigo (witness marks) en las esquinas de la pieza de trabajo.
- G09 Parada Exacta (Exact Stop): Mientras que G04 ejecuta una pausa cronometrada, G09 es un código no modal que obliga a la máquina a desacelerar hasta una parada completa al final de un bloque para verificar la posición antes de que comience el siguiente bloque.
- G31 Función de Skip (Skip Function): La función de skip permite que el movimiento de los ejes termine inmediatamente mediante una señal de entrada externa, compartiendo una lógica de skipping de PLC similar a la del skip de dwell impulsado por parámetros de Mitsubishi.
Conclusión
La optimización del tiempo de ciclo y la prevención de herramientas rotas en producción masiva dependen directamente de la correcta configuración de los parámetros del comando G04 en cada control CNC. Antes de liberar un programa en el taller, los técnicos deben auditar parámetros críticos como el 1020 en Fanuc, el #8130 en Mitsubishi y la estructura de bloques G4 individuales en Siemens para garantizar que las pausas coincidan estrictamente con la respuesta física de la máquina. Implementar estas verificaciones preventivas y asegurar un estado modal limpio elimina las paradas no planificadas y la acumulación de desviaciones dimensionales, garantizando que cada segundo de dwell contribuya directamente a la calidad del acabado superficial y a la rentabilidad del proceso de producción.
Preguntas Frecuentes (FAQ)
¿Por qué mi máquina CNC se bloquea indefinidamente al ejecutar un dwell G04 en avance por revolución?
Este bloqueo se produce porque el control está configurado para contar las rotaciones físicas del spindle (modo G95) pero el spindle se encuentra apagado (M05). Dado que el spindle está estacionario, el encoder no registra impulsos y el contador del dwell nunca alcanza su objetivo. Un factor poco conocido es que un cable de encoder dañado o un lector sucio también provocarán este congelamiento incluso si el spindle gira físicamente. Acción práctica: Verifique siempre que el spindle esté girando activamente y que la señal de diagnóstico del encoder esté registrando pulsos en la pantalla antes de ejecutar un dwell basado en revoluciones.
¿Cómo evito que el comando G04 arruine el acabado de la pieza y genere marcas de testigo en pasadas de acabado?
La inserción de un dwell G04 durante el modo de trayectoria continua (G64/G641 en Siemens) interrumpe la interpolación fluida de los ejes, forzando a la herramienta a desacelerar hasta una parada completa. Bajo la presión acumulada del corte, la flexión natural de la herramienta hace que se hunda ligeramente en el material, dejando una marca de testigo que puede resultar en una pieza rechazada. Acción práctica: Reprograme la pausa G04 únicamente después de haber completado la pasada de acabado y de haber retirado ligeramente la herramienta de la pared de corte, evitando detener el avance en contacto directo con la superficie acabada.
¿Qué causa la alarma PS0041 en Fanuc al programar una pausa durante el fresado con compensación?
El control Fanuc necesita preprocesar continuamente bloques de movimiento para calcular los vectores de compensación de radio de herramienta (G41/G42). Si encadena bloques sin movimiento, como un dwell G04 seguido de una llamada de refrigerante o código M, el búfer de preprocesamiento (look-ahead) se vacía; al no poder calcular el siguiente punto seguro, el control dispara la alarma PS0041 para evitar un sobrecorte. Acción práctica: Mantenga el comando de dwell G04 estrictamente aislado en una sola línea y asegúrese de que el bloque anterior y el posterior contengan coordenadas de movimiento lineal (G01) explícitas.
¿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 - 2005)
- Ö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
Giro de Plano CYCLE800 en Siemens: Alineación de Herramientas y G-Code
Aprenda el mecanizado 3+2 ejes con el CYCLE800 de Siemens. Compare su uso con Fanuc y Mitsubishi, configure el retroceso y evite las Alarmas 61190 y 61153.
Fresado de Contornos con Siemens CYCLE72: Guía de Parametrización
Optimice el fresado de contornos en controles Siemens Sinumerik con CYCLE72. Evite la alarma de simulación 61123, colisiones en el plato y paradas críticas.
Guía de Programación del Ciclo de Torneado de Contornos Siemens CYCLE952
Aprenda a programar el ciclo Siemens CYCLE952 en Sinumerik. Evite alarmas, optimice tiempos de ciclo y compare con Fanuc y Mitsubishi para evitar colisiones.
Guía de Programación de los Ciclos de Ranurado Siemens SLOT1 y SLOT2
Aprenda a programar ranuras en controles Siemens Sinumerik con los ciclos SLOT1 y SLOT2. Compare diferencias con Fanuc y Mitsubishi para evitar alarmas.