Compensación de Radio de Herramienta CNC (G40, G41, G42)
Domine el G40, G41 y G42 para compensar el radio de cutter y herramienta en Fanuc, Siemens y Mitsubishi. Evite piezas rechazadas y colisiones.
Introducción
Un punto de inicio mal posicionado dentro del círculo de compensación o un vector de aproximación tangente incorrecto puede provocar que la herramienta se desvíe de forma imprevista, impactando violentamente contra una mordaza de prensa (vise jaw), una brida de sujeción (clamp) o el plato de garras (compensating chuck). En el mecanizado de alta producción, iniciar la compensación (G41/G42) o cancelarla (G40) en un bloque de arco circular en lugar de un movimiento lineal, o encadenar bloques consecutivos sin movimiento coordenado, congela la capacidad de cálculo predictivo (look-ahead) del control CNC. El resultado inmediato es una parada de producción imprevista debido a alarmas críticas de interferencia, como el código de alarma PS0041 en Fanuc o la alarma P153 en Mitsubishi, o bien una colisión mecánica devastadora en la torreta doble (double turret). Evitar tiempos de inactividad no planificados (downtime) y piezas rechazadas (scrap parts) exige dominar la configuración de parámetros del sistema y estructurar correctamente las trayectorias de entrada y salida lineal en Fanuc, Siemens y Mitsubishi.
Resumen Técnico
| Especificación | Detalles |
|---|---|
| Comandos G-Code | G40 (Cancelación de compensación), G41 (Compensación de radio de cutter/punta a la izquierda), G42 (Compensación de radio de cutter/punta a la derecha) |
| Grupo de modalidad (modal) | Grupo 07 (Modal) |
| Marcas compatibles | Fanuc, Siemens, Mitsubishi |
| Parámetros críticos | Fanuc: 5003 (tipo de startup/cancel SUP/SUV), 19607#5 (prevención de interference check CAV); Siemens: OFFN (contour allowance), $TC_DP6 (radio de herramienta); Mitsubishi: #8157 (Nose R comp Type B), #1289 ext25 bit 0 (minute corner rounding) |
| Restricción cinemática principal | La selección (G41/G42) y cancelación (G40) de la compensación deben programarse estrictamente en bloques de interpolation lineal (G00 o G01). Los planos de mecanizado activos (G17/G18/G19) no deben cambiarse mientras la compensación esté activa. |
Lectura Rápida
- Escriba los comandos de startup de compensación (G41/G42) y de cancelación (G40) exclusivamente en bloques de movimiento de interpolation lineal (G00 o G01) para construir un vector de compensación válido y evitar alarmas.
- Programe una distancia de trayectoria de movimiento lineal en el bloque de activación que sea estrictamente mayor que el radio físico de la punta de la herramienta o del cutter para evitar errores de vector.
- Nunca cambie el plano de mecanizado activo (G17, G18 o G19) mientras la compensación del cutter esté activa; ejecute siempre una cancelación G40 antes de cambiar de plano.
- Monitoree el búfer de look-ahead evitando la inserción de bloques de movimiento no coordenado consecutivos (como dwells o M-codes) que interrumpen los cálculos de intersección.
- Programe un contour allowance directo utilizando el parámetro inline
OFFN=en Siemens para generar rápidamente pasadas de offset de desbaste o acabado. - Utilice el comando exclusivo G46 de Mitsubishi en sistemas de torno para detectar y asignar automáticamente la dirección de compensación de punta correcta sin conmutación manual de G41/G42.
- Habilite el parámetro 19607 bit 5 (CAV) de Fanuc para recalcular dinámicamente las trayectorias de la herramienta sobre la marcha cuando se detecte un sobrecorte, manteniendo el cycle en ejecución en lugar de detenerse con la alarma PS0041.
Conceptos Básicos
El efecto práctico de programación de los comandos G41 y G42 es desplazar dinámicamente la trayectoria del centro físico de la herramienta fuera del perfil matemático programado por exactamente el radio del cutter o de la punta de la herramienta. Esto permite a los programadores escribir G-code directamente a partir de las dimensiones del plano de la pieza sin calcular manualmente los offsets de la línea central para cada ángulo y contorno.
Los bloques de transición (startup con G41/G42 y cancelación con G40) deben ser comandos de movimiento lineal (G01 (Linear Interpolation)) con una distancia de trayectoria que supere el radio de la herramienta o la cantidad de offset para construir o deseleccionar correctamente el vector de compensación. Intentar el startup/cancel en trayectorias circulares (G02/G03) o cambiar los planos de trabajo (G17, G18, G19 (Plane Selection)) mientras la compensación está activa genera alarmas en todas las marcas.
Los sistemas CNC dependen de la prelectura de los bloques subsiguientes para calcular los vectores de intersección entre las trayectorias de la herramienta. Los operadores deben mantener un búfer de look-ahead sin ejecutar demasiados bloques consecutivos sin movimiento coordenado (como múltiples dwells, funciones auxiliares o M-codes), ya que hacerlo rompe los cálculos matemáticos de intersección, lo que activa alarmas o causa sobrecortes no deseados en la pieza de trabajo.
Estructura de Comandos
Las activaciones son modal y gobiernan el lado de la trayectoria con respecto a la dirección del movimiento de la herramienta. Cuando G41 está activo, el offset de la herramienta se calcula a la izquierda del contorno programado. Cuando G42 está activo, el offset desplaza la trayectoria de la herramienta a la derecha del contorno. Deseleccionar la compensación mediante G40 es obligatorio para restaurar la máquina a un estado de movimiento coordenado directo no compensado.
Dependiendo de si la máquina CNC es un centro de mecanizado (M-series) o un centro de torneado (T-series), las direcciones de compensación y los planos se manejan de manera diferente. Los centros de mecanizado requieren la selección del plano (G17, G18 o G19) y asocian valores radiales a través de un número de offset con dirección D o H. Los centros de torneado aplican de forma nativa la compensación de radio de punta en el plano ZX (típicamente G18) y obtienen los valores directamente de los registros de offset de T-code.
Estructuras de sintaxis en entornos de marcas:
- Fanuc Milling:
G17 G41 X_ Y_ D_;(o offset H) - Fanuc Turning:
G18 G42 X_ Z_; - Siemens:
G1 G41 X_ Y_ OFFN=_; - Mitsubishi Milling:
G17 G41 X_ Y_ D_; - Mitsubishi Turning:
G18 G42 X_ Z_; - Mitsubishi Automatic:
G46 X_ Z_; - Mitsubishi Vector:
G41 X_ Y_ I_ J_; - Cancelación universal:
G40 X_ Y_;oG40 X_ Z_;
| Marca | Dirección / Parámetro | Descripción | Opciones válidas / Rangos |
|---|---|---|---|
| Universal | X, Y, Z | Coordenadas para el posicionamiento en los planos activos. | Coordenadas numéricas |
| Universal | D / H | Número de selección del registro de offset. | ID de offset entero (e.g., D01, H01) |
| Siemens | OFFN | Contour allowance directo (offset) aplicado a la trayectoria equidistante. | Valor de offset numérico (e.g. OFFN=2.5) |
| Mitsubishi | I, J, K | Coordenadas personalizadas para desplazar manualmente el vector de startup/cancel. | Componentes numéricos del vector direccional |
Aplicaciones de Marca
Fanuc
Los controles Fanuc gobiernan la compensación de radio de punta de herramienta y de cutter a través de registros de configuración del sistema granulares. Los parámetros 5003 y 5008 representan la base de cómo se generan y evalúan estos vectores de compensación durante el movimiento. Específicamente, el parámetro 5003 determina las formas del startup del vector, mientras que el parámetro 5008 controla las reacciones durante los interference checks de dirección.
Los comandos G-code utilizados son `G40` para cancelar la compensación, `G41` para aplicar el offset a la izquierda de la trayectoria y `G42` para aplicar el offset a la derecha de la trayectoria. En los centros de mecanizado, primero se debe establecer el plano activo (normalmente `G17` para el plano XY) y el offset radial se designa mediante un código `D`, como se demuestra en `G17 G41 X50.0 Y50.0 D01 F200.0;`.
- Parámetro 5003 bits 0 (SUP) y 1 (SUV): Determina el comportamiento matemático de los vectores de startup y cancelación. Las combinaciones seleccionan entre Type A (vector perpendicular al siguiente/anterior bloque), Type B (salida de vector de intersección) o Type C (desplazamiento perpendicular al bloque incluso si no se ordena movimiento).
- Parámetro 5008 bit 1 (CNC): Determina cómo reacciona el CNC durante un interference check si la dirección de movimiento después de la compensación difiere de la dirección programada entre 90 y 270 grados. Un valor de 0 emite una alarma, mientras que un valor de 1 suprime la alarma.
- Parámetro 19607 bit 5 (CAV): Controls de prevención de interference check. Un valor de 0 hace que la máquina se detenga con una alarma (PS0041) cuando se detecta un sobrecorte, mientras que un valor de 1 permite que la máquina cambie de manera inteligente la trayectoria de la herramienta para evitar que ocurra la interferencia.
- Alarma PS0034 (NO CIRC ALLOWED IN ST-UP/EXT BLK): Se activa si un programador intenta ejecutar un comando de startup (G41/G42) o de cancelación (G40) mientras el modo de interpolation circular (G02/G03) está activo.
- Alarma PS0037 (CAN NOT CHANGE PLANE IN G41/G42): Se activa si el plano de compensación activo (G17, G18 o G19) se cambia mientras la compensación del cutter o del radio de punta de la herramienta está activa.
- Alarma PS0041 (INTERFERENCE IN CRC / CUTTER COMPENSATION): Se activa cuando el controlador calcula que ocurrirá un corte excesivo (sobrecorte), como cuando se especifican consecutivamente dos o más bloques sin movimiento físico de los ejes mientras la compensación está activa.
- Diferencias de versiones: Existe una diferencia fundamental entre las arquitecturas M-series (centros de mecanizado) y T-series (torno). Las de M-series dependen en gran medida de las direcciones `D` o `H` para llamar al valor de offset radial específico y deben gestionar activamente los planos G17/G18/G19. Los sistemas de T-series nativos del plano ZX utilizan códigos `T` para llamar tanto a los offsets de geometría/desgaste de la herramienta como a la posición imaginaria de la punta de la herramienta (número T de 1 a 9), integrando de forma nativa la compensación sin necesidad de códigos D independientes.
Advertencia: Los operadores deben asegurarse de que los bloques consecutivos sin movimiento no vacíen el búfer de look-ahead mientras G41 o G42 esté activo, ya que esto interrumpe los cálculos de intersección del controlador y detiene la producción con una alarma PS0041.
Siemens
Los controles Siemens implementan la compensación de radio de herramienta (TRC) con un manejo avanzado de la trayectoria cinemática y modificaciones de la geometría inline. Las variables de sistema primarias utilizadas para establecer la geometría física de la herramienta son `$TC_DP1` y `$TC_DP6`.
La compensación activa de la herramienta se activa mediante `G41` (mecanizado a la izquierda del contorno) o `G42` (mecanizado a la derecha), y se cancela con `G40`. Los programadores pueden aplicar un contour allowance inline directamente en el bloque de activación utilizando la dirección `OFFN=`, como `G1 G41 Y50 F200 OFFN=1.5;`.
- Parámetro OFFN: Un parámetro opcional que aplica un offset de contorno normal (allowance) al contorno programado, útil para generar trayectorias equidistantes para el desbaste intermedio.
- Variables de sistema $TC_DP1 a $TC_DP6: Variables de sistema que definen los datos de la herramienta, donde `$TC_DP1` especifica el tipo de herramienta (e.g., 120 para el tipo de herramienta de fresado) y `$TC_DP6` especifica el radio de la herramienta.
- Datos de ajuste SD42900, SD42920, SD42940, SD42950: Datos de ajuste para reflejar las longitudes de la herramienta y del desgaste, y mantener una longitud constante a través de los cambios de plano.
- Alarma 10751 "danger of collision due to tool radius compensation": Se activa si el control no puede calcular una intersección entre las curvas de offset de bloques adyacentes (por ejemplo, cuando se utiliza la estrategia de extensión `G461` y no se puede resolver una trayectoria válida).
- Alarma 10757 "changing the compensation plane while tool radius compensation is active not possible": Se activa si un programa intenta cambiar el plano de trabajo activo (`G17`, `G18` o `G19`) antes de deseleccionar la TRC con `G40`.
- Alarma 10753 / 10754 "selection / deselection of the tool radius compensation only possible in linear block": Se activa si se programan `G41`, `G42` o `G40` en un bloque que no utiliza el movimiento rápido `G00` o la interpolation lineal de feedrate `G01`.
- Diferencias de versiones: Cuando un control Siemens opera en el modo ISO dialect T, se puede programar dinámicamente un vector que influya en la respuesta del final del bloque en el bloque lineal utilizando las direcciones `I`, `J` y `K`. Esta funcionalidad extendida de vector no está disponible en el modo original de ISO dialect. Además, las funciones de compensación de radio de fresado no son compatibles en absoluto entre el modo original de ISO dialect y el modo nativo Siemens 840D sl, lo que requiere una traducción cuidadosa del programa.
Advertencia: Los programadores siempre deben seleccionar el punto final del bloque G40 de manera que se garantice una trayectoria de retracción libre de colisiones, y evitar programar un offset de herramienta de D0 mientras la compensación esté activa, ya que esto activa el mensaje de error 10750 en lugar de realizar una deselección segura.
Mitsubishi
Los controladores Mitsubishi ofrecen controles de trayectoria altamente adaptables, con trayectorias de startup gestionadas a través del parámetro de máquina `#8157` y pequeños redondeos de esquinas de 1 grado o menores definidos por el parámetro `#1289`.
La compensación se activa mediante `G41` o `G42` y se desactiva con `G40`. En los sistemas de torno, el comando `G46` permite de forma nativa la identificación automática de la dirección basada en el punto de punta de herramienta hipotético, como en `G46 X50. Z100. ;`.
- Parámetro #8157 (Nose R comp type B): Selecciona la trayectoria del vector de startup y cancelación. Un ajuste de 0 (Type A) convierte la trayectoria en un vector de offset vertical al vector de comando sin procesamiento de intersección. Un ajuste de 1 (Type B) realiza el procesamiento de operaciones de intersección entre el bloque de comando y el bloque siguiente.
- Parámetro #1289 ext25/bit0: Determina el criterio de decisión para ejecutar el redondeo exterior en esquinas pequeñas. 0 aplica el método convencional, mientras que 1 aplica un método específico para redondear ángulos de esquina diminutos de 1° o menores.
- Parámetro #8071 3-D CMP: Define el valor de la constante del denominador para la compensación tridimensional del radio de la herramienta en sistemas M. Utilizado en cálculos de coordenadas: Vx = (i × r) / p, Vy = (j × r) / p, Vz = (k × r) / p.
- Alarma P151 (Arc error): Se activa si el modo de compensación se cancela mediante un comando circular en lugar de uno lineal, o si se ordena un vector de tipo `I, J, K` mientras la máquina está activamente en modo de arco al inicio de la compensación.
- Alarma P153 (Interference check): Ocurre si la dirección de avance del programa y la dirección de avance después de la compensación se invierten, como al cortar una ranura que es más estrecha que el diámetro del radio de punta de la herramienta.
- Alarma P112 (Illegal plane select): Se activa si se emite un comando de selección de plano (G17, G18, G19) o un cambio de nombre de eje (G111) mientras la compensación de radio de herramienta está ordenando activamente una trayectoria.
- Alarma P608 (Skip command error): Se activa si se ordena una función de skip G31 mientras la compensación de radio de punta o de radio de herramienta está activa.
- Diferencias de versiones: En los sistemas de torno (L) que ejecutan cycles de corte de desbaste (G70, G71, G72, G73), el corte se realiza con el modo de compensación de radio de punta cancelado temporalmente de forma automática (debido a que la forma final ya incluye la cantidad de compensación) y vuelve automáticamente al modo de compensación una vez finalizados. Además, la compensación avanzada tridimensional del radio de la herramienta (G41.2/G42.2) y la capacidad de aplicar la compensación del radio de punta específicamente a operaciones de torneado en una fresadora son compatibles de forma nativa en los sistemas Machining Center (M).
Advertencia: Los programadores nunca deben ejecutar cuatro o más bloques sucesivos sin movimiento coordenado mientras G41 o G42 esté activo, ya que esto obliga al control Mitsubishi a suspender la prelectura y provocará que el cutter se desvíe de la trayectoria.
Comparación de Marcas
| Tema | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Contour Allowance Inline | — (no source) | Soportado directamente con `OFFN=...` en el bloque de activación. | — (no source) |
| Modos de vector de startup / cancelación | Bits granulares en el parámetro 5003 seleccionan los vectores de Type A, B o C. | Controlado por los controles de movimiento `NORM`, `KONT`, `KONTC` y `KONTT`. | El parámetro #8157 selecciona vectores de Type A (perpendicular) o Type B (intersección). |
| Prevención de resolución de intersección | El parámetro CAV (19607#5) cambia dinámicamente la trayectoria de la herramienta sobre la marcha para evitar alarmas. | `G461` inserta círculos auxiliares y `G462` extiende tangentes para resolver la intersección. | Cuatro o más bloques consecutivos sin movimiento suspenden la prelectura y causan sobrecortes. |
| Modo de dirección automático en torneado | — (no source) | — (no source) | Soportado a través de la dirección automática `G46` en sistemas de torno. |
| Modificación manual del vector | G38 designa retención de vector; G39 inserta un arco de esquina. | — (no source) | Los programadores pueden añadir vectores `I`, `J`, `K` en bloques `G40`/`G41`/`G42` para anular la trayectoria. |
| Compatibilidad con comandos skip | La función de skip G31 no está permitida mientras la compensación está activa (provoca alarma). | — (no source) | El comando G31 durante la compensación activa activa la alarma `P608`. |
Análisis Técnico
El manejo de la compensación de corte en Fanuc está fuertemente definido por su profunda y granular capacidad de personalización de parámetros. En primer lugar, Fanuc ofrece de forma exclusiva la función Interference Check Avoidance a través del parámetro 19607 bit 5 (CAV). En lugar de detener ciegamente la máquina cuando se detecta matemáticamente un sobrecorte, esta característica recalcula y altera de manera inteligente la trayectoria de la herramienta sobre la marcha para evitar físicamente el impacto mientras mantiene el cycle en ejecución. En segundo lugar, Fanuc ofrece a los programadores un control estricto sobre cómo se dibujan físicamente los vectores de startup y cancelación contra la pieza de trabajo. Al modificar el parámetro 5003 (bits SUP y SUV), el CNC se puede alternar entre comportamientos de startup de Type A, Type B y Type C, lo que permite que la herramienta barra un punto de intersección o se introduzca perpendicularmente al siguiente bloque, adaptándose perfectamente a las restricciones de fixture altamente específicas. Finalmente, Fanuc proporciona control de parámetros explícito sobre la lógica de interference check en sí (parámetro 5008 CNV/CNC), lo que permite a los operadores desactivar de forma independiente los controles de ángulo o dirección si los perfiles complejos de micromecanizado activan alarmas erróneas.
Los controles Siemens se distinguen por ofrecer potentes herramientas de modificación de geometría de alto nivel y estrategias avanzadas de aproximación y retracción. El contour allowance inline único `OFFN` permite a los programadores configurar rápidamente offsets de desbaste sin cambiar las coordenadas del código ni ejecutar complejas estructuras de macros. Además, Siemens ofrece estrategias de retracción extendidas a través de los comandos `G461` y `G462`. Si el control no puede encontrar una intersección matemática válida entre las curvas de offset de dos bloques adyacentes, estos comandos obligan al control a insertar dinámicamente un círculo auxiliar o a extender la trayectoria mediante una tangente recta, cerrando de forma segura el bucle de contorno en lugar de detener inmediatamente la producción. Siemens también proporciona `CUTCONON` y `CUTCONOF` para congelar temporalmente la compensación sin una deselección completa.
Mitsubishi destaca por sus controles de trayectoria diseñados específicamente para optimizar las operaciones de torno y los ajustes manuales de vectores. Un comportamiento muy distintivo es la integración nativa del comando `G46` en los sistemas de torno. En lugar de obligar al programador a alternar constantemente entre G41 y G42 durante perfiles complejos, G46 decide automáticamente la dirección correcta de compensación del radio de punta mediante el análisis de los vectores de movimiento programados y el punto de punta de herramienta hipotético preestablecido. Además, Mitsubishi es único al permitir a los programadores añadir direcciones `I`, `J` y `K` directamente dentro de un bloque G41, G42 o G40 para anular manualmente el ángulo del vector de inicio o de cancelación, evitando la necesidad de movimientos de alineación lineales ficticios.
Ejemplos de Programas
Para ilustrar las diferencias prácticas entre estos tres sistemas de control, los siguientes ejemplos demuestran cómo se programan los comandos G40, G41 y G42 en producción.
Ejemplo de programa de fresado en Fanuc
O1001 (FANUC MILLING COMP EXAMPLE) ;
N10 G90 G21 G40 G80 (Safety block: absolute, mm, cancel comp, cancel cycles) ;
N20 T01 M06 (Tool change: load 10mm flat end mill) ;
N30 S1200 M03 (Start spindle clockwise at 1200 rpm) ;
N40 G00 X0.0 Y-20.0 Z10.0 (Rapid positioning outside the part) ;
N50 G01 Z-5.0 F150.0 (Feed down to cutting depth) ;
N60 G41 X20.0 Y0.0 D01 F250.0 (Activate cutter compensation left with offset register D01) ;
N70 Y50.0 (Feed along left edge of workpiece) ;
N80 X80.0 (Feed along top edge) ;
N90 Y0.0 (Feed along right edge) ;
N100 X0.0 (Feed along bottom edge) ;
N110 G40 X-20.0 Y-20.0 (Deselect cutter compensation in a linear block) ;
N120 G00 Z100.0 M05 (Rapid retract and stop spindle) ;
N130 M30 ;
Análisis de ejecución en seco (dry run):
- El control procesa el bloque de seguridad, estableciendo coordenadas absolutas en milímetros y asegurando que la compensación del cutter esté cancelada (`G40`).
- El bloque de cambio de herramienta (`T01 M06`) carga la herramienta y el spindle se activa a 1200 rpm.
- Los ejes se mueven en rápido al punto de inicio seguro `X0.0 Y-20.0 Z10.0` fuera de los límites del material.
- La herramienta desciende en Z hasta `-5.0` a una velocidad de feedrate de 150 mm/min.
- En el bloque `G41 X20.0 Y0.0 D01 F250.0`, el control activa la compensación del cutter a la izquierda (`G41`). La herramienta se mueve linealmente desde `X0.0 Y-20.0` a `X20.0 Y0.0`. Durante este movimiento lineal, el control construye un vector de compensación perpendicular al contorno utilizando el valor de offset radial almacenado en el registro `D01` (e.g. 5.0 mm).
- A medida que la herramienta avanza por los bloques del contorno (`Y50.0`, `X80.0`, `Y0.0`, `X0.0`), la trayectoria del centro físico se desplaza exactamente 5.0 mm a la izquierda del perfil de coordenadas programado.
- Al llegar al final del perfil, se procesa el bloque `G40 X-20.0 Y-20.0`. El control ejecuta un movimiento lineal hacia las coordenadas de retracción mientras desarma de forma segura el vector de offset del centro de la herramienta, devolviendo el centro a las posiciones exactas no compensadas en `X-20.0 Y-20.0`.
Ejemplo de programa de torno en Siemens
; SIEMENS TURN COMP EXAMPLE
N10 G90 G95 G40 G18 (Absolute coordinates, feed per rev, cancel comp, ZX plane)
N20 T01 D01 (Load turning tool and activate offset register D01)
N30 G97 S1500 M3 (Constant spindle speed 1500 rpm, spindle CW)
N40 G0 X100.0 Z10.0 (Rapid traverse to start point outside diameter)
N50 G1 Z2.0 F0.2 (Feed to start of cut)
N60 G42 X40.0 Z0.0 (Activate tool nose radius compensation right)
N70 G1 X50.0 Z-5.0 (Taper cut with active compensation)
N80 G1 Z-30.0 (Turn outer diameter)
N90 G1 X90.0 (Face out)
N100 G40 G0 X120.0 Z20.0 (Deselect tool nose compensation in rapid traverse)
N110 M30
Análisis de ejecución en seco:
- La máquina está configurada en posicionamiento absoluto, feedrate por revolución y se establece el plano ZX (`G18`) para el torneado. La compensación se cancela con `G40`.
- Se cargan la herramienta de torneado activa y sus datos asociados de geometría/desgaste en el registro `D01` a través de `T01 D01`.
- El spindle se activa a 1500 rpm. Los ejes se desplazan en rápido a `X100.0 Z10.0` para establecer una posición de entrada segura.
- El eje avanza a `Z2.0` a 0.2 mm/rev.
- El bloque `N60 G42 X40.0 Z0.0` activa la compensación de radio de punta derecha (`G42`). Durante este bloque lineal, el control lee el valor del radio de punta de la variable `$TC_DP6` y calcula el vector de compensación inicial para alinear el punto de contacto de la punta de la herramienta con el inicio programado de la conicidad.
- La herramienta realiza un corte cónico desde `X40.0 Z0.0` hasta `X50.0 Z-5.0`, manteniendo automáticamente la punta de la herramienta tangente a la pendiente.
- El diámetro exterior se tornea a `Z-30.0` y se refrenta hasta `X90.0` con la trayectoria de la herramienta desplazada dinámicamente por el radio de punta para evitar sobrecortes o subcortes.
- El bloque `N100 G40 G0 X120.0 Z20.0` cancela la compensación (`G40`) en un bloque rápido lineal. El control retrae la punta de la herramienta a `X120.0 Z20.0` al tiempo que deshace con seguridad el vector de offset.
Ejemplo de fresado en Mitsubishi con vector personalizado
%
O2001 (MITSUBISHI COMP VECTOR EXAMPLE) ;
N10 G90 G21 G40 G17 (Absolute, mm, cancel compensation, XY plane) ;
N20 T02 M06 (Load 12mm flat end mill) ;
N30 S1000 M03 (Start spindle CW at 1000 rpm) ;
N40 G00 X0.0 Y-30.0 Z15.0 (Rapid traverse to starting coordinates) ;
N50 G01 Z-10.0 F180.0 (Feed Z axis to cutting depth) ;
N60 G41 X30.0 Y0.0 I15.0 J10.0 D02 F200.0 (Activate compensation left with custom I and J vector coordinates) ;
N70 Y60.0 (Feed along compensated path) ;
N80 X100.0 (Feed along top contour) ;
N90 G40 X0.0 Y-30.0 I10.0 J-10.0 (Deselect compensation with manual cancel vector) ;
N100 G00 Z50.0 M05 (Retract Z and stop spindle) ;
N110 M30 ;
%
Análisis de ejecución en seco:
- El bloque 1 cancela cualquier compensación de radio de herramienta activa y establece la programación estándar en el plano XY en modo absoluto.
- Se ejecuta el cambio de herramienta, cargando la herramienta 2. El spindle se activa a 1000 rpm.
- Los ejes se posicionan en rápido en las coordenadas `X0.0 Y-30.0 Z15.0` para garantizar un posicionamiento seguro de los ejes.
- El eje Z avanza hasta la profundidad `-10.0` a 180 mm/min.
- El bloque `G41 X30.0 Y0.0 I15.0 J10.0 D02 F200.0` activa la compensación del radio de corte a la izquierda (`G41`). En lugar de utilizar un vector de aproximación perpendicular estándar, Mitsubishi interpreta las direcciones `I15.0` y `J10.0` para forzar un ángulo de vector de inicio personalizado, asegurando que el cutter se aproxime a la cara de la pieza a lo largo de una trayectoria en ángulo para evitar una brida de sujeción adyacente.
- El cutter avanza a lo largo del contorno `Y60.0` y `X100.0`, manteniendo su distancia de offset central utilizando el valor radial del registro `D02`.
- Al final del perfil, se ejecuta `G40 X0.0 Y-30.0 I10.0 J-10.0`. El control utiliza las coordenadas `I` y `J` para dirigir un ángulo de salida de retracción específico, sorteando con seguridad la esquina de la pieza, y linealiza los ejes de vuelta a las coordenadas no compensadas en `X0.0 Y-30.0` mientras cancela el vector activo.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | PS0034 | Intentar activar (G41/G42) o cancelar (G40) la compensación dentro de un bloque de interpolation circular (G02/G03). | El CNC detiene instantáneamente el movimiento de los ejes y muestra un error rojo parpadeante "NO CIRC ALLOWED IN ST-UP/EXT BLK". | El control no puede construir un vector de startup en un límite curvo. Solución: Mueva G41, G42 o G40 a un bloque de movimiento lineal (G00 o G01) antes o después del arco. |
| Fanuc | PS0041 | Calcular un sobrecorte matemático, a menudo causado por programar dos o más bloques consecutivos sin movimiento físico del eje. | El spindle sigue funcionando, pero los ejes se congelan y la pantalla muestra "INTERFERENCE IN CRC / CUTTER COMPENSATION". | El búfer de look-ahead está vacío de actualizaciones de coordenadas (e.g., dwells o M-codes consecutivos), interrumpiendo los cálculos de trayectoria. Solución: Consolide los M-codes, elimine los dwells consecutivos o habilite el parámetro CAV (19607#5) para la prevención dinámica de trayectorias. |
| Siemens | Alarm 10751 | El sistema de monitoreo de colisiones del controlador no puede encontrar una intersección matemática válida entre las curvas de offset de bloques adyacentes. | La ejecución automática se aborta de inmediato, mostrando de forma intermitente "Danger of collision due to tool radius compensation". | La geometría del contorno es demasiado estrecha para el radio del cutter activo o las estrategias G461 no logran resolver una trayectoria. Solución: Verifique los datos de la herramienta, reduzca el radio del cutter activo o implemente las estrategias de inserción de trayectoria extendida G461/G462. |
| Siemens | Alarm 10757 | Intentar cambiar el plano de trabajo activo (G17, G18 o G19) mientras la compensación del radio de la herramienta está activa. | El programa se detiene a mitad del bloque, mostrando "Changing the compensation plane while TRC is active not possible". | Los cambios de plano de trabajo requieren restablecer las coordenadas. Solución: Programe un comando G40 para cancelar por completo la compensación activa antes de ejecutar el comando de cambio de plano. |
| Mitsubishi | P153 | La dirección de avance del contorno programada y la dirección de avance compensada se calculan como invertidas. | Los ejes desaceleran hasta detenerse por completo y el panel de errores muestra una alarma "P153 Interference check". | Ocurre cuando se intenta mecanizar una ranura o cavidad interna más estrecha que el diámetro del radio de punta del cutter. Solución: Utilice un diámetro de cutter más pequeño que se adapte matemáticamente al ancho de la ranura, o modifique la geometría programada. |
| Mitsubishi | P608 | Se ordena una función de skip G31 mientras la compensación del radio del cutter o de la punta de la herramienta está activa. | El mecanizado se interrumpe de inmediato, mostrando "P608 Skip command error". | El comando skip omite las comprobaciones de geometría de la trayectoria de la herramienta. Solución: Programe un comando de cancelación G40 para desactivar la compensación de la herramienta antes de emitir el bloque de skip G31. |
Nota de Aplicación
La acumulación de piezas rechazadas por desviaciones dimensionales indetectables hasta el control de calidad final suele deberse a una mala gestión del búfer de lectura previa (look-ahead) o a parámetros incorrectos del vector de inicio de compensación. Si no se verifica el parámetro 19607 bit 5 (CAV) en controles Fanuc o el parámetro #8157 en controles Mitsubishi antes de iniciar la producción, la desviación dimensional se acumula ciclo a ciclo y solo se detecta en la inspección final como pieza rechazada. Por ejemplo, en Fanuc, habilitar la función de prevención de interferencias mediante el parámetro 19607 bit 5 (CAV = 1) elimina la causa más frecuente de parada no planificada en este comando, permitiendo al CNC recalcular dinámicamente la trayectoria de la herramienta sobre la marcha en lugar de detener el ciclo con la alarma PS0041. En sistemas de torneado Mitsubishi, omitir la validación de los ciclos fijos de desbaste (G71, G72, G73) donde la compensación de radio de punta se cancela temporalmente de forma automática porque el perfil final ya incluye la compensación, puede provocar que una trayectoria de acabado posterior no compensada destruya el material. Los programadores deben asegurarse de que todas las activaciones (G41/G42) y cancelaciones (G40) ocurran en bloques lineales con desplazamientos mayores que el radio real de la herramienta ($TC_DP6 en Siemens), garantizando una zona libre de colisiones con los límites físicos del plato (chuck) y la torreta (turret).
Red de Comandos Relacionados
Para programar con eficacia la compensación del radio del cutter y de la punta de la herramienta, los operadores deben comprender la red más amplia de códigos G y rutinas auxiliares:
- G38 (Vector Hold): Utilizado en sistemas Fanuc y Mitsubishi para retener temporalmente el vector de compensación actual durante los bloques de trayectoria, evitando recalculaciones no deseadas.
- G39 (Corner Circular Interpolation): Inserta un arco de esquina de transición durante la compensación del cutter en controles Fanuc y Mitsubishi para suavizar el movimiento alrededor de esquinas exteriores afiladas.
- G46 (Nose Radius Auto Direction): Un comando de torno Mitsubishi que detecta y aplica automáticamente la dirección de compensación correcta a la izquierda o a la derecha basándose en los vectores de movimiento.
- G41.2 / G42.2 (3-Dimensional Tool Radius Compensation): Extiende la compensación al espacio tridimensional en sistemas M-series de Fanuc y Mitsubishi para manejar la compensación de superficies en la dirección vertical.
- G450 / G451 (Corner Transition Selection): Utilizado en sistemas Siemens para alternar entre la inserción de un círculo de transición (G450) and la intersección de trayectorias equidistantes (G451) en esquinas exteriores.
- G01 (Linear Interpolation): Utilizado para ejecutar coordenadas de corte lineal y vectores de transición de startup/cancel.
- G17, G18, G19 (Plane Selection): Establece el plano de trabajo activo donde se proyectan matemáticamente los offsets radiales.
- G28 (Reference Point Return): Retorno a cero estándar para llevar los ejes a casa con seguridad y despejar el entorno de la pieza después de cancelar la compensación.
Conclusión
La fiabilidad del proceso y la reducción del tiempo de ciclo en operaciones de fresado y torneado a alta velocidad dependen de la correcta sincronización entre la geometría física de la herramienta y los parámetros de compensación del control. Validar el tamaño del búfer de lectura predictiva (look-ahead) y eliminar bloques de movimiento no coordenado consecutivos dentro del perfil compensado elimina el riesgo de colisiones críticas y paradas no planificadas. Antes de iniciar un lote de producción, es una recomendación esencial verificar los vectores de compensación en la pantalla de trazado gráfico del CNC y confirmar que la distancia de aproximación lineal supera el radio físico de la herramienta. Aplicar estas directrices de forma estricta en el taller garantiza que la máquina opere de manera continua, optimizando el tiempo de ciclo y asegurando la precisión dimensional de cada pieza mecanizada.
Preguntas Frecuentes (FAQ)
¿Por qué el control Fanuc activa la alarma PS0041 al ejecutar códigos M o esperas (dwell) consecutivos?
La alarma PS0041 ocurre porque el control Fanuc necesita preleer los siguientes bloques de movimiento (búfer de lectura previa o look-ahead) para calcular el vector de intersección de la trayectoria compensada. Al introducir bloques consecutivos sin movimiento coordenado (como funciones auxiliares M o temporizadores G04), el búfer se vacía y el control no puede predecir el camino de la herramienta, deteniendo el ciclo por seguridad. Acción práctica: Agrupe las funciones M en un solo bloque con movimiento o programe los tiempos de espera (dwell) exclusivamente antes de activar G41/G42 o después de cancelar con G40.
¿Cómo se puede corregir la alarma P153 de interferencia en Mitsubishi al mecanizar ranuras estrechas?
La alarma de interferencia P153 en controles Mitsubishi se activa cuando el control calcula que la trayectoria compensada requeriría una inversión de sentido en su movimiento, lo cual ocurre habitualmente si el diámetro físico de la fresa o el radio de punta es mayor que el ancho de la ranura o perfil interno que se pretende mecanizar. Acción práctica: Reduzca el valor de desgaste en el registro D correspondiente o sustituya la herramienta por una fresa de menor diámetro, actualizando el registro de compensación antes de reiniciar el mecanizado.
¿Qué ventaja tiene usar OFFN en Siemens y cómo evita desgastes o paradas inesperadas?
El parámetro inline OFFN en Siemens permite aplicar un sobreespesor o demasía equidistante directamente sobre la trayectoria programada sin necesidad de reprogramar las coordenadas ni recalcular el código en el sistema CAM. Esto es ideal para realizar pasadas de desbaste intermedias controladas, evitando sobrecargas térmicas en la herramienta y eliminando paradas imprevistas por rotura. Acción práctica: Programe una primera pasada utilizando OFFN=0.5 para desbastar con seguridad y, a continuación, ejecute la pasada final con OFFN=0 para lograr la dimensión nominal exacta del plano.
¿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.