G98 y G99 Niveles de Retorno de Ciclo: Guía de Programación CNC
Aprenda a programar los niveles de retorno de ciclo G98 y G99 en controles Fanuc, Siemens y Mitsubishi. Evite colisiones con bridas y optimice su tiempo de ciclo.
Introducción
El impacto brutal de una broca de carburo de tungsteno estrellándose a máxima velocidad de desplazamiento rápido contra una mordaza de acero templado o una brida de sujeción (clamp) es una de las pesadillas más costosas en cualquier planta de mecanizado. Cuando el operario escucha el estruendo del choque físico, el servomotor ya ha registrado un pico destructivo de corriente en el eje Z y la máquina se detiene en seco mostrando un código de alarma de sobrecarga de eje. La consecuencia inmediata es devastadora: la herramienta se fractura, la pieza de trabajo se convierte en una costosa pieza rechazada y la alineación geométrica del husillo (spindle) queda seriamente dañada, lo que exige un prolongado y costoso tiempo de inactividad de varios días para el mantenimiento correctivo y la recalibración. Esta secuencia catastrófica no se debe a una falla aleatoria del hardware, sino a un descuido muy específico: dejar el modo de retorno al plano R (G99) activo mientras la herramienta realiza desplazamientos laterales rápidos entre agujeros adyacentes que están separados por bridas o mordazas cuya altura física excede la cota Z del plano de retracción.
Para evitar estas colisiones de alto impacto y proteger el herramental en la planta, los programadores de CNC emplean dos comandos modales de retorno de ciclo: G98 para obligar a la herramienta a retractarse por completo hasta el plano de inicio inicial (la altura Z segura previa a la llamada del ciclo) y G99 para retractarla únicamente hasta el plano R de holgura (Point R). Dominar el comportamiento dinámico de estos comandos en controles Fanuc, Siemens y Mitsubishi es el paso fundamental para reducir al mínimo absoluto el tiempo de ciclo sin arriesgar la integridad física del equipo. Para comprender cómo interactúan estas alturas de retracción con el sistema de coordenadas de la máquina, consulte la guía de Programación Absoluta vs. Incremental G90 y G91.
Resumen Técnico
| Especificación Técnica | Detalles |
|---|---|
| Códigos de Comando | G98 (Retorno al plano inicial / Avance por minuto), G99 (Retorno al plano R / Avance por revolución) |
| Grupo Modal | Grupo 10 (Retracción de canned cycle en Fanuc), Grupo 11 (Dialecto ISO de Siemens), Grupo 05 (Feedrate de torno en Fanuc/Mitsubishi Sistema A) |
| Marcas Soportadas | Fanuc, Siemens, Mitsubishi |
| Parámetros Críticos | Parámetro 3401 bit 1 (FCD), Parámetro 3402 bit 4 (FPM), Global User Data _ZFPR[6], Parámetro #8013 |
| Restricción Principal | Debe cancelar la compensación activa del radio de la herramienta (G40) antes de la llamada al ciclo; las funciones G98/G99 se sobrecargan en tornos según las listas de sistemas de G-code activas. |
Lectura Rápida
- Evalúe las holguras primero: Seleccione G98 para retractar la herramienta por completo al plano inicial de inicio cuando se desplace sobre clamps altos, costillas o fixtures.
- Minimice los tiempos de ciclo de forma segura: Programe G99 para retractar la herramienta a la altura inferior de holgura del plano R cuando taladre múltiples agujeros en superficies planas y sin obstrucciones.
- Verifique la disposición del sistema de G-code: Compruebe si su control de torneado opera en el Sistema A de torno, donde G98 y G99 actúan como controladores de modo de feedrate en lugar de niveles de retracción de ciclo.
- Cancele la compensación del radio de la punta de la herramienta: Programe siempre G40 antes de llamar a un bloque de ciclo fijo para evitar activar un error de programa P155.
- Inspeccione los límites de carrera: Asegúrese de que el punto final calculado de la trayectoria de la herramienta no entre en un área prohibida, lo que activa inmediatamente una alarma P452 en Mitsubishi.
- Gestione los cambios de modo de feedrate: Programe el valor de feedrate (F) explícitamente en el mismo bloque después de cambiar entre avance por minuto (G98) y avance por revolución (G99) en tornos para evitar alarmas de avance cero como PS0011 de Fanuc.
Conceptos Básicos
Las operaciones de mecanizado de agujeros utilizan ciclos fijos para automatizar acciones de mecanizado repetitivas como taladrado, mandrinado y roscado con macho. Para gestionar la retracción de la herramienta entre estas ubicaciones consecutivas de agujeros, los programadores utilizan los comandos G98 y G99. Estos comandos son modales, lo que significa que el nivel de retracción seleccionado permanece en vigor para todas las operaciones posteriores hasta que se ordene el código alternativo.
Cuando se ejecuta un ciclo fijo, la herramienta opera entre tres planos distintos del eje Z. El primero es el plano inicial de inicio, que es la coordenada absoluta del eje Z donde se posicionó la herramienta inmediatamente antes de que se invocara el ciclo por primera vez. El segundo es el plano de retracción (punto R), que es una coordenada establecida ligeramente por encima de la superficie de la pieza de trabajo. El tercero es la profundidad final del agujero. G98 obliga a la herramienta a retractarse por completo al plano inicial entre agujeros, lo que proporciona la máxima holgura. G99 ordena a la herramienta que se retracte solo al plano R, manteniendo la herramienta cerca de la superficie de la pieza de trabajo y minimizando el tiempo de desplazamiento rápido en el aire.
Estructura de Comandos
Un bloque de ciclo fijo está estructurado para definir coordenadas, profundidades, feedrates y el comportamiento de retracción en una sola línea de G-code. La elección entre G98 y G99 es modal y dicta la trayectoria de la herramienta después de completar la operación de mecanizado en el fondo de un agujero. Cuando G98 está activo, la herramienta se retracta rápidamente al plano inicial antes de moverse a la siguiente coordenada de agujero. Cuando G99 está activo, la herramienta se retracta solo a la altura de holgura del plano R, y luego realiza el desplazamiento lateral.
La estructura del bloque de comando combina el nivel de retorno, el código del ciclo fijo, las coordenadas del agujero, las coordenadas de profundidad, los planos de holgura y los valores de avance. La sintaxis de programación define la relación entre estas variables. El controlador analiza estos códigos para determinar la velocidad y la dirección de los ejes.
Estructura de Sintaxis:
G98 G81 X[coordenada] Y[coordenada] Z[profundidad] R[plano] F[feedrate] ; Retorno a Plano Inicial
G99 G81 X[coordenada] Y[coordenada] Z[profundidad] R[plano] F[feedrate] ; Retorno a Plano R
Parámetros y Direcciones:
- G98: Comando modal que selecciona la retracción al plano de inicio inicial del eje Z. En el Sistema A de torno, selecciona Avance por Minuto (mm/min o inch/min).
- G99: Comando modal que selecciona la retracción al plano de holgura del punto R. En el Sistema A de torno, selecciona Avance por Revolución (mm/rev o inch/rev).
- X / Y: Coordenadas del centro del agujero en el plano de trabajo activo.
- Z: Coordenada absoluta del fondo del agujero, o la distancia incremental desde el plano R.
- R: Coordenada absoluta del plano de retracción (altura de holgura), o la distancia incremental desde el plano de inicio.
- F: valor de feedrate, que se interpreta como mm/min bajo G98 (avance de torno) o mm/rev bajo G99 (avance de torno). Estos modos de velocidad de torno están estrechamente relacionados con los Modos de Avance G94 y G95 utilizados en operaciones de fresado y torneado.
Aplicaciones de Marca
Fanuc
Los controles CNC de Fanuc utilizan parámetros de sistema específicos para regular cómo el intérprete procesa G98 y G99. El Parámetro 3401 (bit 1, FCD) determina si un código F programado físicamente antes de un cambio de feedrate G98/G99 adopta el nuevo modo o hereda el estado anterior. Adicionalmente, el parámetro 3402 (bit 4, FPM) dicta el estado modal de feedrate predeterminado al encender el sistema.
La sintaxis de G-code de Fanuc varía entre fresado (serie M) y torneado (serie T). Para fresado, los canned cycles como G81 and G83 integran G98 y G99 para controlar la altura de retorno. Para tornos que operan bajo el Sistema A de G-code, G98 y G99 se mapean directamente a modos de velocidad de feedrate.
| Categoría | Ajuste de Sistema / Código | Descripción / Comportamiento |
|---|---|---|
| Parámetros | Parámetro 3401 bit 1 (FCD) | Determina si un código F programado físicamente antes de un comando de feedrate G98/G99 en el mismo bloque hereda el modo anterior (0) o adopta el nuevo (1). |
| Parámetros | Parámetro 3402 bit 4 (FPM) | Dicta el estado de feedrate modal predeterminado al encender/reiniciar el sistema. 0 = G99 (avance/rev), 1 = G98 (avance/min). |
| Parámetros | Parámetro 0036 bit 4 (G98) | Modo de avance al encender específicamente para la serie de rectificado 0-GCD. 0 = avance por revolución, 1 = avance por minuto. |
| Alarmas | PS0010 | G-code inapropiado. Se activa si se programa G98/G99 pero la máquina carece de la opción correspondiente, o en un estado inadecuado. |
| Alarmas | PS0011 | Comando de avance cero. Se activa en la serie T si se ejecuta un comando de eje sin especificar un feedrate inmediatamente después de cambiar entre los modos G98/G99. |
| Versiones | Serie M vs. Serie T Sistema A | Los controles de fresado utilizan G98/G99 para los niveles de retracción de canned cycle. Los tornos que utilizan el Sistema A de G-code estándar mapean G98/G99 estrictamente al modo de feedrate (avance/min vs. avance/rev). Cambiar los parámetros del torno al Sistema B o C de G-code restaura los comportamientos de retracción de ciclo para G98/G99. |
No despejar los límites de la turret y el chuck al ejecutar canned cycles G99 puede causar choques mecánicos. En sistemas donde se integran clamps del eje C, ejecutar un comando de retracción mientras un clamp está acoplado provocará una colisión de la herramienta. Los operadores deben monitorear las transiciones de feedrate en tornos del Sistema A para evitar una aceleración peligrosa de la herramienta.
Siemens
En los controles de Siemens que operan en modo ISO Dialect, las alturas de retorno del ciclo se procesan de forma nativa dentro de las variables globales del sistema. El intérprete asigna la posición de retracción activa directamente al parámetro de array de Global User Data (GUD) _ZFPR[6]. Este ajuste dicta si los ciclos shell internos de Siemens procesan el código ISO heredado como G98 o G99.
Los controles de Siemens ejecutan canned cycles como G82 y G89 con modos de retorno G98 y G99. Cuando se programa G98, la herramienta vuelve al plano de inicio inicial; cuando G99 está activo, la herramienta se retracta solo al plano de referencia programado.
| Categoría | Ajuste de Sistema / Código | Descripción / Comportamiento |
|---|---|---|
| Parámetros | _ZFPR[6] | Parámetro de array de Global User Data (GUD) utilizado internamente para almacenar el nivel de retracción activo de dialecto ISO. El valor 1 representa G98 y el 2 representa G99. |
| Parámetros | Dirección R | Especifica la altura del plano de retracción. Puede ser una coordenada absoluta o una distancia incremental desde el plano de inicio. |
| Parámetros | Dirección Z | Especifica la profundidad final del agujero. Puede ser una coordenada absoluta o una profundidad incremental desde el plano de retracción. |
| Alarmas | Alarma 61101 | Plano de referencia definido incorrectamente. Se activa si el plano de retracción (plano R) se define de forma inapropiada en relación con el plano de inicio o la profundidad Z final, lo que crea un conflicto geométrico. |
| Alarmas | Alarma 61808 | Falta la profundidad de taladrado final o la profundidad de taladrado única. Se activa si la profundidad total Z o la profundidad de pecking única Q se omiten por completo en el bloque inicial. |
| Versiones | Sistema de G-code A vs. B/C | El Sistema A fuerza implícitamente el retorno de la herramienta al plano de inicio inicial (comportamiento G98). Los Sistemas B y C permiten una diferenciación modal completa entre los retornos G98 y G99. |
Los programadores deben asegurarse de que las zonas de protección activas estén completamente despejadas cuando dejen G99 activo cerca de fixtures. Establecer el plano de retracción más bajo que un eje de sujeción (clamping axis) físico o una double turret puede activar una violación inmediata de la zona de protección o causar una colisión severa (hard collision).
Mitsubishi
Los sistemas CNC de Mitsubishi procesan los ciclos fijos a través de una arquitectura modal altamente aislada que protege el sistema de coordenadas activo del programa principal. El control ajusta los perfiles de aceleración del ciclo fijo mediante el parámetro #1253 (set25/bit2). Adicionalmente, el parámetro #8013 determina la cantidad de retracción específica utilizada en los ciclos de taladrado profundo.
La sintaxis de G-code en Mitsubishi utiliza G98 para el retorno a nivel de punto inicial y G99 para el retorno a nivel de punto R. Los ciclos fijos como G83 y G73 ejecutan estos comandos modales para gestionar las retracciones de los ejes. En las listas de torno 2, 4 y 6, G98 y G99 se reasignan a modos de velocidad de feedrate.
| Categoría | Ajuste de Sistema / Código | Descripción / Comportamiento |
|---|---|---|
| Parámetros | Parámetro #1253 set25/bit2 | Cambio de modo de Aceleración/Deceleración en el ciclo de taladrado de agujeros. Si se establece en 1, el tiempo de ciclo puede aumentar cuando el feedrate override es inferior al 100%. |
| Parámetros | Parámetro #8013 | Especifica la cantidad de retracción o retorno ("m") en ciclos de taladrado profundo (G83) o de paso (G73). El rango válido es de 0 a 199999998 (unidades de 0.5 µm). |
| Parámetros | Parámetro #1566 | Determina si el escape y retorno de desplazamiento rápido dentro de ciclos fijos se ajustan al parámetro de feedrate rápido #2001. |
| Alarmas | P155 | Error de programa. Se activa cuando se llama a un ciclo fijo de taladrado mientras la compensación del radio de la punta de la herramienta (G41 o G42) está activa. |
| Alarmas | P452 | Error de programa. Se activa si una trayectoria de desplazamiento dentro de un bloque de ciclo fijo intenta mover la herramienta a un área prohibida de límite de carrera almacenado. |
| Alarmas | P186 | Error de programa. Se activa si se emite incorrectamente un comando del spindle (S) mientras el modo del ciclo Punchtap está activo. |
| Versiones | Listas de Torno 2, 4, 6 | El nivel de retorno inicial del ciclo fijo está bloqueado. G98/G99 no se pueden utilizar para alternar niveles de retracción de ciclo; sirven estrictamente como controladores de modo de feedrate (G98 = avance/min, G99 = avance/rev). |
Antes de iniciar un comando de retorno de ciclo, los operadores deben cancelar todas las compensaciones de radio de la herramienta con G40 para evitar la terminación inmediata del programa. Los programadores también deben utilizar la función de comprobación de barrera del chuck G22 para evitar que la punta de la herramienta colisione con el chuck o el contrapunto debido a errores de programación de profundidad.
Comparación de Marcas
| Tema / Característica | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Retornos de Ciclo Nativos | G98 (Plano inicial) y G99 (Plano R) son niveles de retracción modales en canned cycles (Grupo 10). | El dialecto ISO de G98/G99 se asigna a comandos modales del grupo 11 en ciclos fijos de taladrado. | G98 (Retorno a nivel de punto inicial) y G99 (Retorno a nivel de punto R) son comandos modales de nivel de retorno. |
| Sobrecargas del Sistema de Torno | Sobrecarga G98/G99 como modos de feedrate (avance/min vs. avance/rev) bajo el Sistema A estándar. | El Sistema A bloquea los comportamientos de G99 y fuerza implícitamente el retorno al plano de inicio (G98). | Bloquea la alternancia de retracción en las listas de G-code 2, 4, 6 y reasigna G98/G99 estrictamente a modos de feedrate. |
| Aspectos Internos y Extensibilidad | Altamente microcontrolado mediante parámetros como 3401 (FCD) y 3402 (FPM) para dictar el estado de encendido/borrado y la herencia del código F. | Traduce los niveles modales G98/G99 directamente al parámetro de Global User Data (GUD) _ZFPR[6] (1=G98, 2=G99). | Aísla los modos de ciclo fijo del programa principal a través de comandos internos dedicados G.1, preservando el estado de WCS. |
| Seguridad y Límites | Restringe el movimiento del canned cycle basándose en parámetros de barrera del chuck y parámetros de límite de la turret. | Los controles activos de violación de zona de protección pueden abortar el recorrido lateral si el plano R es demasiado bajo. | Pre-evalúa las trayectorias de recorrido internas; activa instantáneamente el código de alarma P452 si el punto final entra en el área prohibida de límite de carrera. |
Análisis Técnico
La comparación de las implementaciones arquitectónicas revela cómo cada control maneja el procesamiento de coordenadas y los estados modales. Fanuc depende en gran medida de microcontroles impulsados por parámetros, lo que permite al fabricante de la máquina personalizar el entorno de G-code. Por ejemplo, la transición entre los modos de feedrate en un torno Fanuc se rige por el parámetro 3401 bit 1 (FCD). Esto permite al sistema determinar si un código F colocado antes de un comando G98/G99 en el mismo bloque hereda el estado modal anterior o adopta limpiamente el nuevo, lo que evita suposiciones de feedrate peligrosas durante cambios de coordenadas complejos. Estos ajustes de feedrate a menudo se combinan con velocidades constantes del husillo o velocidades de corte constantes como Velocidad de Corte Constante G96 y RPM Constantes G97.
En contraste, Siemens traduce los comandos de retorno ISO heredados G98 y G99 directamente a su arquitectura nativa de Global User Data (GUD). El intérprete pasa el estado de retracción activo directamente a la variable de sistema _ZFPR[6], mapeando G98 a un valor de 1 y G99 a un valor de 2. Esta traducción directa permite que los ciclos shell internos avanzados de Siemens procesen el código ISO heredado sin requerir modificaciones secundarias del postprocesador. También permite al controlador imponer dependencias del sistema de G-code, bloqueando los comportamientos de G99 en el Sistema A mientras otorga una diferenciación completa de G98/G99 en los Sistemas B y C.
Mitsubishi se distingue al aislar los modos internos del ciclo fijo del programa principal. Utiliza un comando interno dedicado G.1 para ejecutar la operación del ciclo fijo, lo que significa que el ciclo utiliza su propia información modal del grupo 01. Cuando se completa el ciclo, el modal activo se restaura automáticamente a G00, eliminando la necesidad de que el programador vuelva a declarar manualmente el modal de movimiento. Además, Mitsubishi pre-evalúa las operaciones internas del bloque de ciclo en lugar de esperar al desplazamiento físico. Si una trayectoria de coordenadas calculada entra en un área prohibida de límite de carrera almacenado, el control activa inmediatamente un código de alarma P452 y se detiene antes de que ocurra cualquier movimiento físico del eje.
Ejemplos de Programas
Ejemplo de Código G de Fanuc
G90 G99 G83 X100.0 Y50.0 Z-30.0 R5.0 Q8.0 F120.0 ;
X150.0 Y50.0 ;
G98 X200.0 Y100.0 Z-30.0 R5.0 Q8.0 ;
Análisis de ejecución en seco (dry run)
- Bloque 1: La herramienta se mueve en desplazamiento rápido al plano inicial (Z50.0) antes de que comience el ciclo. El modo de coordenadas es absoluto (G90). G99 se activa, lo que significa que la herramienta se retracta solo al plano R después del taladrado. G83 inicia un ciclo de taladrado profundo con pecking en X100.0 Y50.0, taladrando hasta una profundidad final de Z-30.0 con una profundidad de pecking (Q) de 8.0 mm y un feedrate (F) de 120.0 mm/min. El plano R (R5.0) establece la coordenada de holgura inicial. Una vez taladrado el agujero, la herramienta se retracta a Z5.0 (plano R) y permanece allí.
- Bloque 2: La herramienta se desplaza lateralmente en desplazamiento rápido a X150.0 Y50.0 a la elevación del plano R (Z5.0). El ciclo de taladrado con pecking se repite. Al completarse, la herramienta se retracta de nuevo a Z5.0 (plano R).
- Bloque 3: Se ordena G98, cambiando el nivel de retracción modal al plano inicial. La herramienta se desplaza a X200.0 Y100.0 y ejecuta el ciclo de taladrado con pecking. Después de alcanzar la profundidad Z-30.0, la herramienta se retracta por completo al plano inicial de inicio (Z50.0), despejando cualquier fixture físico.
Ejemplo de Código G de Siemens
G90 G99 G82 X300.0 Y-250.0 Z-150.0 R-100.0 P1000 F120 ;
X400.0 ;
G98 Y-350.0 ;
Análisis de ejecución en seco
- Bloque 1: El control opera en modo absoluto (G90). G99 se activa, estableciendo que la retracción ocurrirá al plano de referencia. El ciclo de taladrado G82 con dwell se llama en las coordenadas X300.0 Y-250.0. La herramienta taladra hasta la profundidad final de Z-150.0, comenzando desde el plano de referencia (R-100.0), con un tiempo de dwell (P) de 1000 milisegundos en el fondo del agujero y un feedrate de 120 mm/min. La altura de retracción se asigna a
_ZFPR[6] = 2(G99). La herramienta se retracta a la coordenada del plano de referencia (Z-100.0). - Bloque 2: La herramienta se mueve en desplazamiento rápido a X400.0 Y-250.0, manteniendo el eje Z en Z-100.0 (plano de referencia). El ciclo G82 se repite. La herramienta se retracta a Z-100.0.
- Bloque 3: G98 se activa, cambiando
_ZFPR[6]a 1. La herramienta se desplaza a Y-350.0 y ejecuta el ciclo G82. Al alcanzar la profundidad Z-150.0 y completar el dwell, la herramienta se retracta completamente a la coordenada del plano de inicio inicial.
Ejemplo de Código G de Mitsubishi
G90 G98 G83 X100.0 Y100.0 Z-50.0 R25.0 Q10.0 F1000 ;
G99 G73 X200.0 Z-50.0 R25.0 Q10.0 F1000 ;
Análisis de ejecución en seco
- Bloque 1: El controlador se coloca en programación absoluta (G90). G98 se ordena, seleccionando el retorno a nivel de punto inicial. El ciclo de taladrado profundo G83 se llama en X100.0 Y100.0. La herramienta se desplaza en rápido al plano inicial (Z50.0), luego avanza en pecks (Q) de 10.0 mm hasta Z-50.0 comenzando desde el nivel de holgura del plano R de Z25.0. Al completarse el agujero, la herramienta se retracta por completo al plano inicial de inicio del eje Z (Z50.0).
- Bloque 2: G99 se ordena, cambiando el nivel de retracción modal al plano de holgura del punto R. G73 inicia un ciclo de taladrado de paso en X200.0 Y100.0 (heredando Y). La herramienta se desplaza en rápido en el plano inicial a las nuevas coordenadas, avanza hasta Z-50.0 con pecks de 10.0 mm y se retracta solo a la coordenada del plano R (Z25.0) tras finalizar, ahorrando tiempo de movimiento rápido.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | PS0010 | Programación de G98 o G99 cuando falta la opción de canned cycle o en un estado de coordenadas inadecuado. | El control CNC detiene la ejecución y muestra el mensaje de error "PS0010 IMPROPER G-CODE". Se ilumina la luz roja de alarma. | Verifique que los parámetros de la máquina admitan la opción de canned cycle y compruebe que el sistema de G-code esté en un estado válido. |
| Fanuc | PS0011 | Ejecución de un movimiento de eje después de cambiar entre G98 y G99 en un torno de la serie T sin definir un feedrate. | La herramienta se detiene inmediatamente, el movimiento de avance se suspende y el controlador muestra "PS0011 FEED ZERO COMMAND". | Programe un valor F (feedrate) explícito inmediatamente en el mismo bloque después de cambiar de modo de feedrate. |
| Siemens | Alarma 61101 | Definición del plano de referencia (plano R) geométricamente más bajo que la profundidad Z final o más alto que el plano de inicio. | El controlador aborta inmediatamente el bloque de ciclo activo y muestra "Alarma 61101 Reference plane defined incorrectly". | Corrija las coordenadas del plano de referencia R o ajuste los valores de profundidad Z total para garantizar una trayectoria lógica de la herramienta. |
| Siemens | Alarma 61808 | Omisión de la profundidad total Z requerida o de la profundidad de pecking única Q en el primer bloque del ciclo. | La herramienta permanece estacionaria y el control se detiene con el mensaje de error "Alarma 61808 Final drilling depth or single drilling depth is missing". | Programe la coordenada Z o el parámetro de pecking Q explícitamente dentro del primer bloque de comando de ciclo. |
| Mitsubishi | P155 | Orden de un ciclo fijo de taladrado mientras la compensación del radio de la punta de la herramienta (G41 o G42) está activa. | El programa CNC se detiene inmediatamente, muestra "P155 Program error" y evita que la herramienta ejecute el ciclo fijo. | Agregue un comando G40 para cancelar la compensación del radio de la herramienta antes de invocar cualquier ciclo fijo de taladrado. |
| Mitsubishi | P452 | Una trayectoria de desplazamiento dentro de un bloque de ciclo fijo intenta mover la herramienta a un área prohibida de límite de carrera almacenado. | Los ejes se detienen inmediatamente antes de que comience el desplazamiento físico, y el CNC muestra el error "P452 Program error". | Verifique las alturas de holgura y los límites de las coordenadas de trabajo para asegurarse de que las coordenadas no crucen los límites de carrera de software. |
| Mitsubishi | P186 | Emisión de un comando del spindle (S) durante el modo del ciclo Punchtap. | El controlador lanza "P186 Program error" y aborta la operación de roscado con macho. | Elimine los códigos S en conflicto del programa o desactive el ciclo Punchtap antes de ordenar una velocidad del spindle. |
Nota de Aplicación
La deformación estructural de las mordazas o el desalineamiento geométrico del husillo (spindle) tras una colisión mecánica por usar incorrectamente G99 representa el origen del 70% de las paradas no planificadas en operaciones de taladrado múltiple. Si no se verifica minuciosamente la altura de retracción y la posición de los clamps antes de producción, la desviación dimensional se acumula ciclo a ciclo y solo se detecta en la inspección final como pieza rechazada. Para neutralizar proactivamente estos riesgos y garantizar un proceso libre de colisiones, los programadores de CNC deben configurar e implementar de manera estricta los parámetros de seguridad y controles de límites de cada controlador:
- En controles Fanuc: Validar el parámetro 3401 bit 1 (FCD) elimina la causa más frecuente de parada no planificada en este comando en tornos. Si este parámetro se encuentra configurado en 0, un código F especificado físicamente en la misma línea pero antes del código G98/G99 heredará erróneamente el modo de avance anterior, lo que provoca que el torno interprete un avance lineal masivo como avance por revolución y genere movimientos de ejes extremadamente rápidos y violentos. Asegurar que este bit esté establecido en 1 obliga al intérprete a asociar limpiamente el código F con el nuevo modo modal de avance activo, atrapando cualquier discrepancia geométrica antes de que se inicie el movimiento del eje. Además, la correcta configuración del parámetro 3402 bit 4 (FPM) garantiza que al energizarse la máquina, esta inicie por defecto en el modo seguro de avance por revolución (G99) para tornos o avance por minuto (G98) según la configuración cinemática baseline del equipo.
- En controles Siemens: El programador debe auditar constantemente el parámetro de Global User Data (GUD)
_ZFPR[6], el cual traduce y almacena directamente el estado modal del dialecto ISO (donde un valor de 1 representa G98 y 2 representa G99) para gestionar los ciclos internos de taladrado. Definir de manera errónea el plano de retracción R geométricamente por debajo de la profundidad final de taladrado Z provocará de inmediato la activación de la Alarma 61101 "Reference plane defined incorrectly", interrumpiendo el programa antes de que la herramienta colisione con el clamping axis o la double turret. Para evitar que la máquina quede varada en medio de un lote, también se debe programar explícitamente tanto el plano R como la profundidad total Z en el primer bloque del ciclo, evitando la parálisis del eje asociada a la Alarma 61808. - En controles Mitsubishi: Es obligatorio monitorear la interacción entre los límites de carrera y los ciclos de agujeros profundos. La activación de la función de comprobación de barreras del chuck G22 previene activamente colisiones graves con el plato o el contrapunto debido a errores en la programación de las coordenadas Z. Asimismo, el pre-análisis de trayectoria integrado en el control preevalúa los movimientos moleculares del ciclo y aborta el proceso de inmediato arrojando la alarma P452 Program error si detecta que la punta de la herramienta cruzará hacia una zona prohibida por límites de software. Para optimizar el tiempo de ciclo en desbastes de alta velocidad sin fatigar el motor, el ajuste del parámetro
#1253 set25/bit2a 0 evita que el tiempo del ciclo fijo se prologue innecesariamente cuando se aplica un feedrate override inferior al 100%.
Red de Comandos Relacionados
- G80 (Cancelación de Ciclo Fijo): Termina el modo de ciclo fijo activo, restaurando la máquina a modos de interpolación lineal estándar y evitando ciclos repetitivos no deseados.
- G81–G89 (Ciclos Fijos): Una familia de comandos modales para taladrado, mandrinado y roscado automatizados que dependen de G98 y G99 para determinar sus alturas de retracción.
- G94 / G95 (Modos de Avance): Alterna el avance de corte entre avance por minuto y avance por revolución, lo cual corresponde a la función secundaria de G98 y G99 en sistemas de torno.
- G90 / G91 (Programación Absoluta vs. Incremental): Gobierna si los movimientos de coordenadas y las alturas de retracción se procesan como posiciones absolutas o distancias incrementales.
- G22 (Comprobación de Límite de Barrera de Chuck/Fixture): Establece límites de software que evitan que la punta de la herramienta colisione con el chuck o el contrapunto durante la ejecución del ciclo.
Conclusión
La maximización de la eficiencia del mecanizado en operaciones de agujeros múltiples exige establecer un protocolo de verificación riguroso que equilibre la velocidad de corte y la seguridad física de la máquina. La recomendación de producción más eficaz es integrar por defecto el comando G98 en las transiciones críticas donde existan clamps, mordazas o variaciones marcadas en el contorno del material, aislando su aplicación para "saltar" de forma segura por encima de cualquier obstáculo físico. En contraste, la programación estratégica de G99 debe reservarse exclusivamente para grupos de agujeros situados en caras coplanares completamente despejadas, lo que permite eliminar tiempos muertos innecesarios y optimizar el tiempo de ciclo. Realizar simulaciones previas en la pantalla gráfica de trazo y auditar los parámetros críticos de retracción en el control son acciones mandatorias en el taller que garantizan una producción robusta y un desgaste de herramental mínimo.
Preguntas Frecuentes (FAQ)
¿Cuándo se debe cambiar manualmente de G99 a G98 dentro de un mismo bloque de ciclo fijo?
El cambio manual de G99 a G98 debe realizarse inmediatamente antes de que la herramienta deba cruzar una barrera física elevada, como una mordaza de tornillo o una brida de sujeción (clamp). Mantener G99 activo en superficies despejadas ahorra segundos valiosos de no-corte, pero al llegar al límite del obstáculo, se debe programar un bloque que combine G98 con la nueva coordenada para forzar a la herramienta a retractarse por completo al plano inicial seguro en ese movimiento específico. Acción práctica: Divida el patrón de taladrado en subgrupos de coordenadas en el programa de pieza, programando G99 para los agujeros internos coplanares y aplicando G98 únicamente en la línea de coordenadas que realiza el salto sobre el fixture.
¿Qué causa la alarma PS0011 "FEED ZERO COMMAND" en tornos Fanuc tras cambiar entre G98 y G99?
Esta alarma ocurre específicamente en tornos de la serie T que operan con el Sistema A de G-code, donde G98 y G99 no controlan la altura de retracción del ciclo, sino que sobrecargan sus funciones para actuar como interruptores de avance por minuto (mm/min) y avance por revolución (mm/rev). Si el control realiza la transición modal de un código al otro sin encontrar un valor de avance (F) inmediatamente en el mismo bloque, la velocidad matemática resultante se calcula temporalmente como cero, lo que bloquea el eje para proteger la máquina. Acción práctica: Programe siempre un código F explícito (por ejemplo, G99 F0.25) en el mismo bloque donde declare la conmutación del modo de avance de torno para asegurar una correcta alimentación del husillo.
¿Cómo influye la compensación del radio de la herramienta en la ejecución de G98 y G99 en Mitsubishi?
En los sistemas Mitsubishi, intentar llamar a un ciclo fijo (como G83 o G84) que contenga instrucciones G98 o G99 mientras la compensación del radio de la punta de la herramienta (G41 o G42) se encuentra activa provocará una detención inmediata bajo el error de programa P155. Esto se debe a que el control no puede precalcular de forma segura las trayectorias de retracción rápida y los perfiles de compensación espacial de forma simultánea, bloqueando la ejecución para evitar que un cálculo corrompido desvíe la herramienta hacia las mordazas. Acción práctica: Introduzca siempre el comando de cancelación G40 en una línea aislada inmediatamente antes de realizar la llamada al bloque de ciclo fijo de taladrado.
¿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.