Skip to main content
CNC.wiki

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.

Hakan Gündoğdu
Hakan Gündoğdu

Cofundador de CNC CARE

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

AtributoEspecificación
Código de ComandoG12.1 (Polar Coordinate Interpolation ON), G13.1 (Polar Coordinate Interpolation OFF)
Grupo ModalGroup 21 (Fanuc / Siemens / Mitsubishi Group 19 o 21)
Marcas SoportadasFanuc, Siemens, Mitsubishi
Parámetros CríticosFanuc Parameter No. 5040 Bit 3, Siemens MD18800, Mitsubishi Parameter #1516
Restricción PrincipalG12.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.

MarcaParámetroDescripción
FanucParameter No. 5040 Bit 3 (TCT)Tipo de desplazamiento de la compensación activa de longitud de herramienta
FanucParameter No. 5431 Bit 0 (MDL)Asignación del grupo modal de G60
FanucParameter No. 0001 Bit 1 (FCV)Interruptor de formato de programa heredado de la Series 15
SiemensMD18800 ($MN_MM_EXTERN_LANGUAGE)Habilita el sistema de compilación externo ISO Dialect
MitsubishiParameter #1516 mill_axNombre físico del eje rotativo para fresado
MitsubishiParameter #1293 ext29/bit0Permite 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;.

TipoIdentificadorDescripción / Configuración
ParameterParameter No. 0001 Bit 1 (FCV)Cambia el compilador del intérprete al formato de programa heredado de la Series 15 (0 o 1)
ParameterParameter No. 1017 / No. 1019Define la configuración de rotación y diámetro por eje (0 o 1)
ParameterParameter No. 1041 (I_inch)Establece la unidad de dimensión inicial (0 para métrico, 1 para pulgada)
AlarmAlarm PS0041Interferencia en G41/G42: puntos de inicio/fin idénticos bajo compensación
AlarmAlarm PS0306Eje desajustado con CNR/CHF: combinación de ejes de movimiento no válida
AlarmAlarm PS0050CHF/CNR no permitido en bloque de roscado: chaflán/redondeo en roscado
AlarmAlarm PS0051Falta movimiento después de CNR/CHF: el bloque de chaflán/redondeo no está seguido de movimiento
AlarmAlarm PS0052El código no es G01 después de CHF/CNR: el bloque de chaflán/redondeo no está seguido de G01
AlarmAlarm PS0325Comando no disponible en programa de forma: código no válido en ciclos enlatados
AlarmAlarm 14800La 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;.

TipoIdentificadorDescripción / Configuración
ParameterMD18800 ($MN_MM_EXTERN_LANGUAGE)Habilita el sistema de compilación externo ISO Dialect (0 o 1)
ParameterOption Bit 19800 ($MN_EXTERN_LANGUAGE)Parámetro de opción que habilita el sistema de compilación externo ISO Dialect (0 o 1)
ParameterMD20050-20080Asignaciones de ejes de geometría y definiciones de ejes específicas del canal
AlarmAlarm 61815G40 no activo: Compensación de radio de herramienta activa durante la llamada de transformación
AlarmAlarm 61800Falta el sistema CNC externo: el parámetro MD18800 o 19800 no está configurado
AlarmAlarm 14800La velocidad de trayectoria programada es menor o igual a cero
AlarmAlarm 61811Identificador 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;.

TipoIdentificadorDescripción / Configuración
ParameterParameter #1516 mill_axNombre físico del eje rotativo utilizado para la interpolación de fresado
ParameterParameter #1517 mill_cNombre del eje de interpolación de fresado hipotético
ParameterParameter #8111 Milling RadiusDicta si las direcciones de coordenadas lineales siguen la programación en radio o diámetro
ParameterParameter #1533 mill_PaxEje de coordenadas lineales para determinar el plano de coordenadas polares
ParameterParameter #1293 ext29/bit0Dicta si el avance síncrono por revolución (G95) permanece activo
ParameterParameters #1026 a #1028Definición de los ejes de geometría básica I, J, K para conversiones de coordenadas
ParameterParameter #1078 Decpt2Configuración de la unidad de comando mínima (Tipo I o Tipo II)
AlarmProgram Error P32Valor de coordenada programado después de E= (por ejemplo, E=C90.0)
AlarmProgram Error P33G12.1/G13.1 no escrito en un bloque independiente o falta el delimitador de coma
AlarmProgram Error P35Valor numérico distinto de 0 o 1 escrito después de la dirección D
AlarmProgram Error P128Ejecución de G120.1/G121 mientras G12.1 está activo (en versión de software A8 o anterior)
AlarmProgram Error P481Ejecución de compensación de longitud de herramienta G43/G44 o comando de cambio G10.9
AlarmProgram Error P482El nombre del eje definido después de E= no existe dentro del sistema de piezas activo
AlarmProgram Error P485G12.1 comandado mientras G96 está activo o intento de cancelación de G13.1 antes de G40
AlarmAlarm E98Movimiento 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

TemaFanucSiemensMitsubishi
Implementación cinemáticaBucle 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üeRigid standard ISO compilation.ISO Dialect compilado sin problemas a través del modo G291.Rigid standard ISO compilation.
Activación de parámetrosActivació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 ejesConfiguració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

MarcaCódigo de AlarmaCondición de ActivaciónSíntoma para el OperadorCausa Raíz / Solución
FanucAlarm PS0041El 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).
SiemensAlarm 61815La 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.
MitsubishiProgram Error P485G12.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.

Preguntar al asistente de IA
Hakan Gündoğdu
Hakan Gündoğdu
  • 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