Programación de Interpolación en Coordenadas Polares G12.1 en Tornos CNC
Aprenda a programar interpolación polar G12.1 en tornos Fanuc, Siemens y Mitsubishi para evitar colisiones de la torreta portaherramientas y la alarma 14800.
Introducción
El choque directo de la torreta portaherramientas (turret) contra las mordazas del plato (chuck) o las bridas de sujeción (clamps) de la mesa es el riesgo físico más crítico al configurar la interpolación en coordenadas polares G12.1 en tornos CNC. Si no se verifican las holguras espaciales y el posicionamiento del eje C antes de comenzar el mecanizado, la torreta puede desviarse violentamente de su trayectoria durante los movimientos rápidos de transición. Esto no solo rompe el cabezal de fresado o agrieta los engranajes de la torreta, sino que detiene la producción de inmediato, generando costosas piezas rechazadas y largos tiempos de inactividad no planificados. Para evitar estos costosos incidentes, los programadores y operadores deben dominar la configuración segura de las secuencias G12.1 en los controles Fanuc, Siemens y Mitsubishi.
Resumen Técnico
| Atributo | Especificación |
|---|---|
| Código de Comando | G12.1 (Polar Coordinate Interpolation ON), G13.1 (Polar Coordinate Interpolation OFF) |
| Grupo Modal | Group 21 (Fanuc / Siemens / Mitsubishi Group 19 o 21) |
| Marcas Soportadas | Fanuc, Siemens, Mitsubishi |
| Parámetros Críticos | Fanuc Parameter No. 5040 Bit 3, Siemens MD18800, Mitsubishi Parameter #1516 |
| Restricción Principal | G12.1 y G13.1 deben programarse en bloques independientes. La velocidad de corte constante (G96) es matemáticamente incompatible. |
Lectura Rápida
- Preposicionar el eje rotativo: Indexar el C-axis a C0 antes de activar G12.1 para evitar desfases rotacionales y contornos de cara desalineados.
- Mantener comandos de feedrate: Programar un valor F diferente de cero inmediatamente después de G12.1 porque el sistema cambia forzosamente de G95 (feed-per-revolution) a G94 (feed-per-minute).
- Cancelar la compensación de corte: Desactivar la compensación de radio de nariz de herramienta (G41/G42) usando G40 antes de llamar a G13.1 para evitar la corrupción del look-ahead parser.
- Proporcionar doble holgura: Asegurar que las coordenadas de aproximación y retracción excedan el doble del radio de la nariz de la herramienta (cuatro veces en la programación en diámetro) para prevenir alarmas de compensación.
- Evitar la velocidad de corte constante: Cancelar G96 y cambiar a G97 constant RPM antes de entrar al modo de coordenadas polares para evitar conflictos del preprocesador de coordenadas.
- Configurar envolventes de barrera: Habilitar las Chuck and Tailstock Barriers (G22/G23) en el panel de control para detener el movimiento de los ejes antes de que ocurra una colisión física.
Conceptos Básicos
La G12.1 polar coordinate interpolation permite a los programadores programar perfiles complejos en la cara de una pieza torneada como si fueran coordenadas cartesianas planas estándar en un sistema de centro de mecanizado. El preprocesador traduce dinámicamente comandos planos virtuales en impulsos reales de movimiento sincronizado de ejes lineales y rotativos. Esto elimina la necesidad de realizar cálculos trigonométricos complejos para coordinar los ángulos del C-axis con los movimientos del X-axis.
Al configurar y ejecutar perfiles G12.1, se debe mantener una estricta disciplina con respecto a los feed rate modales y las compensaciones de radio de herramienta. Al ejecutar un bloque G12.1, el control cambia forzosamente el feed modal a un feed per minute asíncrono (G94), haciendo que cualquier feed per revolution síncrono previo (G95) quede inactivo. Si no se declara ningún valor de feedrate F dentro del modo G12.1, el feedrate puede caer a cero, activando inmediatamente una alarma y dejando una marca de dwell profunda en una pieza de trabajo arruinada.
Estructura de Comandos
El comando preparatorio G12.1 establece un plano de coordenadas virtual en la cara de la pieza de trabajo. En este modo, el eje rotativo del husillo (C-axis) actúa como un eje lineal virtual perpendicular al eje lineal físico X-axis, permitiendo que coordenadas cartesianas estándar definan la trayectoria de la herramienta. El origen de coordenadas del plano virtual está anclado al punto cero de la pieza de trabajo.
El modo G12.1 permanece activo hasta que se cancela mediante G13.1 o se desactiva por un reinicio del sistema. Tanto los comandos de activación como los de cancelación deben programarse en bloques independientes, lo que significa que ningún comando de movimiento u otras funciones auxiliares pueden ocupar el mismo bloque. Este aislamiento sintáctico asegura que el preprocesador pueda cambiar los modos de cálculo de planos de manera segura.
En los controles Fanuc y Siemens, la activación básica es G12.1; y la desactivación es G13.1;. Los controles Mitsubishi admiten una sintaxis extendida: G12.1 D_ E=_; donde D especifica el eje hipotético y E= asigna el eje rotativo físico. A continuación se detallan los parámetros típicos que influyen en este comportamiento.
| Marca | Parámetro | Descripción |
|---|---|---|
| Fanuc | Parameter No. 5040 Bit 3 (TCT) | Tipo de desplazamiento de la compensación activa de longitud de herramienta |
| Fanuc | Parameter No. 5431 Bit 0 (MDL) | Asignación del grupo modal de G60 |
| Fanuc | Parameter No. 0001 Bit 1 (FCV) | Interruptor de formato de programa heredado de la Series 15 |
| Siemens | MD18800 ($MN_MM_EXTERN_LANGUAGE) | Habilita el sistema de compilación externo ISO Dialect |
| Mitsubishi | Parameter #1516 mill_ax | Nombre físico del eje rotativo para fresado |
| Mitsubishi | Parameter #1293 ext29/bit0 | Permite que el avance síncrono G95 permanezca activo |
Aplicaciones de Marca
Fanuc
Los sistemas Fanuc gestionan la polar coordinate interpolation a través de los códigos modales del Grupo 21, utilizando el Parameter No. 5040 (TCT) para los desplazamientos de compensación de herramienta y el Parameter No. 5431 (MDL) para las asignaciones del grupo modal unidireccional de G60.
Un bloque típico de activación en Fanuc consiste en G12.1; en un bloque independiente, seguido de movimientos cartesianos utilizando las coordenadas X y C, y termina con G13.1;.
| Tipo | Identificador | Descripción / Configuración |
|---|---|---|
| Parameter | Parameter No. 0001 Bit 1 (FCV) | Cambia el compilador del intérprete al formato de programa heredado de la Series 15 (0 o 1) |
| Parameter | Parameter No. 1017 / No. 1019 | Define la configuración de rotación y diámetro por eje (0 o 1) |
| Parameter | Parameter No. 1041 (I_inch) | Establece la unidad de dimensión inicial (0 para métrico, 1 para pulgada) |
| Alarm | Alarm PS0041 | Interferencia en G41/G42: puntos de inicio/fin idénticos bajo compensación |
| Alarm | Alarm PS0306 | Eje desajustado con CNR/CHF: combinación de ejes de movimiento no válida |
| Alarm | Alarm PS0050 | CHF/CNR no permitido en bloque de roscado: chaflán/redondeo en roscado |
| Alarm | Alarm PS0051 | Falta movimiento después de CNR/CHF: el bloque de chaflán/redondeo no está seguido de movimiento |
| Alarm | Alarm PS0052 | El código no es G01 después de CHF/CNR: el bloque de chaflán/redondeo no está seguido de G01 |
| Alarm | Alarm PS0325 | Comando no disponible en programa de forma: código no válido en ciclos enlatados |
| Alarm | Alarm 14800 | La velocidad de trayectoria programada es menor o igual a cero |
Advertencia: Programar G90 en un torno Fanuc System A inicia un ciclo de torneado en lugar del modo absoluto, lo que puede causar movimientos inesperados de la herramienta.
Siemens
Los controles Siemens ejecutan G12.1 bajo el modo ISO Dialect a través de G291, requiriendo el Machine Data MD18800 y el option bit 19800 para compilar los códigos preparatorios.
En el modo ISO Dialect, G12.1; activa las transformaciones cinemáticas TRANSMIT, permitiendo movimientos de coordenadas como G01 G42 X40.0 C-20.0 F150; antes de cancelar mediante G13.1;.
| Tipo | Identificador | Descripción / Configuración |
|---|---|---|
| Parameter | MD18800 ($MN_MM_EXTERN_LANGUAGE) | Habilita el sistema de compilación externo ISO Dialect (0 o 1) |
| Parameter | Option Bit 19800 ($MN_EXTERN_LANGUAGE) | Parámetro de opción que habilita el sistema de compilación externo ISO Dialect (0 o 1) |
| Parameter | MD20050-20080 | Asignaciones de ejes de geometría y definiciones de ejes específicas del canal |
| Alarm | Alarm 61815 | G40 no activo: Compensación de radio de herramienta activa durante la llamada de transformación |
| Alarm | Alarm 61800 | Falta el sistema CNC externo: el parámetro MD18800 o 19800 no está configurado |
| Alarm | Alarm 14800 | La velocidad de trayectoria programada es menor o igual a cero |
| Alarm | Alarm 61811 | Identificador de eje ISO no permitido: eje ISO no mapeado o no permitido |
Advertencia: Intentar llamar a G12.1 mientras la compensación de radio de herramienta (G41/G42) está activa activará la Alarm 61815 y detendrá inmediatamente la turret.
Mitsubishi
Los CNC de Mitsubishi configuran la interpolación de fresado con los parámetros #1516 y #1517, mientras que el parámetro #1293 dicta si el avance por revolución G95 permanece activo.
Los programas de Mitsubishi pueden declarar el eje rotativo físico dinámicamente usando G12.1 D0 E=C;, perfilando características de la cara antes de terminar con G13.1;.
| Tipo | Identificador | Descripción / Configuración |
|---|---|---|
| Parameter | Parameter #1516 mill_ax | Nombre físico del eje rotativo utilizado para la interpolación de fresado |
| Parameter | Parameter #1517 mill_c | Nombre del eje de interpolación de fresado hipotético |
| Parameter | Parameter #8111 Milling Radius | Dicta si las direcciones de coordenadas lineales siguen la programación en radio o diámetro |
| Parameter | Parameter #1533 mill_Pax | Eje de coordenadas lineales para determinar el plano de coordenadas polares |
| Parameter | Parameter #1293 ext29/bit0 | Dicta si el avance síncrono por revolución (G95) permanece activo |
| Parameter | Parameters #1026 a #1028 | Definición de los ejes de geometría básica I, J, K para conversiones de coordenadas |
| Parameter | Parameter #1078 Decpt2 | Configuración de la unidad de comando mínima (Tipo I o Tipo II) |
| Alarm | Program Error P32 | Valor de coordenada programado después de E= (por ejemplo, E=C90.0) |
| Alarm | Program Error P33 | G12.1/G13.1 no escrito en un bloque independiente o falta el delimitador de coma |
| Alarm | Program Error P35 | Valor numérico distinto de 0 o 1 escrito después de la dirección D |
| Alarm | Program Error P128 | Ejecución de G120.1/G121 mientras G12.1 está activo (en versión de software A8 o anterior) |
| Alarm | Program Error P481 | Ejecución de compensación de longitud de herramienta G43/G44 o comando de cambio G10.9 |
| Alarm | Program Error P482 | El nombre del eje definido después de E= no existe dentro del sistema de piezas activo |
| Alarm | Program Error P485 | G12.1 comandado mientras G96 está activo o intento de cancelación de G13.1 antes de G40 |
| Alarm | Alarm E98 | Movimiento inverso manual (G127) o intento de reinicio del programa durante G12.1 |
Advertencia: Si el C-axis no está preposicionado a C0 antes de activar G12.1, el contador de la cara de la pieza se restablece a cero y desfasa angularmente todo el perfil.
Comparación de Marcas
| Tema | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Implementación cinemática | Bucle básico de cálculo de mapeo de coordenadas. | Construido sobre el motor de transformación cinemática TRANSMIT. | Bucle de cálculo de mapeo de coordenadas (con argumentos de asignación de nombre de eje). |
| Sintaxis bilingüe | Rigid standard ISO compilation. | ISO Dialect compilado sin problemas a través del modo G291. | Rigid standard ISO compilation. |
| Activación de parámetros | Activación estándar del compilador. | Se requieren los parámetros de compilación MD18800 y option bit 19800. | Ajustes de parámetros estándar. |
| Feedrate síncrono (G95) | Estrictamente prohibido, solo feed-per-minute G94. | ISO Dialect restringe a G94. | Soportado a través del interruptor del Parameter #1293 ext29/bit0. |
| Configuración directa de ejes | Configuración fija del sistema. | Parámetros de ejes establecidos en MD20050-20080. | Argumentos dinámicos de bloque G12.1 D_ E=_; dentro del programa. |
Análisis Técnico
El análisis de estos sistemas de control revela distintas elecciones arquitectónicas. Fanuc utiliza una estructura de direcciones G-code System A que evita los códigos modales G90/G91, interpretando las variables de coordenadas mediante letras de dirección. Siemens emplea una arquitectura bilingüe, permitiendo transiciones entre ciclos nativos de SINUMERIK (G290) e ISO Dialect (G291) donde G12.1 se mapea en el motor TRANSMIT. Mitsubishi une estas filosofías al admitir G12.1/G13.1 directamente, pero añade argumentos de bloque para la asignación dinámica de ejes.
Se producen variaciones adicionales en la ejecución del look-ahead y en la manipulación de offsets de herramienta. Fanuc detiene la ejecución y provoca errores vectoriales si ocurren más de dos bloques consecutivos sin movimiento en modo de compensación. Siemens y Mitsubishi gestionan colas de look-ahead complejas de forma dinámica. Además, Mitsubishi permite la retención modal de feed-per-revolution G95 si el Parameter 1293 está habilitado, mientras que Fanuc limita estrictamente G12.1 a G94, generando la Alarm 14800 si se omiten los valores de feedrate.
Ejemplos de Programas
Ejemplo 1: Fresado de Cara Fanuc G12.1
G97 S1200 M03;
G00 X40.0 C0 Z3.0;
G12.1;
G01 G42 X20.0 C10.0 F150.0;
G01 X-20.0;
G01 C-10.0;
G01 X20.0;
G01 C10.0;
G40 X40.0 C0;
G13.1;
Análisis de ejecución en seco (dry run): El control indexa el husillo C-axis a C0, cambia el plano de coordenadas al modo virtual XY, activa la compensación de nariz de herramienta G42 en la trayectoria de aproximación, fresa un perfil de cara cuadrado, cancela la compensación de herramienta G40 y sale del modo polar.
Ejemplo 2: Fresado de Cara Siemens G12.1
G291;
G97 S1200 M3;
G0 X40.0 C0 Z3.0;
G12.1;
G1 G42 X20.0 C10.0 F150;
G1 X-20.0;
G1 C-10.0;
G1 X20.0;
G1 C10.0;
G40 X40.0 C0;
G13.1;
G290;
Análisis de ejecución en seco: El controlador ingresa al modo de compilación ISO dialect G291, ejecuta G12.1 para activar el solver cinemático TRANSMIT, realiza el fresado cuadrado, cancela la compensación de herramienta G40, cancela el modo polar G13.1 y regresa al modo nativo de Siemens G290.
Ejemplo 3: Fresado de Cara Mitsubishi G12.1
G17 G90 G00 X40.0 C0 Z3.0;
G12.1 D0 E=C;
G01 G42 X20.0 C10.0 F150;
G01 X-20.0;
G01 C-10.0;
G01 X20.0;
G01 C10.0;
G40 X40.0 C0;
G13.1;
Análisis de ejecución en seco: La máquina configura el plano XY, preposiciona el husillo, comanda G12.1 con mapeo dinámico de ejes para el eje Y virtual y el C-axis físico, ejecuta movimientos lineales, desactiva la compensación de radio G40 y desactiva el modo polar G13.1.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma para el Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | Alarm PS0041 | El centro del arco circular programado es matemáticamente idéntico al punto de inicio/fin bajo G41/G42. | La ejecución se detiene, la turret se detiene y la alarma se muestra en pantalla. | Asegurar que las coordenadas de holgura estén programadas con suficiente holgura (mayor que el doble del radio de la nariz de la herramienta). |
| Siemens | Alarm 61815 | La compensación de radio de herramienta (G41/G42) está activa cuando se llama a G12.1. | El preprocesador del ciclo detiene la ejecución antes del primer movimiento. | Programar G40 para cancelar la compensación de radio de herramienta antes de llamar a G12.1. |
| Mitsubishi | Program Error P485 | G12.1 comandado mientras el control de velocidad de corte constante (G96) está activo. | El control muestra el error de programa P485 y se niega a ejecutar el bloque. | Asegurar que G96 esté cancelado y que las RPM constantes G97 estén activas antes de G12.1. |
Nota de Aplicación
Una parada no planificada debido al error de programa P485 en controles Mitsubishi o a la Alarm 61815 en sistemas Siemens ocurre cuando se intenta cancelar la interpolación polar G13.1 sin desactivar previamente la compensación de radio G40. Si el operador no programa este orden exacto, el preprocesador del control no puede calcular los vectores de retracción y detiene la máquina inmediatamente en medio del ciclo. Esto daña el acabado superficial de la pieza en la zona de transición y añade tiempo de ciclo improductivo debido a la necesidad de reajustar la máquina. Del mismo modo, en controles Fanuc, omitir un valor de avance F diferente de cero después de G12.1 provoca la Alarm 14800, congelando el movimiento de los ejes y dejando una marca de dwell que invalida la pieza. Validar el parámetro MD18800 en Siemens y preposicionar el eje C en C0 en Mitsubishi antes del mecanizado elimina las causas más frecuentes de colisiones de la torreta y asegura la repetibilidad del tiempo de ciclo en series largas.
Red de Comandos Relacionados
- g07.1-cylindrical-interpolation: Actúa sobre una superficie cilíndrica envolvente, mientras que G12.1 interpola en un plano virtual plano.
- g08-look-ahead-control: Prepara los vectores de la trayectoria de la herramienta y evita caídas de feedrate durante transiciones complejas de perfilado.
- g09-exact-stop-non-modal: Fuerza a la máquina a desacelerar hasta una parada completa en las coordenadas de las esquinas, evitando errores de redondeo.
G13.1: Comando de cancelación que termina el modo de interpolación de coordenadas polares y devuelve el sistema de control a las coordenadas de torneado estándar.
Conclusión
La optimización del tiempo de ciclo y la prevención de colisiones en la interpolación polar G12.1 exigen una rutina estricta de preposicionamiento y control de parámetros. Antes de iniciar la producción en masa, es indispensable verificar los límites electrónicos de las barreras del plato (Chuck Barriers), desactivar la compensación de radio con G40 antes de ejecutar G13.1 y realizar una simulación en vacío (ejecución en seco) de la primera pieza. Estas medidas operativas eliminan los tiempos de inactividad causados por alarmas del preprocesador y garantizan la precisión dimensional requerida para evitar piezas rechazadas.
Preguntas Frecuentes (FAQ)
¿Cómo se puede evitar la Alarm 14800 al activar G12.1 en Fanuc o Siemens?
Al activar la interpolación polar G12.1, el sistema cambia forzosamente de avance por revolución (G95) a avance por minuto (G94). Si no se declara un avance F en mm/min en el mismo bloque o inmediatamente después de G12.1, el control evalúa la velocidad de la trayectoria como cero y activa la Alarm 14800. Acción práctica: Inserte siempre un comando de avance modal (por ejemplo, F150.0) inmediatamente después del bloque G12.1 para inicializar el movimiento.
¿Por qué se desfasa angularmente el contorno fresado si no se preposiciona el eje C en Mitsubishi?
Al activar G12.1, el control Mitsubishi restablece automáticamente a cero el contador de la posición del eje C virtual. Si el husillo no está indexado y posicionado en C0 previamente, las coordenadas cartesianas se proyectarán sobre el ángulo aleatorio en el que se encontraba el husillo. Acción práctica: Agregue un comando G00 C0 antes de la línea G12.1 para garantizar la orientación angular correcta de la pieza.
¿Cómo influye el parámetro #1293 en el comportamiento del avance en controles Mitsubishi?
Por defecto, el modo G12.1 anula el avance síncrono y obliga al control a operar en G94. Sin embargo, configurar a 1 el Parameter #1293 ext29/bit0 permite al programador anular esta restricción y mantener activo el avance por revolución (G95) para lograr una carga de viruta constante. Acción práctica: Modifique el Parameter #1293 bit 0 a '1' en la pantalla de parámetros del sistema si desea fresar con avances expresados en mm/rev.
¿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 - 2008)
- Ö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
Comprobación de Retorno a la Posición de Referencia G27: Guía CNC de Ejes
Aprenda a configurar la comprobación de retorno a referencia G27 en controles Fanuc, Siemens y Mitsubishi. Resuelva la Alarma 61816 y optimice parámetros.
Límite de Velocidad de Husillo y Área de Trabajo Superior G26 Siemens
Domine el comando Siemens SINUMERIK G26 para configurar límites del área de trabajo superior y velocidades máximas del husillo. Evite colisiones y paradas de eje.
Monitoreo de Fluctuación de Velocidad de Husillo G26 y Límites CNC
Guía para configurar G26 en controles Fanuc, Siemens y Mitsubishi. Evite la fluctuación de velocidad del husillo, proteja la torreta y reduzca piezas rechazadas.
Límites de Área de Trabajo G25 y Velocidad del Spindle en Siemens CNC
Configure límites de área de trabajo inferiores y velocidad de spindle G25 en Siemens SINUMERIK. Evite colisiones físicas de la turret y reduzca piezas rechazadas.