Compensación de Longitud de Herramienta G43, G44, G49: Guía CNC
Domine la compensación de longitud de herramienta G43, G44 y G49. Aprenda a configurar parámetros y evitar colisiones críticas en Fanuc, Siemens y Mitsubishi.
Introducción
Un bloque de compensación de longitud de herramienta G43 ejecutado sin un movimiento lineal absoluto inmediato en un sistema Mitsubishi configurado para desfase de coordenadas (Coordinate Shift Type) provoca que el eje de la herramienta se desplace de manera impredecible en el siguiente movimiento incremental o ciclo fijo. Esta desincronización crítica resulta en una colisión violenta del husillo de alta velocidad contra una mordaza de prensa (vise jaw) templada, una brida de sujeción (clamp) o el plato de garras (chuck) giratorio, destrozando la herramienta de carburo sólido y desalineando la torreta portaherramientas. Si no se verifica este parámetro 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. Validar y comprender la activación de los comandos G43 (compensación positiva), G44 (compensación negativa) y G49 (cancelación de compensación) elimina la causa más frecuente de parada no planificada en este comando y reduce drásticamente el costoso tiempo de inactividad (downtime) en el taller.
Resumen Técnico
| Especificación | Detalles |
|---|---|
| Comandos G-Code | G43 (Compensación de longitud de herramienta positiva), G44 (Compensación de longitud de herramienta negativa), G49 (Cancelación de compensación de longitud de herramienta) |
| Grupo de modalidad (modal) | Grupo 08 (Modal) |
| Marcas compatibles | Fanuc, Siemens, Mitsubishi |
| Parámetros críticos | Fanuc: 5001 (TLC/TLB Type A/B/C), 5006#6 (TOS físico vs matemático), 5003#6 (LVK retención en reset); Siemens: MD20380 $MC_TOOL_CORR_MODE_G43G44 (Modos A/B/C), MD20382 $MC_TOOL_CORR_MOVE_MODE (modo retract); Mitsubishi: #1268 (ext04/bit6 movimiento de eje vs desfase de coordenadas), #1247 (set19/bit0 comportamiento de recorrido sin movimiento), #1274 (ext10/bit3 activación standalone de H), #8122 (Keep G43 MDL M-REF). |
| Restricción cinemática principal | Los comandos de inicio de compensación de longitud de herramienta (G43/G44) nunca deben programarse en bloques de interpolación circular (G02/G03) ni combinarse con G04 (Dwell), G53 (Selección de coordenadas de máquina) o G28 (Retorno de referencia) en un solo bloque. |
Lectura Rápida
- Programe la compensación de longitud de herramienta G43 estrictamente en bloques de movimiento lineal (G00 o G01) con una coordenada de destino absoluta para garantizar un cálculo de vector correcto y evitar errores de arco P70.
- Coordine su índice de registro H físico con la herramienta cargada; llamar a un offset incorrecto u omitir G49 antes de un cambio de herramienta puede dirigir el husillo directamente a la mesa.
- Configure el parámetro 5001 TLC/TLB de Fanuc o el MD20380 de Siemens para determinar si los offsets se aplican de manera estática al eje Z (Type A), de forma dinámica perpendicularmente al plano de trabajo activo (Type B), o al eje arbitrario ordenado (Type C).
- Retenga los vectores de compensación activos durante los reseteos del CNC configurando el parámetro 5003 bit 6 (LVK) de Fanuc en 1, previniendo saltos de coordenadas inesperados al reiniciar ciclos.
- Habilite las actualizaciones de código H standalone en sistemas Mitsubishi a través del parámetro #1274 bit 3 para cambiar los offsets de desgaste de herramienta a mitad del ciclo sin volver a declarar G43 ni posiciones Z del husillo.
- Prevenga fallos de combinación (alarmas P45) en sistemas Mitsubishi aislando G43, G44 y G49 de esperas (G04), selecciones de coordenadas de máquina (G53) o rutinas de homing (G28).
Conceptos Básicos
El efecto práctico de programación de los comandos G43 y G44 es ajustar matemáticamente la trayectoria programada de la punta de la herramienta para tener en cuenta la longitud física de calibrado del cutter específico cargado en el husillo. Este desfase dinámico permite a los programadores escribir G-code universal basado completamente en el punto cero del plano de la pieza de trabajo sin codificar rígidamente longitudes de herramientas individuales en los vectores de coordenadas reales.
Los programadores y operadores deben asegurarse meticulosamente de llamar al número de offset H correcto que corresponda a la herramienta física; llamar a un offset incorrecto u olvidar ejecutar un comando de cancelación G49 antes de un cambio de herramienta puede dirigir el husillo directamente a la pieza de trabajo o a la mesa. Para mantener una seguridad total, retornar al punto de referencia de la máquina utilizando el comando g28-g29-g30-reference-point-return cancela automáticamente la compensación de longitud de herramienta para el eje que retorna.
Al utilizar la rotación avanzada del sistema de coordenadas 3D (G68/G69), los programadores deben vigilar cuidadosamente la estructura de anidamiento de sus comandos. Una causa común de fallo importante es ordenar una rotación de coordenadas mientras la compensación de longitud de herramienta está activa e intentar posteriormente aplicar un offset de longitud de herramienta diferente (por ejemplo, G43 H2) sin cancelar primero la rotación, lo que confunde violentamente la matriz de coordenadas. Además, los offsets de longitud de herramienta son distintos de las compensaciones de radio de cutter gobernadas por g40-g41-g42-tool-nose-cutter-radius-compensation, y ambos sistemas deben programarse en una secuencia lógica para evitar errores de contorno superpuestos.
Estructura de Comandos
Los offsets de longitud de herramienta son G-codes modales pertenecientes al grupo 08 que gobiernan la compensación de longitud de herramienta. La sintaxis básica requiere el G-code, el eje a ser compensado y una dirección H (o dirección D según los parámetros) para especificar el número de registro de offset. La dirección de eje (por ejemplo, Z, X o Y) designa el eje de compensación de destino, y la dirección H designa el número de compensación de herramienta.
G43 aplica la compensación de longitud de herramienta en la dirección positiva, lo que significa que el valor del offset registrado se suma a la coordenada programada. G44 aplica la compensación de longitud de herramienta en la dirección negativa, lo que significa que el valor del offset registrado se resta de la coordenada programada. G49 cancela la compensación de longitud de herramienta activa, devolviendo la máquina a un estado de movimiento de coordenadas directo no compensado. La compensación también se puede cancelar ordenando un valor de registro de offset de cero (H0 o H00).
Estructuras de sintaxis en entornos de marcas:
- Fanuc:
G43 Z_ H_;oG44 Z_ H_; - Siemens ISO Mode:
G43 [Eje]... H...;oG44 [Eje]... H...; - Mitsubishi:
G43 Z_ H_ ;oG44 Z_ H_ ; - Cancelación universal:
G49;oH0;
Aplicaciones de Marca
Fanuc
En sistemas Fanuc, la compensación de longitud de herramienta está profundamente vinculada a los parámetros del controlador 5001 y 5006. El comportamiento varía entre centros de mecanizado y tornos. El manejo de Fanuc de la compensación de longitud de herramienta está definido de manera distintiva por una profunda personalización matemática dentro de su propio ecosistema.
Una llamada estándar de compensación de longitud de herramienta positiva se programa como G43 Z100.0 H01; para aplicar compensación de longitud de herramienta positiva en el eje Z. G44 aplica el offset en la dirección negativa y G49 cancela el offset.
- Parámetro 5001 bits 0 (TLC) y 1 (TLB): Determina el comportamiento matemático del eje para la compensación de longitud de herramienta en sistemas M-series. Type A (0) aplica compensación exclusivamente al eje Z en todo momento. Type B (1) aplica compensación al eje perpendicular al plano activo actualmente especificado (G17, G18 o G19). Type C (2) aplica compensación directamente al eje arbitrario específico ordenado dentro del bloque G43/G44.
- Parámetro 5006 bit 6 (TOS): Dicta cómo se ejecuta físicamente la compensación de longitud de herramienta. Un valor de 0 aplica la compensación mediante un movimiento físico real del eje, mientras que un valor de 1 la ejecuta matemáticamente desplazando el sistema de coordenadas interno sin mover la herramienta.
- Parámetro 5003 bit 6 (LVK): Determina si el vector de compensación de longitud de herramienta activo se retiene de forma segura (valor 1) o se borra (valor 0) cuando se restablece el CNC.
- Parámetro 5040 bit 4 (TLG): Dicta si el sistema utiliza el G43 estándar o el formato especializado de torno con ATC G43.7 y G44.7 para invocar offsets de longitud de herramienta en sistemas de torno equipados con un cambiador automático de herramientas (ATC).
- Parámetro 6000 bit 3 (V15): Habilita la compatibilidad con sistemas heredados, lo que permite a los programadores leer y escribir valores de offset de herramienta utilizando las arcaicas variables de sistema macro de Series 15 (por ejemplo, #2401) en lugar de la estructura de variables moderna de Series 16/18.
- Alarma PS0027 (NO AXES COMMANDED IN G43/G44): Se activa en controles M-series si la máquina está configurada para la compensación de longitud de herramienta Type C, pero no se especifica ninguna dirección física de eje en el bloque G43 o G44.
- Alarma PS0030 (ILLEGAL OFFSET NUMBER): Se activa si el número de offset especificado por el código H o código D es demasiado grande y excede los límites máximos permitidos de memoria de offset del sistema.
- Alarma PS0049 (ILLEGAL OPERATION G68/G69): Se activa cuando los comandos de conversión tridimensional de coordenadas (G68/G69) y los comandos de compensación de longitud de herramienta (G43/G44/G49) no están anidados correctamente, o si se especifica una rotación de coordenadas mientras la compensación de longitud de herramienta está activa y el programador intenta aplicar un nuevo offset de longitud de herramienta sin cancelar la rotación primero.
- Alarma PS5452 (IMPROPER G-CODE 5AXIS MODE): Se activa si se ordena la compensación de longitud de herramienta estándar mientras el control avanzado de punto central de herramienta o la compensación de longitud de herramienta en la dirección del eje de la herramienta ya están activos.
- Diferencias de versiones: Existe una diferencia arquitectónica importante entre M-series (centros de mecanizado) y T-series (tornos). Los tornos generalmente dependen de códigos T nativos tanto para la geometría de la herramienta como para la compensación de desgaste sin necesidad de G43. Sin embargo, si un sistema de torno está equipado con un cambiador automático de herramientas (ATC) en lugar de una torreta estándar, el parámetro 5040 bit 4 (TLG) dicta si el sistema utiliza G43 o G43.7/G44.7. La compatibilidad macro con sistemas heredados se habilita mediante el parámetro 6000 bit 3 (V15) para variables de la serie Series 15.
Advertencia: Los programadores deben establecer un orden de anidamiento estricto y estandarizado para aplicar offsets y rotaciones, utilizando explícitamente bloques de cancelación G49 seguros o retornos al punto de referencia antes de cambiar de herramienta o planos para evitar alarmas PS0049.
Siemens
Los controles Siemens proporcionan una estructura altamente adaptable que procesa los offsets de longitud de herramienta de manera diferente según el modo de lenguaje activo. Parámetros clave de la máquina incluyen MD20380 y MD20382, que permiten que el control se adapte a programas heredados ISO u operaciones nativas DIN.
En el modo ISO Dialect, la compensación de longitud positiva se activa mediante G43 Z100.0 H01;, donde la palabra H especifica el registro de datos de offset de herramienta. La deselección se realiza mediante G49 o programando H00.
- MD20380 $MC_TOOL_CORR_MODE_G43G44: Un parámetro BYTE (rango de valores de 0 a 2) que determina cómo se procesa en modo ISO la compensación de longitud programada con H. Mode A (0) obliga a que la longitud de herramienta H siempre afecte al tercer eje geométrico (normalmente Z). Mode B (1) obliga a que el eje afectado dependa del plano activo (G17 = eje Z, G18 = eje Y, G19 = eje X). Mode C (2) obliga a que la longitud de herramienta afecte al eje específico que se programa simultáneamente con la palabra H en el bloque.
- MD20382 $MC_TOOL_CORR_MOVE_MODE: Un parámetro BOOLEAN que define cómo se retraen las compensaciones de longitud de herramienta. Si se establece en 0 (FALSE), un componente de longitud de herramienta solo se retrae si el eje asociado está programado explícitamente para moverse.
- Alarma 14165 (Channel %1: Block %2): Se activa si MD20380 está configurado en Mode C (valor 2), lo que significa que la longitud actúa sobre el eje programado, pero se ejecuta un comando G43 o G44 con una palabra H sin especificar al menos un eje geométrico en el mismo bloque.
- Alarma 10915 / 10916: Se activa si los valores de compensación de longitud de herramienta activos combinados con la geometría programada dan como resultado una zona donde el posicionamiento es física o cinemáticamente imposible (como la violación de límites durante transformaciones activas). El control interviene y detiene la máquina antes de que se ejecute el bloque defectuoso.
- Diferencias de versiones: Los controles Siemens manejan la compensación de longitud de herramienta de manera radicalmente diferente según el modo de lenguaje activo. Al operar en el modo ISO Dialect (G291), los programadores deben activar explícitamente la compensación de longitud de herramienta utilizando G43 o G44 y una palabra de offset H. Sin embargo, en el modo nativo Siemens DIN (G290), las longitudes de las herramientas se activan automáticamente en segundo plano simplemente llamando a la herramienta y a su número de offset de filo (por ejemplo, T1 D1); los comandos explícitos G43/G44 no son requeridos ni se procesan de forma nativa de la misma manera.
Advertencia: Un error de programación muy frecuente es operar la máquina en modo ISO y olvidar programar explícitamente G43 o G44 junto con un código H, asumiendo erróneamente que la longitud de la herramienta ya está activa debido a que se espera el comportamiento de activación automática nativo de Siemens.
Mitsubishi
Los sistemas Mitsubishi gestionan los offsets de herramientas a través de los parámetros #1268 y #1247. El control maneja tanto los formatos de centro de mecanizado (M) como de torno (L) a la perfección, proporcionando una alta flexibilidad de parámetros para movimientos de ejes y desfases de coordenadas.
Una llamada de fresado estándar se escribe como G43 Z50.0 H01 ; para aplicar la compensación de longitud de herramienta en la dirección Z positiva. La cancelación se realiza a través de G49 Z100.0 ; o comandando H0.
- Parámetro #1268 ext04/bit6 (Tool length offset operation): Determina cómo aplica físicamente la máquina el offset. Un ajuste de 0 (Axis Movement Type) aplica la compensación mediante un movimiento físico inmediato del eje. Un ajuste de 1 (Coordinate Shift Type) aplica la compensación a través de un desfase de coordenadas (el sistema de coordenadas se desplaza internamente y el eje se mueve a la posición compensada con el siguiente comando de recorrido absoluto).
- Parámetro #1247 set19/bit0 (Movement by tool length compensation command): Determina el comportamiento cuando se ordena G43/G44 sin un movimiento de eje en el mismo bloque. Un ajuste de 0 obliga al eje a moverse por la cantidad de compensación de inmediato. Un ajuste de 1 aplica la compensación al contador de posición interno sin mover el eje.
- Parámetro #1274 ext10/bit3 (H stand-alone command): Cuando se establece en 1, el valor modal H se puede actualizar emitiendo la dirección H completamente sola en un bloque, sin necesidad de un prefijo G43/G44.
- Parámetro #8122 (Keep G43 MDL M-REF): Si se establece en 1, el offset de longitud de herramienta permanece activo incluso después de ejecutar un retorno manual a la posición de referencia.
- Alarma P45 (G-code combination error): Se activa si se ordena G43, G44 o G49 en el mismo bloque que un comando incompatible, como G04 (Dwell), G53 (Selección de coordenadas de máquina) o G28 (Retorno a la posición de referencia).
- Alarma P70 (Arc error): Ocurre si se emite un comando de inicio de compensación de longitud de herramienta (G43/G44) en el mismo bloque que un comando de interpolación circular (G02/G03).
- Alarma P170 (Offset No. over): Se activa si el número de offset H ordenado excede el rango máximo especificado de la máquina (por ejemplo, ordenar H300 en una máquina con licencia para solo 200 juegos de offsets).
- Alarma Y51 108 (MCP Alarm): Se activa en el arranque automático si los parámetros incompatibles están activos simultáneamente, como #1247 set19/bit0 = 1 combinado con #1268 ext04/bit6 = 1.
- Diferencias de versiones: Existe una diferencia arquitectónica estricta entre los sistemas de centro de mecanizado (M) y los sistemas de torno (L). En los sistemas M estándar, la longitud de la herramienta se gestiona de forma nativa mediante G43/G44 y la dirección H. En los sistemas L estándar, la compensación de longitud de herramienta se invoca automáticamente utilizando el comando modal T (por ejemplo, T0101). Sin embargo, si se ejecuta la función de cambio de formato de programa (G188) en un sistema de torno para ingresar al modo de compatibilidad de centro de mecanizado, el sistema L inicializará sus modales y comenzará a aceptar comandos estándar G43/G44 y direcciones H.
Advertencia: Los programadores nunca deben ordenar G43/G44/G49 en el mismo bloque que comandos incompatibles (G04, G53, G28) o interpolaciones circulares (G02/G03) para evitar fallos de combinación y alarmas P70.
Comparación de Marcas
| Tema | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Selección de eje predeterminada | Determinado por el parámetro 5001 (TLC/TLB): Type A (eje Z), Type B (plano perpendicular), Type C (eje ordenado). | Controlado por MD20380: Mode A (eje Z), Mode B (plano perpendicular), Mode C (eje ordenado). | Especificado por el eje ordenado en el bloque G43/G44. |
| Retracción / Ejecución de offset | El parámetro 5006 bit 6 (TOS) dicta el movimiento físico del eje servo (0) vs desfase matemático de coordenadas (1). | MD20382 permite configurar la retracción del offset solo si el eje asociado está explícitamente ordenado a moverse. | El parámetro #1268 (ext04/bit6) especifica movimiento físico (0) vs desfase de coordenadas interno (1). El parámetro #1247 set19/bit0 controla el comportamiento cuando G43/G44 es llamado sin recorrido de eje. |
| Compatibilidad con tornos | Típicamente utiliza códigos T. Los tornos con ATC pueden usar G43/G44 o G43.7/G44.7 según el parámetro 5040 bit 4 (TLG). | El modo DIN (G290) automatiza las longitudes de herramientas a través de T_ D_. El modo ISO dialect (G291) procesa palabras G43/G44 y H. | Los sistemas L utilizan códigos T de forma nativa, pero G188 (Program Format Switch) permite compatibilidad completa de sistemas M, incluyendo G43/G44. |
| Comandos H standalone | — (no source) | H00 o G49 cancelan; el código D es la llamada de herramienta Siemens nativa. | Soportado a través del parámetro #1274 (ext10/bit3) permitiendo líneas H standalone (por ejemplo, H02 ;) para actualizar los offsets de desgaste a mitad del ciclo. |
| Sincronización de ejes | — (no source) | — (no source) | Integra G43 en el control de sincronización de múltiples ejes, aplicando automáticamente los offsets respectivos a los ejes esclavos. |
Análisis Técnico
El manejo de la compensación de longitud de herramienta por parte de Fanuc está definido de manera distintiva por una profunda personalización matemática. Dentro de su propio ecosistema, Fanuc ofrece de forma única tres comportamientos geométricos seleccionables para aplicar el vector de compensación a través de los parámetros TLC y TLB: el Type A fuerza estáticamente el offset al eje Z, el Type B rastrea dinámicamente el plano de trabajo activo y aplica el offset perpendicularmente (perfecto para accesorios en ángulo recto), y el Type C aísla la compensación estrictamente al eje arbitrario ordenado en el bloque G43. Finalmente, Fanuc proporciona el parámetro 5006 bit 6 (TOS), el cual permite de manera distintiva al fabricante de la máquina dictar el comportamiento cinético del offset; la compensación de longitud de herramienta se puede configurar para ejecutarse físicamente a través de un movimiento real de eje servo, o ejecutarse silenciosamente desplazando matemáticamente el sistema de coordenadas interno sin iniciar ningún movimiento físico de la herramienta.
Los controles Siemens se distinguen de otras marcas de control importantes de la industria con respecto a la compensación de longitud de herramienta por una arquitectura altamente adaptable y de múltiples capas para manejar el código ISO heredado. En primer lugar, Siemens proporciona la capacidad única de alternar perfectamente entre el modo DIN nativo —donde las longitudes de las herramientas están completamente automatizadas mediante números D sin ningún código G auxiliar— y el modo ISO Dialect, donde las palabras G43/G44 y H se aplican estrictamente para ejecutar programas heredados sin modificaciones. En segundo lugar, Siemens ofrece una flexibilidad inigualable al brindar a los programadores tres estrategias de interpretación distintas para el bloque G43/G44 a través de MD20380: la máquina se puede bloquear al comportamiento estándar donde el offset siempre afecta al tercer eje geométrico (Mode A), puede desplazar dinámicamente el eje compensado según el plano G17/G18/G19 activo (Mode B), o puede obligar de manera única a que el offset de longitud se aplique exclusivamente a cualquier eje específico que se programe simultáneamente en el bloque con la palabra H (Mode C). Finalmente, Siemens se distingue por comportamientos de retracción personalizables a través de MD20382; el control se puede configurar de modo que un componente de longitud de herramienta solo se retraiga físicamente durante un bloque de cancelación si el eje asociado está programado explícitamente para moverse, previniendo retracciones inesperadas y bruscas durante transiciones complejas en 3D.
Los controles Mitsubishi proporcionan una capa de seguridad y flexibilidad operativa altamente personalizable que distingue claramente a esta marca de Fanuc o Siemens. Un comportamiento muy distintivo es el procesamiento de compensación bimodo de Mitsubishi, controlado a través del parámetro #1268 ext04/bit6. Los programadores pueden dictar globalmente si G43 hace que la máquina se mueva físicamente la cantidad del offset (Axis Movement Type) o desplace perfectamente la cuadrícula de coordenadas interna (Coordinate Shift Type) para esperar el siguiente comando de direccionamiento absoluto. En segundo lugar, Mitsubishi se distingue por admitir de forma nativa el comando H standalone (#1274 ext10/bit3 = 1), lo que permite a un operador cambiar dinámicamente el offset de desgaste de longitud de herramienta activo a mitad del ciclo simplemente ordenando un nuevo número H en una línea vacía, evitando por completo la necesidad de volver a declarar G43 o un vector del eje Z. Finalmente, Mitsubishi integra G43 a la perfección en el control de sincronización de múltiples ejes; cuando se ordena G43 en un eje maestro, el control aplica de manera inteligente las cantidades de offset de herramienta específicas y respectivas a los ejes esclavos sincronizados, evitando fallos estándar de no interpolación.
Ejemplos de Programas
Ejemplo de programa de fresado en Fanuc
O1100 (FANUC G43 COMPENSACIÓN DE LONGITUD DE HERRAMIENTA) ;
N10 G90 G21 G40 G49 (Bloque de seguridad: absoluto, mm, cancela comp de radio/longitud) ;
N20 T01 M06 (Cambio de herramienta: carga Herramienta 1) ;
N30 S1200 M03 (Arranca husillo en sentido horario a 1200 rpm) ;
N40 G00 X50.0 Y50.0 (Posicionamiento rápido en plano XY fuera de la pieza) ;
N50 G43 Z10.0 H01 (Activa compensación de longitud de herramienta positiva en Z usando registro H01) ;
N60 G01 Z-5.0 F200.0 (Avance hacia profundidad de corte) ;
N70 X100.0 F300.0 (Ejecuta corte de fresado lineal) ;
N80 G00 Z50.0 (Retracción rápida a altura segura) ;
N90 G49 M05 (Cancela compensación de longitud de herramienta y detiene husillo) ;
N100 G28 X0 Y0 Z0 (Retorno al punto de referencia de la máquina) ;
N110 M30 ;
Análisis de ejecución en seco (dry run):
- El bloque N10 establece coordenadas absolutas en milímetros y garantiza que la compensación del radio de punta de la herramienta (G40) y la compensación de longitud de la herramienta (G49) estén canceladas.
- El bloque N20 ejecuta el cambio de herramienta, cargando la Herramienta 1 en el husillo. El bloque N30 activa el husillo en sentido horario a 1200 rpm.
- El bloque N40 posiciona en rápido los ejes a X50.0 e Y50.0, colocando el cutter fuera del contorno de la pieza de trabajo.
- El bloque N50 activa la compensación de longitud de herramienta positiva (G43) en el eje Z, apuntando a una altura Z de 10.0 mm, utilizando el registro H01. El control lee el offset de longitud de herramienta de H01 y mueve físicamente el eje Z esa distancia compensada (asumiendo que el parámetro 5006 bit 6 está establecido en 0).
- El bloque N60 avanza el eje Z a una profundidad de -5.0 mm a 200 mm/min. El bloque N70 realiza la pasada de fresado hasta X100.0 a 300 mm/min con la compensación de longitud activa.
- El bloque N80 ejecuta una retracción rápida a una altura segura de Z50.0. El bloque N90 cancela la compensación de longitud de herramienta (G49) y detiene el husillo (M05).
- El bloque N100 realiza un retorno a cero de la máquina (g28-g29-g30-reference-point-return) para despejar de forma segura la zona de trabajo.
Ejemplo de programa de Siemens en modo ISO Dialect
; SIEMENS G43 COMPENSACIÓN DE LONGITUD DE HERRAMIENTA EN ISO DIALECT
N10 G90 G21 G40 G49 (Absoluto, métrico, cancela compensación)
N20 T02 M06 (Carga Herramienta 2)
N30 G97 S1500 M03 (Husillo activo a 1500 rpm)
N40 G00 X40.0 Y40.0 (Posicionamiento rápido)
N50 G43 Z15.0 H02 (Activa offset de longitud usando registro H02)
N60 G01 Z-10.0 F250.0 (Avance Z a profundidad de mecanizado)
N70 Y80.0 (Ejecuta corte de perfil lineal)
N80 G00 Z100.0 (Retración rápida a plano de holgura)
N90 G49 M05 (Deselecciona compensación de longitud de herramienta y detiene husillo)
N100 M30
Análisis de ejecución en seco:
- El bloque N10 configura el modo de coordenadas absolutas en milímetros, cancelando las compensaciones de radio de herramienta y de longitud de herramienta.
- El bloque N20 realiza el cambio de herramienta, cargando la Herramienta 2, y el bloque N30 arranca el husillo en sentido horario a 1500 rpm.
- El bloque N40 se desplaza en rápido a las coordenadas X40.0 e Y40.0 para establecer una posición de entrada segura.
- El bloque N50 ejecuta la compensación de longitud de herramienta positiva (G43) apuntando a Z15.0 utilizando el offset de herramienta almacenado en el registro H02. El control procesa el valor de H02 utilizando el parámetro MD20380 activo (asumiendo el Mode A, lo aplica a Z).
- El bloque N60 avanza Z a -10.0 mm a 250.0 mm/min. El bloque N70 realiza el corte de fresado hasta Y80.0 con el offset activo.
- El bloque N80 retrae en rápido el eje Z al plano de holgura seguro en Z100.0. El bloque N90 cancela la compensación de longitud (G49) y detiene el husillo.
Ejemplo de programa de fresado en Mitsubishi
; MITSUBISHI G43 COMPENSACIÓN DE LONGITUD DE HERRAMIENTA CON ACTUALIZACIÓN STANDALONE
N10 G90 G21 G40 G49 G17 (Absoluto, mm, cancela comp, plano XY) ;
N30 T03 M06 (Carga Herramienta 3) ;
N40 S1100 M03 (Husillo en sentido horario a 1100 rpm) ;
N50 G00 X0.0 Y-30.0 (Posicionamiento rápido en plano XY) ;
N60 G43 Z20.0 H03 (Activa offset de longitud de herramienta usando registro H03) ;
N70 G01 Z-8.0 F150.0 (Avance lineal Z a profundidad de corte) ;
N80 H33 (Actualiza el registro de offset de desgaste activo a H33 a mitad del ciclo mediante comando standalone) ;
N90 X100.0 F280.0 (Recorrido de fresado con vector de offset actualizado) ;
N100 G49 Z100.0 M05 (Cancela compensación y retracción rápida en Z) ;
N110 M30 ;
Análisis de ejecución en seco:
- El bloque N10 borra las compensaciones activas y establece el posicionamiento estándar en el plano XY (G17) en modo absoluto.
- Los bloques N30 y N40 ejecutan el cambio de herramienta y la activación del husillo a 1100 rpm. El bloque N50 se posiciona en rápido a X0.0 e Y-30.0.
- El bloque N60 activa la compensación de longitud de herramienta positiva (G43) apuntando a Z20.0 utilizando el registro H03. La máquina aplica físicamente el offset (asumiendo que el parámetro #1268 está establecido en 0).
- El bloque N70 avanza el eje Z a una profundidad de -8.0 mm a 150 mm/min.
- El bloque N80 emite un comando standalone H33. Dado que el parámetro #1274 ext10/bit3 está establecido en 1, el control Mitsubishi intercambia dinámicamente el registro de offset de longitud de herramienta activo a H33 a mitad del ciclo sin requerir un prefijo G43 o un nuevo comando del eje Z.
- El bloque N90 ejecuta el recorrido de fresado hasta X100.0 a 280 mm/min utilizando el vector de offset de herramienta actualizado.
- El bloque N100 cancels the active tool length compensation (G49) while retracting to Z100.0 and stops the spindle.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | PS0027 | La configuración de compensación de longitud de herramienta Type C está activa, pero se ejecuta un bloque G43/G44 sin especificar un eje geométrico de destino. | La máquina se detiene de inmediato, mostrando una alarma parpadeante "PS0027 NO AXES COMMANDED IN G43/G44". | Type C está diseñado para aplicar compensación estrictamente al eje arbitrario denominado en el bloque. Solución: Programe la coordenada del eje de destino junto con el comando G43/G44. |
| Fanuc | PS0030 | El índice de offset H o D ordenado supera la capacidad de registro máxima permitida del sistema. | El ciclo automático se aborta, mostrando una alarma parpadeante "PS0030 ILLEGAL OFFSET NUMBER" en el panel de control. | Un error de índice de programación donde el ID del offset está más allá de los límites del hardware. Solución: Verifique los índices de offset activos en la memoria y especifique un ID de registro válido. |
| Fanuc | PS0049 | El anidamiento de la rotación de coordenadas (G68/G69) y la compensación de longitud de herramienta es incorrecto, o se actualiza un offset de herramienta mientras la rotación G68 está activa sin deselección. | El husillo sigue funcionando, pero el movimiento de los ejes se congela bajo la alarma parpadeante "PS0049 ILLEGAL OPERATION G68/G69". | La matriz de rotación de coordenadas se distorsiona matemáticamente cuando se cambian los offsets durante un G68 activo. Solución: Anide simétricamente bloques G43/G49 alrededor de G68/G69, o cancele la rotación antes de cambiar los offsets H. |
| Siemens | Alarm 14165 | MD20380 está configurado para Mode C (afecta al eje ordenado), pero G43/G44 se programa con H sin nombrar ningún eje geométrico. | La ejecución del programa se detiene y muestra "Alarm 14165 Channel %1: Block %2". | Falta el eje geométrico en el bloque de comando mientras el Mode C está activo. Solución: Agregue la coordenada del eje geométrico de destino (por ejemplo, Z o X) al bloque G43/G44. |
| Siemens | Alarm 10915 / 10916 | Los offsets de longitud de herramienta activos y la geometría combinados dan como resultado un destino cinemáticamente imposible o violan los límites de recorrido físicos. | El procesamiento predictivo del control detiene los ejes antes de que se ejecute el bloque defectuoso, mostrando la alarma 10915/10916. | Los registros de longitud de herramienta contienen valores de offset excesivos o las transformaciones activas exceden los recorridos de los ejes. Solución: Revise los valores de offset D/H activos y verifique que la coordenada de destino esté dentro de los límites de recorrido físico. |
| Mitsubishi | P70 | La activación de la compensación de longitud de herramienta G43/G44 se ordena dentro de un bloque de interpolación circular (G02/G03). | El movimiento termina instantáneamente, mostrando un error de arco P70 parpadeante. | Los vectores de offset no se pueden generar matemáticamente a lo largo de una trayectoria curva activa. Solución: Reubique la llamada de offset G43/G44 a un bloque lineal (G00 o G01) antes de iniciar el arco circular. |
Nota de Aplicación
La falta de sincronización física en el eje Z tras llamar a un offset de longitud es la causa más común de parada no planificada en este comando, provocando desviaciones dimensionales indetectables que se acumulan ciclo a ciclo hasta la inspección final. En controles configurados para desfase de coordenadas interno (como el parámetro 5006 bit 6 establecido en 1 en Fanuc o el parámetro #1268 establecido en 1 en Mitsubishi), ejecutar un comando G43 H independiente cambia las lecturas numéricas internas pero deja los servos inmóviles. Omitir un movimiento absoluto lineal inmediato como g00-rapid-traverse Z a una altura de aproximación segura significa que la máquina operará con desfases incorrectos. En el siguiente ciclo de fresado o roscado rígido, esto garantiza una colisión catastrófica del cabezal contra mordazas de prensa (vise jaw) o plato de garras (chuck), destruyendo rodamientos del husillo y la alineación de la torreta (turret). Para evitar piezas rechazadas (scrap) y proteger el tiempo de ciclo, es obligatorio programar siempre coordenadas absolutas en Z en el mismo bloque que la instrucción G43 H, y auditar parámetros como el LVK (5003 bit 6) de Fanuc para evitar sorpresas tras resetear el control CNC.
Red de Comandos Relacionados
Para programar la compensación de longitud de herramienta de manera efectiva, los operadores deben comprender la red más amplia de códigos G y rutinas auxiliares:
- G00 (Posicionamiento rápido): Frecuentemente utilizado para posicionar rápidamente los ejes a una altura segura mientras G43 activa el vector de offset de longitud de herramienta.
- G28 (Retorno al punto de referencia): Cancela automáticamente los offsets de compensación de longitud de herramienta activos a medida que el eje físico se dirige a casa al punto cero de referencia de la máquina.
- G43.1: Compensación de longitud de herramienta a lo largo del eje de la herramienta (aplica el offset tridimensionalmente en la dirección del vector activo de la herramienta).
- G43.7 / G44.7: Compensación de longitud de herramienta para torno con ATC, gobernada en sistemas Fanuc por el parámetro 5040 bit 4 (TLG).
- G43.4 / G43.5: Control de punto central de herramienta (Type 1 / Type 2) para operaciones avanzadas en centros de mecanizado de 5 ejes.
- G68 / G69: Rotación del sistema de coordenadas, que requiere reglas estrictas de anidamiento con G43/G49 para evitar la distorsión de la matriz de rotación de coordenadas y alarmas de sistema PS0049.
- G10: Entrada de datos programable, utilizada para escribir valores de offset de longitud de herramienta directamente en la base de datos de registro del sistema activo desde el interior del programa NC.
Conclusión
Garantizar la precisión en fresado y torneado CNC de alta producción requiere un control absoluto sobre el inicio y la cancelación de la compensación de longitud. La regla de oro en el taller consiste en realizar una verificación visual de la trayectoria en la pantalla de trazado gráfico del control CNC antes de iniciar el mecanizado físico, confirmando que la distancia de aproximación lineal en Z supera la longitud total del calibrado físico de la herramienta. De igual forma, evitar movimientos incrementales no coordinados inmediatamente después de desfasar coordenadas y estructurar bloqueos G49 explícitos antes de los indexados del cambiador automático son directrices operativas que eliminan riesgos. Aplicar estas prácticas sistemáticamente reduce al mínimo el tiempo de inactividad, optimiza el ciclo de mecanizado y asegura una producción libre de costosas piezas rechazadas.
Preguntas Frecuentes (FAQ)
¿Por qué ocurre la colisión en Z si el código G43 H correspondiente está programado en el bloque?
Esto sucede cuando el parámetro del control CNC (como el parámetro 5006 bit 6 en Fanuc o el parámetro #1268 en Mitsubishi) está configurado en el modo de desfase de coordenadas (Coordinate Shift Type = 1). En esta configuración, la máquina cambia el registro numérico pero no mueve el husillo de manera física de inmediato. Si no se programa una trayectoria lineal absoluta inmediatamente después de G43 H (por ejemplo, G00 Z2.0), el movimiento siguiente (como coordenadas incrementales o ciclos fijos) se calculará a partir del origen antiguo, colisionando contra la pieza. Acción práctica: Asegúrese siempre de que cada bloque G43 H contenga un movimiento de aproximación Z absoluto explícito.
¿Cómo afecta la cancelación G49 al tiempo de ciclo al realizar cambios de herramienta consecutivos?
Llamar a un comando G49 deselecciona la compensación activa y a menudo provoca retracciones rápidas que pueden generar movimientos no deseados de pérdida de tiempo si están mal configuradas. Por ejemplo, en Siemens, la variable MD20382 puede ajustarse en 0 para evitar movimientos de retracción automáticos en Z a menos que el eje se ordene expresamente, ahorrando segundos valiosos en series largas. Acción práctica: Programe la cancelación G49 estrictamente en la trayectoria de retracción final y mantenga optimizada la retracción Z automática de su cambiador automático de herramientas (ATC).
¿Qué causa la alarma PS0049 en controles Fanuc al combinar G43 con rotación de coordenadas G68?
La alarma PS0049 (Illegal Operation G68/G69) se activa por un orden de anidamiento incorrecto. Si intenta activar o cambiar un offset H de longitud de herramienta mientras la rotación de coordenadas tridimensional (G68) está activada, el procesador del control no puede realizar el cálculo rotacional de la compensación y detiene el ciclo por seguridad mecánica. Acción práctica: Estructure siempre el código aplicando primero la compensación G43 y, posteriormente, active la rotación G68; al finalizar, cancele la rotación con G69 antes de deseleccionar la longitud con G49.
¿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.