G96 y G97: Velocidad de Corte Constante vs. RPM Constantes en CNC
Domine la programación de velocidad de corte constante G96 y RPM constantes G97 en controles Fanuc, Siemens y Mitsubishi. Evite colisiones y optimice ciclos.
Introducción
La expulsión violenta de una pieza de acero templado desde las garras del mandril (chuck jaws) giratorio a 4000 RPM, debido a la fuerza centrífuga extrema generada al aproximarse a X0 en un corte de refrentado, es uno de los accidentes más destructivos en un taller CNC. Este tipo de colisión mecánica severa dentro de la cabina de la máquina, que resulta instantáneamente en costosas piezas de desecho (scrap) y un tiempo de inactividad (tiempo de inactividad) no planificado de varios días por daños en los rodamientos del husillo (spindle), ocurre cuando un programador activa la velocidad de corte constante (G96) sin haber establecido previamente un límite máximo de velocidad mediante la función de sujeción (spindle speed clamp). Al aproximarse al centro de giro (X0), el control CNC intenta acelerar teóricamente el husillo hasta el infinito para mantener la velocidad de corte programada, alcanzando rápidamente límites físicos destructivos.
Para optimizar dinámicamente las condiciones de corte sin comprometer la seguridad de la planta, los sistemas CNC modernos emplean dos códigos modales pertenecientes al grupo modal 02: G96 para activar la Velocidad de Corte Constante (CSS) y G97 para cancelar CSS y mantener una Velocidad Rotacional Constante (RPM). El dominio absoluto de la relación entre estos comandos y los parámetros de seguridad del husillo es la base para operaciones seguras y eficientes en tornos y centros de torneado-fresado de marcas líderes como Fanuc, Siemens y Mitsubishi.
Resumen Técnico
| Atributo Técnico | Detalles de Especificación |
|---|---|
| G-codes Principales | G96 (Velocidad de Corte Constante ON), G97 (Cancelación Modal de RPM / Velocidad Constante del Husillo) |
| Grupo de Modalidad | Grupo modal de G-codes 02 (Fanuc / Mitsubishi) · Grupo modal de control de husillo (Siemens) |
| Controladores Soportados | Fanuc (Sistema B/C y serie T estándar), Siemens SINUMERIK, Mitsubishi M800V/M80V |
| Parámetros Críticos | Fanuc: 3770 (Eje radial), 3771 (RPM mínimas), 3712 bit 4 (CSA), 3708 bit 5 (SOC) · Siemens: MD20100 (Eje transversal), SD43230 (Límite LIMS) · Mitsubishi: #1181 (Eje G96), #1087 (G00 CSS rápido) |
| Restricciones Físicas Principales | Prohibido durante la interpolación cilíndrica (G07.1) y ciclos de roscado rígido. El centro de rotación del husillo debe servir como el cero absoluto del eje geométrico transversal. Los cambios de etapa de engranaje (M40-M44) están bloqueados mientras G96 está activo. |
Lectura Rápida
- Ejecute primero los límites de velocidad de seguridad: Programe siempre G50/G92 (Fanuc/Mitsubishi) o LIMS (Siemens) antes de G96 para evitar una aceleración peligrosa del husillo.
- Calidad superficial: La Velocidad de Corte Constante (G96) aumenta dinámicamente las RPM del husillo a medida que la herramienta de corte se acerca a X0, manteniendo las condiciones de corte uniformes y el desgaste de la herramienta al mínimo.
- Operaciones rígidas: Use RPM Constantes (G97) para operaciones en el centro de giro como taladrado, escariado o roscado rígido para mantener una velocidad de rotación constante independiente de la posición de la herramienta.
- Acoplamiento del avance: Cuando el avance por revolución (Modos de Avance G94 y G95) está activo, la velocidad de avance de los ejes aumenta automáticamente junto con la del husillo, acelerando el movimiento dinámico de los ejes.
- Mapeo multieje: Los ejes de referencia se pueden reasignar sobre la marcha a través de la dirección P o del comando SCC de Siemens, lo que permite un mecanizado complejo en tornos-fresadores y husillos múltiples.
- Bloqueos de roscado y roscado macho: Los cálculos de velocidad del husillo se suspenden automáticamente durante los ciclos de roscado para evitar la distorsión del paso y errores de avance.
Conceptos Básicos
En las operaciones de corte de metal, la velocidad lineal a la que el material de la pieza pasa por el filo de corte de la plaquita se define como velocidad de corte (vc). Matemáticamente, esta relación se expresa como vc = (π × D × n) / 1000, donde D representa el diámetro de la pieza en la punta de la herramienta y n representa la velocidad de rotación del husillo (RPM). Cuando un torno opera bajo RPM fijas, la velocidad de corte lineal disminuye continuamente a medida que la herramienta avanza desde el diámetro exterior de la pieza hacia el centro. Esta caída de la velocidad lineal provoca cambios en el espesor de la viruta, acabados superficiales deficientes en las zonas refrentadas y un estrés térmico excesivo en el filo de corte, lo que acorta drásticamente la vida útil de la herramienta.
Para superar esto, la Velocidad de Corte Constante (G96) le indica al controlador CNC que calcule dinámicamente las RPM del husillo requeridas en tiempo real. A medida que el eje transversal (típicamente el eje radial X) se acerca al centro de giro, el controlador acelera automáticamente el husillo para mantener la velocidad de corte superficial programada. Esto garantiza un acabado superficial perfectamente uniforme en todo el perfil refrentado y permite que las herramientas funcionen a su óptima eficiencia de corte. Por el contrario, G97 desactiva CSS y bloquea el husillo a RPM constantes. G97 es esencial para operaciones donde la acción de corte de la herramienta se concentra estrictamente a lo largo del centro de rotación del husillo (por ejemplo, taladrado en el centro, escariado y roscado con macho) o donde la sincronización mecánica entre la rotación del husillo y los ejes lineales debe estar bloqueada, como ocurre en los ciclos de roscado.
Estructura de Comandos
La programación CNC requiere formatos de sintaxis específicos según la marca y modelo del controlador. Debido a que la sujeción de velocidad del husillo es una barrera de seguridad fundamental, debe declararse antes de la activación de G96 o junto con ella. Utilizar una sintaxis incorrecta u omitir el comando de sujeción provocará paradas inmediatas del programa o situaciones operativas peligrosas.
Los formatos de bloque de comando para los tres principales sistemas de control industrial están estructurados de la siguiente manera:
- Tornos Fanuc (serie T):
G50 S[MaxRPM];seguido deG96 S[CuttingSpeed] M03;. Para cancelar y fijar RPM:G97 S[FixedRPM] M03;. Los centros de mecanizado Fanuc (serie M) o los programas de torno que funcionan bajo el Sistema de G-codes B/C utilizanG92en lugar deG50para el límite de velocidad máxima. Una direcciónPopcional selecciona el eje de cálculo de coordenadas activo. - Controles Siemens:
LIMS = [MaxRPM];seguido deG96 S[CuttingSpeed] M3;. Siemens proporciona códigos de corte extendidos:G961activa la velocidad de corte constante con un avance lineal (mm/min), mientras queG971cancela CSS e impone un avance lineal. El comandoSCC[eje]permite la reasignación del eje de cálculo a mitad del programa. - Controles Mitsubishi:
G92 S[MaxRPM] [QMinRPM];seguido deG96 S[CuttingSpeed] [Paxis];. Para cancelar:G97 S[FixedRPM];. Mitsubishi admite de forma única una velocidad límite mínima utilizando la direcciónQdentro del bloqueG92/G50.
Aplicaciones de Marca
Fanuc
Los controladores CNC Fanuc utilizan comandos modales del Grupo 02 para gestionar la lógica de velocidad del husillo con un alto grado de personalización de parámetros. El eje de cálculo radial está asignado al eje físico X por defecto, pero los fabricantes de máquinas pueden configurar el parámetro 3770 para soportar otros ejes. Cuando se activa G96, el husillo se acelera en tiempo real a medida que disminuye la distancia radial de la herramienta. Sin embargo, los operadores deben comprobar cuidadosamente los sistemas de coordenadas activos y los límites físicos del mandril para evitar riesgos de rotación a alta velocidad.
Para evitar un embalamiento peligroso del husillo, el parámetro 3712 bit 4 (CSA) se puede establecer en 1, forzando al controlador a lanzar una alarma PS5557 y detener la ejecución si se comanda un bloque G96 sin un comando previo de sujeción de velocidad del husillo (G50 o G92) desde el encendido. Aunque el dial de anulación (override dial) no está bloqueado físicamente, el parámetro 3708 bit 5 (SOC) controla el dial de anulación (override): cuando se establece en 1, el controlador aplica el límite de velocidad máxima del husillo después del cálculo de anulación del husillo del operador, lo que evita que el husillo gire más al límite seguro de G50 incluso si la anulación se establece al 120%.
| Parámetros | Códigos de Alarma | Diferencias de Versión |
|---|---|---|
| 3770: Identificador del eje de cálculo radial (0 al número de ejes). Si es 0, la dirección P no tiene efecto. 3771: Velocidad mínima del husillo durante CSS (0 a 99,999,999 min−1). 3708 bit 5 (SOC): Seguridad de anulación (0 = límite antes de anulación; 1 = límite después de anulación). 3712 bit 4 (CSA): Bloqueo por falta de límite (0 = sin alarma; 1 = alarma PS5557). | PS5557: Falta la configuración del límite de velocidad antes de G96. PS5355: Falta el código S de velocidad de corte durante la selección de husillo múltiple. PS0190: Conflicto de dirección de eje a través de la designación de la dirección P. PS0200: Comando G96 ilegal ejecutado durante un ciclo de roscado rígido (el parámetro 5209 bit 6 es 1). | Los centros de mecanizado (serie M) y los tornos que utilizan los sistemas de G-codes B y C requieren G92 para establecer el límite de velocidad del husillo. Los tornos que operan bajo el Sistema de G-codes A utilizan G50 para la configuración del límite de velocidad del husillo. |
Los operadores deben verificar cuidadosamente el espacio libre del contrapunto y la fuerza de agarre de las garras del mandril al ejecutar G96. Debido a que el avance en el modo de avance por revolución está ligado físicamente a las RPM del husillo, la velocidad de avance del eje lineal se acelerará rápidamente cerca del centro de la pieza, lo que puede causar interferencias mecánicas si se ignoran las zonas de seguridad.
Siemens
Los controles Siemens SINUMERIK ofrecen un control de velocidad del husillo sumamente flexible, calculando las velocidades requeridas basándose en el eje geométrico definido como eje transversal en el dato de máquina MD20100. Esta configuración permite cálculos precisos del Tool Center Point (TCP). Sin embargo, los programadores deben asegurarse de que el cero del eje transversal esté perfectamente alineado con el centro de giro del husillo. Desplazar el sistema de coordenadas fuera del centro físico utilizando decalajes programables (como ATRANS) hará que el control calcule diámetros incorrectos, lo que resultará en velocidades de corte erróneas y posibles daños en la pieza.
El sistema Siemens requiere un ajuste modal LIMS para limitar la velocidad máxima del husillo maestro. Un valor negativo de limitación de velocidad del husillo activará inmediatamente la Alarma 14820 y detendrá el programa. Si el eje geométrico no está definido en absoluto en MD20100, el controlador genera inmediatamente la Alarma 10870 para evitar movimientos erráticos. Los cambios automáticos de etapa de engranaje (M40) están completamente bloqueados mientras G96 o G961 están activos.
| Parámetros | Códigos de Alarma | Diferencias de Versión |
|---|---|---|
| MD20100 $MC_DIAMETER_AX_DEF: Configuración de la función del eje geométrico transversal. SD43230 $SA_SPIND_MAX_VELO_LIMS: Almacenamiento de velocidad de husillo LIMS activa (0.1 a 9999 9999.9 rpm). SD43210 $SA_SPIND_MIN_VELO_G25: Configuración del límite inferior de velocidad del husillo. MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT: Límite de velocidad mínimo de la etapa de engranaje. | Alarma 10900: Falta el valor S para la velocidad de corte constante G96/G961. Alarma 14820: Velocidad máxima de husillo negativa programada en LIMS. Alarma 10870: El eje transversal no está definido en MD20100. Alarma 14824: Conflicto: GWPS y velocidad de corte constante (G96) están activos simultáneamente. Alarma 10860: Falta el valor de avance F en el bloque G96/G961 activo. | En el modo nativo de Siemens (G290), activar G96 enciende automáticamente el avance por revolución (G95), mientras que G961 impone un avance lineal (G94). En el modo ISO Dialect (G291), el comando especializado G973 cancela CSS desactivando explícitamente el límite LIMS activo. |
Los operadores deben recordar que al transicionar desde refrentado en G96 hacia taladrado estándar, comandar G97 congela el husillo en las últimas RPM calculadas. Los programadores siempre deben declarar un nuevo valor de S después G97 para evitar que el husillo gire a una velocidad insegura o improductiva.
Mitsubishi
Los controladores Mitsubishi M800V/M80V proporcionan capacidades dinámicas de ajuste del husillo que permiten a los operadores cambiar los ejes de referencia sobre la marcha utilizando una dirección P (por ejemplo, G96 S200 P2). Si los parámetros #1146 y #1284 están configurados para imponer comprobaciones de seguridad, comandar G96 sin una sujeción de husillo G92 previa activará una alarma G96 Clamp Err.. Si el parámetro #1284 se establece en 1, la comprobación de seguridad se omite, lo que significa que la máquina procederá sin advertencia y el husillo se acelerará hasta el límite máximo mecánico absoluto en X0, con el riesgo de expulsión centrífuga de la pieza.
Una capacidad única del control Mitsubishi es su comportamiento durante intercambios rápidos de coordenadas (G140/G141). Si los ejes se intercambian temporalmente durante un bloque G96 activo, el control no activa ninguna alarma. En su lugar, bloquea automáticamente la velocidad del husillo en su último valor seguro, espera hasta que se restaure la disposición original de los ejes y luego reanuda sin problemas los cálculos de velocidad de corte constante.
| Parámetros | Códigos de Alarma | Diferencias de Versión |
|---|---|---|
| #1181 G96_ax: Configuración del eje predeterminado de CSS. Si es 0, el eje se fija al 1er eje (el código P no es válido). #1087 G96_G0: Cálculo de CSS en movimiento rápido (0 = continuo; 1 = calcular solo al final del bloque). #1146 Sclamp: Interruptor activo de comprobación de límite de husillo. #1284 ext20/bit0: Desactivar comprobación de límite (0 = comprobación activa; 1 = comprobación omitida). | G96 Clamp Err.: Comando G96 emitido sin una sujeción previa de velocidad del husillo. Illegal P-No. G96 (P133): Eje fuera de rango seleccionado a través de la dirección P. Operation Error (M01 1113): Conflicto multisistema: G96 comandado durante roscado/roscado macho en otro sistema. | Bajo Control de Husillos Múltiples I (sistemas L), la falta de límite activa un Program Error P134, deteniendo la ejecución. Bajo Control de Husillos Múltiples II, la falta de límite activa un Operation Error M01 1043, que suspende G96 pero mantiene la velocidad de husillo anterior. |
Para evitar un desgaste mecánico severo, el parámetro #1087 (G96_G0) se puede establecer en 1. Esto evita que el husillo se acelere y desacelere rápidamente durante los desplazamientos rápidos (G00) entre cortes, calculando únicamente la velocidad del husillo en el punto final del bloque.
Comparación de Marcas
Aunque los principios físicos de la velocidad de corte constante siguen siendo idénticos en todas las plataformas, la implementación, el mapeo de parámetros y los métodos de comprobación de seguridad varían significativamente entre Fanuc, Siemens y Mitsubishi. La siguiente tabla proporciona una comparación detallada de cómo ejecutan los controles de husillo estas tres marcas principales de controladores CNC industriales.
| Comparación de Características | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Activación de CSS | G96 (Grupo modal 02) | G96, G961, G962 (Grupo modal) | G96 (Grupo modal 02) |
| RPM Constantes / Cancelación | G97 (Grupo modal 02) | G97, G971, G972, G973 | G97 (Grupo modal 02) |
| Comando de Límite de Husillo | G50 S[velocidad] (Tornos Sistema A) G92 S[velocidad] (Fresas / Sistema B/C) | LIMS=[valor] o LIMS[husillo]=[valor] | G92 S[velocidad] [Qmin] o G50 S[velocidad] [Qmin] |
| Reasignación de Eje | P1 a P8 en bloque G96 (requiere parámetro 3770) | SCC[eje] programado dinámicamente | Dirección P en bloque G96 (requiere parámetro #1181) |
| Ajuste de Velocidad Mínima | Parámetro 3771 | SD43210 $SA_SPIND_MIN_VELO_G25 | Dirección Q en bloque de límite G92/G50 |
| Manejo de CSS en G00 Rápido | Recálculo continuo de velocidad durante el movimiento | Recálculo continuo de velocidad durante el movimiento | El parámetro #1087 G96_G0 selecciona continuo (0) vs. punto final (1) |
| Limitación Multi-Husillo | Establece el límite solo para el husillo maestro activo | Define hasta 4 límites de husillo en un bloque (LIMS=... LIMS[11]=...) | Establece el límite para el husillo activo según parámetros de selección |
| Alerta por Falta de Límite | Alarma PS5557 (si parámetro 3712 bit 4 = 1) | — (sin fuente) | G96 Clamp Err. (Program Error P134 bajo MSC I / Operation Error M01 1043 bajo MSC II) |
Análisis Técnico
El análisis de la arquitectura de estos tres controladores revela filosofías de diseño bien diferenciadas respecto al control de velocidad del husillo. Fanuc se centra en gran medida en barreras de seguridad granulares basadas en parámetros. Al utilizar el parámetro 3708 bit 5 (SOC), el control permite a los fabricantes de máquinas bloquear el límite de velocidad máxima del husillo estrictamente por debajo del límite físico del mandril, aislándolo por completo del dial de anulación (override) del operador. Si un operador gira el dial de anulación del husillo al 120%, la velocidad matemática se limita al valor de G50, lo que evita la falla centrífuga del mandril. El direccionamiento P1 a P8 de Fanuc también proporciona una forma elegante de mapear hasta ocho ejes auxiliares para cálculos radiales, aportando compatibilidad con grandes centros de torneado de múltiples carros.
En cambio, Siemens SINUMERIK prioriza un control algorítmico avanzado y la flexibilidad dinámica de comandos en el programa de pieza. Siemens permite al programador reasignar dinámicamente el eje transversal activo mediante el comando SCC[eje]. Por ejemplo, en una máquina de torneado-fresado con un eje Y auxiliar, el programador puede realizar la transición de los cálculos radiales de G96 del eje X al Y a mitad del programa sin reajustar los parámetros. Demostrando una flexibilidad aún mayor, Siemens permite a los programadores declarar límites de husillo independientes para hasta cuatro husillos distintos en un mismo bloque del programa de pieza (por ejemplo, LIMS=3000 LIMS[11]=2500 LIMS[12]=1200). Esto proporciona un control simultáneo sobre el husillo principal, los subhusillos y los husillos de herramientas motorizadas. La inclusión de comandos nativos como G961 y G973 permite a los programadores desacoplar las relaciones de avance estándar, lo que soporta operaciones avanzadas de rectificado y fresado.
Mitsubishi adopta un enfoque híbrido, combinando el mapeo dinámico de direcciones P que se encuentra en Fanuc con sistemas inteligentes de gestión de ejes. El parámetro #1087 (G96_G0) de Mitsubishi es una herramienta muy eficaz para reducir el desgaste: al restringir los cálculos de CSS al punto final de un bloque de posicionamiento rápido, el controlador evita que el motor del husillo oscile y realice ciclos violentamente durante los posicionamientos rápidos en el aire, ahorrando energía y reduciendo el desgaste del accionamiento del husillo. Además, la lógica de intercambio de ejes (G140/G141) de Mitsubishi proporciona una coordinación fluida en máquinas de sistemas múltiples: si ocurre un intercambio de ejes mientras G96 está activo, el controlador bloquea la velocidad del husillo en su último valor seguro, evitando comportamientos erráticos del husillo mientras el estado del sistema está en transición, y reanuda los cálculos dinámicos automáticamente una vez completado el intercambio.
Ejemplos de Programas
Los siguientes bloques demuestran la secuencia de programación adecuada para establecer de forma segura los límites máximos del husillo y activar la velocidad de corte constante en controladores Fanuc, Siemens y Mitsubishi. Cada ejemplo incluye un análisis de ejecución en seco (dry run) paso a paso que detalla de qué manera el control CNC interpreta las líneas de G-code durante la ejecución.
Ejemplo de Control de Husillo en Fanuc
G50 S2500;
G96 S150 M03;
G00 X100. Z2.0;
G01 X20. F0.2;
G97 S1200 M03;
G96 S200 P2;
Análisis de ejecución en seco:
- G50 S2500: El controlador lee la sujeción de velocidad máxima del husillo, estableciendo un límite de seguridad estricto de 2500 RPM. El husillo aún no gira.
- G96 S150 M03: El control activa la Velocidad de Corte Constante a 150 m/min e inicia la rotación del husillo hacia adelante (M03). La velocidad del husillo se calcula basándose en la posición radial actual de la herramienta.
- G00 X100. Z2.0: La herramienta se posiciona en rápido en el diámetro X100.0. El controlador calcula la velocidad del husillo para este diámetro: n = (150 × 1000) / (π × 100) ≈ 477 RPM. El husillo se ajusta a 477 RPM.
- G01 X20. F0.2: La herramienta avanza al diámetro X20.0 a 0.2 mm/rev. El controlador acelera dinámicamente el husillo: n = (150 × 1000) / (π × 20) ≈ 2387 RPM. La velocidad del husillo aumenta progresivamente de 477 RPM a 2387 RPM durante el corte de refrentado.
- G97 S1200 M03: Se cancela CSS y el husillo se bloquea a unas RPM constantes de 1200, ignorando cualquier movimiento posterior en los ejes radiales.
- G96 S200 P2: Se reactiva CSS a 200 m/min, y el controlador cambia la referencia de cálculo al 2do eje geométrico (definido por el parámetro 3770).
Ejemplo de Control de Husillo en Siemens
N10 LIMS=2500;
N20 G96 S120 M3;
N30 G0 X100 Z2;
N40 G1 X20 F0.2;
N50 G97 S1200 M3;
N60 SCC[X2];
N70 G96 M3 S20;
N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500;
Análisis de ejecución en seco:
- N10 LIMS=2500: Se establece el límite modal de velocidad máxima para el husillo maestro en 2500 rpm. El valor se almacena en el dato de configuración SD43230.
- N20 G96 S120 M3: Se activa la velocidad de corte constante a 120 m/min y el husillo maestro comienza a girar en sentido horario. G96 activa automáticamente el avance por revolución (G95).
- N30 G0 X100 Z2: La herramienta se desplaza a la posición X100. El control calcula la velocidad del husillo requerida: n = (120 × 1000) / (π × 100) ≈ 382 rpm. El husillo se ajusta a 382 rpm.
- N40 G1 X20 F0.2: La herramienta refrenta la pieza hasta el diámetro X20. El husillo acelera dinámicamente para mantener 120 m/min: n = (120 × 1000) / (π × 20) ≈ 1910 rpm. La velocidad está muy por debajo del límite LIMS de 2500 rpm.
- N50 G97 S1200 M3: Se desactiva la velocidad de corte constante. El husillo se bloquea a una velocidad constante de 1200 rpm y el avance por revolución permanece activo.
- N60 SCC[X2]: El eje de referencia para el cálculo de la velocidad de corte constante se reasigna dinámicamente al eje de canal X2.
- N70 G96 M3 S20: Se reactiva CSS a 20 m/min, y los cálculos de velocidad del husillo ahora siguen la posición del eje de canal X2.
- N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500: Se definen simultáneamente límites de velocidad del husillo para el husillo maestro (300 rpm) y tres husillos auxiliares (husillos 11, 12 y 13).
Ejemplo de Control de Husillo en Mitsubishi
G92 S4000 Q200;
G96 S200 P1;
M3;
G0 X100 Z2;
G1 X20 F0.2;
G96 P2;
G97 S1000;
Análisis de ejecución en seco:
- G92 S4000 Q200: Se establecen los límites de sujeción de velocidad del husillo: un límite máximo de 4000 RPM (S4000) y un límite mínimo de 200 RPM (Q200).
- G96 S200 P1: Se activa la velocidad de corte constante a 200 m/min, apuntando al 1er eje (P1) como referencia para los cálculos.
- M3: Comienza la rotación del husillo hacia adelante. El husillo empieza a girar a las RPM calculadas para la posición actual de la herramienta.
- G0 X100 Z2: La herramienta se posiciona en rápido en X100.0. El controlador calcula: n = (200 × 1000) / (π × 100) ≈ 636 RPM. El husillo se ajusta a 636 RPM.
- G1 X20 F0.2: La herramienta refrenta la pieza. El controlador acelera dinámicamente el husillo hacia X20: n = (200 × 1000) / (π × 20) ≈ 3183 RPM. El husillo acelera de forma progresiva durante el corte.
- G96 P2: El controlador cambia dinámicamente el eje de referencia para el cálculo de la velocidad de corte constante del 1er eje al 2do eje (eje Z / eje 2).
- G97 S1000: Se cancela la velocidad de corte constante y el husillo se bloquea a una velocidad de rotación constante de 1000 RPM.
Análisis de Errores
Los errores operativos y las alarmas son comunes al configurar o modificar programas que contienen G96 y G97. La siguiente tabla enumera las principales alarmas en los controles Fanuc, Siemens y Mitsubishi, proporcionando detalles sobre sus activadores, síntomas, causas raíz y las soluciones requeridas para resolverlos.
| Alarma / Código | Condición de Activación | Síntoma del Operador | Causa Raíz y Solución |
|---|---|---|---|
| Fanuc PS5557 | G96 se comanda sin un comando previo de límite de velocidad máxima del husillo (G92 o G50) desde el encendido. | La máquina se detiene inmediatamente antes de ejecutar el bloque G96 y el control muestra: "NO MAX SP SPEED CLAMP COMMAND". | Causa Raíz: El parámetro 3712 bit 4 (CSA) está establecido en 1 para bloquear la falta de límite. Solución: Inserte un bloque de sujeción de velocidad del husillo G50 (serie T) o G92 (serie M) antes del bloque G96. |
| Fanuc PS0200 | G96 control de velocidad de corte constante está activo durante un ciclo de roscado rígido. | El control se detiene y muestra: "ILLEGAL S CODE COMMAND". El ciclo de roscado falla. | Causa Raíz: El roscado requiere sincronización rígida. El parámetro 5209 bit 6 está establecido en 1. Solución: Inserte un comando de RPM constantes G97 en el bloque que precede al ciclo de roscado (G84/G88). |
| Siemens Alarma 10900 | G96 o G961 se selecciona por primera vez en un programa de pieza sin una velocidad de corte S en el bloque. | El programa se detiene en el bloque, mostrando: "No S value programmed for constant cutting speed". | Causa Raíz: El control no tiene almacenado ningún valor de velocidad de corte modal. Solución: Programe explícitamente un valor S (por ejemplo, G96 S150) en el bloque inicial para establecer la velocidad superficial. |
| Siemens Alarma 14820 | Se programa un valor negativo para la velocidad máxima del husillo a través de LIMS mientras G96/G961 está activo. | La ejecución de NC se detiene, mostrando: "Negative maximum spindle speed programmed for G96, G961". | Causa Raíz: Los valores negativos son matemáticamente inválidos para los límites de velocidad del husillo. Solución: Modifique la instrucción LIMS para usar un límite positivo (por ejemplo, LIMS = 2500) dentro del rango de 0.1 a 9999999.9. |
| Siemens Alarma 10870 | G96, G961 o G962 está activo, pero no se ha definido ningún eje transversal en los datos de máquina en segundo plano. | La máquina se detiene y la pantalla muestra: "No transverse axis defined". | Causa Raíz: El eje geométrico transversal no está definido en el dato de máquina MD20100. Solución: Defina el eje geométrico (típicamente X) como el eje de referencia transversal en MD20100. |
| Mitsubishi G96 Clamp Err. | Se emite un comando G96 sin un comando previo de sujeción de velocidad del husillo (G92/G50). | El ciclo automático se detiene inmediatamente y el controlador muestra: "G96 Clamp Err." | Causa Raíz: El parámetro #1146 (Sclamp) está establecido en 1 para bloquear la falta de límite. Solución: Presione RESET, verifique el programa y programe un bloque de sujeción de velocidad G92 o G50 antes del bloque G96. |
| Mitsubishi Program Error P134 | Control de Husillos Múltiples I: se emite G96 sin límite de velocidad y el parámetro #1448 está establecido en 0. | El ciclo se cancela, el bloque G96 se ignora y la pantalla muestra: "Program error P134". | Causa Raíz: La comprobación de límite del husillo falló bajo Control de Husillos Múltiples I. Solución: Reinicie la máquina y programe un bloque válido de sujeción de velocidad del husillo G92 o G50 antes de G96. |
| Mitsubishi Operation Error M01 1043 | Control de Husillos Múltiples II: el comando de límite de velocidad no es válido para el husillo seleccionado. | La máquina se detiene con una advertencia de error de operación: "Operation error M01 1043". | Causa Raíz: La comprobación de límite del husillo falló bajo Control de Husillos Múltiples II. Solución: Emita el comando de sujeción de velocidad del husillo G92 o G50 después de seleccionar el husillo. |
Nota de Aplicación
El riesgo crítico de una colisión mecánica severa en el plato o la torreta indexable aumenta exponencialmente cuando se combina el modo de avance síncrono (Modos de Avance G94 y G95) con el control de velocidad de corte constante (G96). En operaciones de refrentado, a medida que la herramienta se aproxima al centro de rotación del material, el control acelera agresivamente el husillo. Bajo el acoplamiento directo del avance por revolución, esta aceleración del husillo provoca que la velocidad lineal del eje de avance aumente de forma proporcional y violenta en tiempo real. Si no se han establecido límites seguros de velocidad del husillo mediante los comandos de sujeción adecuados, el servomotor no podrá detener el avance a tiempo, provocando que la herramienta se estrelle contra el husillo o las mordazas de sujeción (vise jaw), lo que se traduce en costosas piezas rechazadas (scrap) y un prolongado tiempo de inactividad de la planta.
Para mitigar de forma proactiva estos fallos operativos y evitar pérdidas por scrap en el taller mecanizado, los programadores deben configurar e implementar de manera estricta los parámetros de seguridad nativos de cada controlador:
- En sistemas Fanuc: Es fundamental configurar el parámetro
3712 bit 4 (CSA)en 1. Esta configuración supervisa de manera activa las instrucciones de velocidad constante, forzando al control a generar la alarmaPS5557(NO MAX SP SPEED CLAMP COMMAND) y detener la producción en seco si se detecta un cambio a G96 sin haber programado previamente un límite de velocidad G50 o G92, evitando así que el husillo herede velocidades desastrosas. Además, el parámetro3708 bit 5 (SOC)debe establecerse en 1 para garantizar que el límite de velocidad máxima se aplique después del cálculo de la anulación del husillo (override dial), impidiendo que un operador fuerce al husillo a superar el límite seguro de la mordaza o plato al subir la perilla al 120%. - En controles Siemens: Se debe programar obligatoriamente la instrucción modal
LIMSen cada programa, cuyo valor se almacena y procesa directamente en el dato de configuraciónSD43230 $SA_SPIND_MAX_VELO_LIMS. El programador debe verificar minuciosamente que el origen del eje transversal esté alineado con el eje del husillo principal en el dato de máquinaMD20100 $MC_DIAMETER_AX_DEF; cualquier desplazamiento de origen erróneo o el uso indebido de desfases virtuales corromperá el cálculo del radio, dando lugar a velocidades de corte inapropiadas que arruinarán el acabado superficial acumulando desviaciones dimensionales ciclo a ciclo. - En controles Mitsubishi: Se debe poner especial cuidado en el parámetro
#1146 (Sclamp)y asegurarse de que el parámetro#1284 (ext20/bit0)esté establecido en 0 (comprobación de mordaza activa). Si el bit de desactivación se encuentra imprudentemente en 1, el control omitirá la alerta de errorG96 Clamp Err.y el husillo acelerará violentamente sin control mecánico hasta su límite absoluto en el centro X0, provocando la expulsión centrífuga de la pieza de trabajo y un choque destructivo de la torreta. Además, activar el parámetro#1087 (G96_G0)en 1 optimiza los tiempos de ciclo y reduce la fatiga mecánica al suspender el recálculo dinámico de CSS durante los movimientos en vacío a avance rápido (G00), evaluando la velocidad del husillo únicamente en el punto final del bloque.
Red de Comandos Relacionados
Las funciones de velocidad de corte constante no operan de forma aislada. Están estrechamente vinculadas a las configuraciones del sistema de coordenadas, los modos de avance y los ciclos de roscado. Comprender los siguientes comandos relacionados es esencial para una integración adecuada:
- G50 / G92 (Fanuc/Mitsubishi): Utilizado para establecer el límite de velocidad máxima del husillo (por ejemplo, G50 S2500), lo que evita una aceleración peligrosa del husillo cerca del centro de rotación.
- LIMS (Siemens): Establece el límite superior de velocidad del husillo (por ejemplo, LIMS=2500) para la función de velocidad de corte constante dentro del programa de pieza.
- SCC (Siemens): Asigna dinámicamente un eje geométrico como eje de referencia para el cálculo transversal de la velocidad de corte constante.
- G94 / G95 (y G98 / G99): Modos de avance donde G94/G98 establece el avance lineal (mm/min o in/min) y G95/G99 establece el avance por revolución (mm/rev o in/rev). Bajo G96, el recorrido del avance G95/G99 se acelera dinámicamente a medida que el husillo se acelera.
- G32 / G33 / G76: Ciclos de roscado y roscado macho. El controlador suspende automáticamente los cálculos de CSS y bloquea el husillo a unas RPM constantes durante estas operaciones para evitar la distorsión del paso y errores de avance.
Conclusión
La eliminación de paradas no planificadas y la optimización del tiempo de ciclo en procesos de torneado síncrono dependen directamente de la estandarización estricta de las cabeceras de los programas y de la verificación rigurosa de los límites físicos de la máquina. Activar de forma permanente el parámetro 3712 bit 4 en Fanuc, programar los límites mediante LIMS en Siemens y verificar la activación de #1146 en Mitsubishi constituyen la primera y más efectiva línea de defensa contra daños catastróficos en el husillo. Antes de presionar el botón de inicio de ciclo (cycle start), es imperativo que los operadores realicen una inspección visual de las mordazas del plato, aseguren que el husillo principal cuente con una sujeción matemática válida mediante G50/G92 y realicen una simulación o prueba previa. Adoptar estos protocolos de seguridad en la planta de mecanizado reduce a cero el scrap por desalineación geométrica, protege la integridad de los operarios y garantiza una productividad constante.
Preguntas Frecuentes (FAQ)
¿Por qué el husillo se acelera al máximo al acercarse al centro de la pieza con G96 y cómo evitarlo?
El control CNC acelera el husillo en modo G96 al reducirse el diámetro para intentar mantener constante la velocidad superficial lineal programada. Sin una limitación segura, la velocidad tiende a infinito en X0, lo que genera fuerzas centrífugas que pueden expulsar la pieza y destrozar las garras del mandril. Acción práctica: Programe siempre un código de sujeción de velocidad máxima del husillo usando G50, G92 o LIMS antes de activar la función G96 en el programa.
¿Qué ocurre si cambio de G96 a G97 sin especificar un nuevo valor de velocidad S en el programa?
Al cambiar a G97 para cancelar la velocidad constante y pasar a RPM fijas, la mayoría de los controles congelan la rotación en el último valor calculado por G96. Esto puede dejar el husillo girando a velocidades peligrosamente altas para operaciones de roscado o taladrado central, provocando desgaste excesivo o rotura de herramientas. Acción práctica: Declare siempre un valor S explícito en el mismo bloque o inmediatamente después de programar G97 (por ejemplo, G97 S1200 M03) para fijar una velocidad segura.
¿Cómo influyen los traslados de origen o decalajes en los cálculos de velocidad constante G96?
Dado que G96 calcula las RPM basándose en la distancia entre la herramienta y el centro de giro físico del husillo, cualquier decalaje o desplazamiento del origen de coordenadas (como ATRANS en Siemens o traslados de origen en Fanuc/Mitsubishi) que desplace el cero del eje transversal fuera del eje de simetría de la pieza provocará errores matemáticos graves en la velocidad calculada. Acción práctica: Asegúrese de que el cero del eje de refrentado (típicamente X0) coincida exactamente con el centro físico de rotación del husillo principal antes de iniciar el mecanizado.
¿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.