Skip to main content
CNC.wiki

Guía de Desfase G55 en CNC Siemens: Evitar Colisiones y Alarmas

Domine la programación del desfase de origen G55 en Siemens SINUMERIK. Ajuste MD 24000 para activar el desfase fino y prevenir costosas colisiones en producción.

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

Cofundador de CNC CARE

Introducción

Una desviación imprevista de la trayectoria en un centro de mecanizado o torno CNC de Siemens puede provocar una colisión física catastrófica del revólver portaherramientas (torreta) o del husillo giratorio contra las mordazas de una mordaza de sujeción de la pieza o las garras del plato en cuestión de milisegundos. Si el operario interrumpe un ciclo de mecanizado o realiza un reinicio incompleto mediante el comando G92.1, los ejes no especificados conservan sus desfases remanentes. Al reanudar el mecanizado automático, el cabezal se desplaza según una trayectoria errónea desplazada por el valor de decalaje G55. 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, arruinando la materia prima, rompiendo la herramienta de corte y generando un prolongado tiempo de inactividad no planificado.

Resumen Técnico

PropiedadEspecificación Técnica
Código de ComandoG55
Grupo ModalGrupo 8 (Modal)
FunciónSistema de Coordenadas de la Pieza 2 / Desfase de Origen Configurable 2
Marca SoportadaSiemens (SINUMERIK)
Parámetros CríticosMD 28080 $MC_MM_NUM_USER_FRAMES, MD 24000 $MC_FRAME_ADD_COMPONENTS
Restricciones PrincipalesLos desfases finos requieren MD 24000 = 1; alternancia de modo de compilador mediante G290 y G291 para compatibilidad con G10.

Lectura Rápida

  • Desplazamiento del Origen: Programe G55 para seleccionar el segundo desfase de origen configurable, desplazando el origen desde el cero absoluto de la máquina (M) al sistema de coordenadas de la pieza (W).
  • Registro de Componente Dual: Gestione los desfases de origen a través de componentes de desfase coarse (basto) y fine (fino), que se suman matemáticamente para determinar el punto cero activo de la pieza.
  • Alternancia de Compilador Bilingüe: Cambie al modo ISO Dialect usando G291 para ejecutar bloques de escritura de desfase heredados G10 L2 P2, luego regrese al modo nativo SINUMERIK con G290.
  • Enclavamiento de Desfase Axial: Configure el parámetro de máquina MD 24000 $MC_FRAME_ADD_COMPONENTS = 1 antes de escribir o ejecutar desfases axiales mediante G58/G59 con G55 para evitar fallos del sistema.
  • Riesgo de Sustitución de Marco: Evite ejecutar un comando TRANS solo en subprogramas para borrar desplazamientos, ya que sustituye todos los marcos activos y elimina las rotaciones de coordenadas o la simetría.
  • Omitir Bloque Independiente: Active los caracteres de omisión de bloque / y /1 por separado en los ajustes del control, ya que Siemens los trata como canales de omisión de bloque independientes.

Conceptos Básicos

La activación del desfase de origen G55 en los controles Siemens desplaza el origen del sistema de coordenadas del programa desde el punto cero absoluto de la máquina (M) directamente al punto de referencia local de la pieza (W). Los movimientos posicionales que siguen a G55 se programan en este sistema de coordenadas de la pieza. La distancia real entre el cero de la máquina y el cero de la pieza depende completamente del tipo de pieza y de cómo esté sujeta físicamente. En aplicaciones de torneado, este desfase de origen se introduce normalmente para compensar la holgura de apriete del chuck (plato). Para aplicaciones de centros de mecanizado, el desfase define la distancia física desde el punto cero básico de la máquina hasta el origen de la pieza ubicado en un utillaje de sujeción. Cada desfase de origen de usuario individual (G54 a G599) consta de un coarse offset (desfase basto) y un fine offset (desfase fino). Cuando se llama a G55 en un programa, los desfases basto y fino se suman matemáticamente para determinar el punto cero activo de la pieza.

La implementación del sistema de coordenadas de la pieza G55 (a menudo denominado G55 Workpiece Coordinate System) en un control Siemens desplaza los registros de coordenadas absolutas activas en relación con el sistema de coordenadas básico de la máquina. Este comando preparatorio establece un punto cero de programa localizado directamente en la materia prima, lo que permite a los programadores definir trayectorias de herramienta en relación con la geometría física de la pieza en lugar de con el plano de referencia de la máquina.

Estructura de Comandos

En el modo nativo Siemens SINUMERIK, G55 es una función preparatoria modal que pertenece al grupo de G 8. Cuando se ejecuta G55, las coordenadas de posicionamiento absoluto posteriores se referencian al segundo desfase de origen configurable. Este desfase permanece activo en el canal hasta que se desactiva seleccionando un desfase de origen diferente, como el G54 Workpiece Coordinate System, o seleccionando el marco cero G500.

Al compilar programas ISO heredados, el control debe cambiarse al modo ISO Dialect a través de G291. Bajo este modo de compilador, los programadores pueden escribir o actualizar el registro G55 utilizando el comando de configuración de datos G10 L2 P2. Aquí, la dirección L2 especifica la entrada de datos estándar del sistema de coordenadas de la pieza, y la dirección P2 selecciona el segundo sistema de coordenadas de la pieza, correspondiente a G55.

; Sintaxis del modo nativo de Siemens
G55

; Sintaxis del modo ISO Dialect (activado mediante G291) G10 L2 P2 X__ Y__ Z__

  • G55: Selecciona el segundo desfase de origen configurable / sistema de coordenadas de la pieza.
  • G10: Activa la entrada de datos programable para modificar los registros de desfase.
  • L2: Especifica la entrada de datos de coordenadas de desfase de la pieza estándar.
  • P2: Designa el registro de desfase de origen G55 (se asigna a G55 en el modo ISO Dialect).
  • X, Y, Z: Coordenadas que representan desfases absolutos (bajo G90) o adiciones incrementales (bajo G91).

Aplicaciones de Marca

Siemens

En los controles Siemens SINUMERIK, el desfase de origen G55 desplaza el sistema de referencia de coordenadas desde las coordenadas absolutas de la máquina a las coordenadas locales de la pieza. La configuración del sistema y de la memoria de desfases se gestiona mediante parámetros de datos de máquina (MD) específicos. El control utiliza un intérprete bilingüe para la transición entre la programación nativa de SINUMERIK y las instrucciones heredadas de ISO Dialect.

CategoríaElemento / CódigoDescripción / Condición
ParámetrosMD 28080 $MC_MM_NUM_USER_FRAMESDefine el número total de marcos de usuario ajustables/desfases de origen configurables (G54 a G57, G505 a G599) asignados en la memoria del control.
ParámetrosMD 18601 $MN_MM_NUM_GLOBAL_USER_FRAMESConfigura el número máximo de marcos de usuario globales disponibles (rango de valores: 1 a 93).
ParámetrosMD 24000 $MC_FRAME_ADD_COMPONENTSHabilita los desfases finos. Debe establecerse en 1 para escribir o ejecutar desfases axiales mediante G58/G59 junto con G55. Si se establece en 0, el uso de G58/G59 provocará un fallo del sistema.
ParámetrosMD 20734 $MC_EXTERN_FUNCTION_MASK (Bit 13)Fuerza una parada interna del preprocesador (STPPRE) durante los comandos de escritura G10 para garantizar la sincronización inmediata de las coordenadas en el bloque de ejecución principal.
ParámetrosMD 18800 $MN_MM_EXTERN_LANGUAGEActiva el intérprete de lenguaje NC externo necesario para procesar los códigos G de ISO y el modo de compilación G291.
ParámetrosMD 20150 $MC_GCODE_RESET_VALUES[3]Determina el código G activo predeterminado del Grupo 8 al reiniciar o encender (el valor predeterminado es 1, que corresponde a G500).

Los operarios deben configurar las limitaciones del área de trabajo (G25/G26 o WALIMON/WALIMOF) para definir zonas de protección electrónicas activas alrededor de equipos sensibles como el revólver portaherramientas (torreta), las estaciones de medición o el husillo. Esto protege los sistemas de sujeción de la pieza de sobrecorridos accidentales cuando se ejecutan cambios de desfase G55.

Comparación de Marcas

Tema de ComparaciónSINUMERIK 840D sl / 828DSINUMERIK 802D sl
Parámetros de Datos de MáquinaLos parámetros de datos de máquina (como MD 10604, MD 10706, MD 20154) son completamente ajustables por el programador o el operario de configuración.Los parámetros de la máquina están bloqueados y no pueden ser ajustados por el operario; los marcos de usuario globales están fijos.
Opciones de Torneado de Múltiples FilosAdmite funciones preparatorias de torneado avanzado G51.2 (torneado de múltiples filos ON) y G50.2 (OFF).Las funciones preparatorias G51.2 y G50.2 están omitidas en el compilador del control.
Opciones de Prevención de ColisionesIncluye paquetes integrales de prevención de colisiones y límites de área de trabajo dinámicos.Carece de opciones avanzadas de prevención de colisiones de la máquina; depende únicamente de los parámetros de límite estándar.

Análisis Técnico

Tres comportamientos programáticos y arquitectónicos clave diferencian claramente a los controles Siemens de los controles Fanuc y Mitsubishi durante el manejo y la programación de los desfases de origen:

Primero, Siemens funciona en un modelo de compilador bilingüe alternado (G290/G291) para procesar los códigos G estándar. Mientras que los controles Fanuc y Mitsubishi interpretan los desfases de coordenadas y los desplazamientos de registros de forma nativa dentro de un único flujo continuo de programa, Siemens requiere que el programador cambie explícitamente el compilador al modo ISO Dialect a través de G291 para compilar bloques que contienen estilos ISO heredados, como las entradas de desfase G10. Luego, el programa debe ordenar G290 para volver al modo nativo SINUMERIK para procesar marcos paramétricos avanzados (TRANS/ROT/SCALE/MIRROR) y desfases de origen nativos.

Segundo, Siemens gestiona las transformaciones de coordenadas como componentes dinámicos y modulares de una pila de memoria de "marcos" (frames). G55 sirve como el marco configurable base. Sobre este marco G55 de línea base, los programadores pueden encadenar dinámicamente desfases absolutos programables (TRANS/ROT/SCALE/MIRROR) o modificadores aditivos (ATRANS/AROT/ASCALE/AMIRROR) dentro del mismo bloque de programa. Sin embargo, los marcos absolutos son instrucciones sustitutivas. Programar un comando TRANS solo para borrar un desplazamiento temporal desactiva automáticamente todas las demás transformaciones de marcos activas (como las rotaciones de coordenadas o la simetría), borrando inesperadamente la configuración actual de la pieza. En Fanuc y Mitsubishi, la simetría, el escalado y las rotaciones pertenecen a grupos modales independientes que se pueden cancelar individualmente sin afectar a los registros de coordenadas no relacionados.

Tercero, Siemens trata los niveles de omisión de bloque como canales separados e independientes. A diferencia del ISO Dialect original, donde los caracteres de omisión / y /1 representan exactamente el mismo nivel, Siemens trata / y /1 como niveles de omisión independientes que deben activarse por separado. Si un operario ejecuta un programa heredado que contiene ambos estilos de omisión en un control Siemens sin configurar por separado estos niveles de omisión, los bloques diseñados para omitirse pueden ejecutarse, lo que resulta en desplazamientos inesperados de los ejes y colisiones catastróficas de las piezas.

Ejemplos de Programas

N10 G90 G710 G40 ; Establece el modo nativo de Siemens, coordenadas absolutas, unidades métricas y cancela la compensación del radio de la herramienta
N20 G291 ; Cambia el compilador al modo ISO Dialect para procesar bloques heredados
N30 G10 L2 P2 X-250.5 Y-150.0 Z-400.2 ; Escribe las coordenadas de decalaje de la pieza en G55 (P2)
N40 G290 ; Cambia el compilador de vuelta al modo nativo Siemens SINUMERIK
N50 G55 G00 X0 Y0 ; Activa el desfase de origen configurable G55 y posiciona en rápido X e Y al origen
N60 T1 D1 M3 S1500 ; Carga la herramienta T1, activa el filo D1 e inicia el husillo a la derecha a 1500 rpm
N70 G00 Z50.0 ; Se mueve en rápido el eje Z a la altura de seguridad
N80 G01 Z-5.0 F150.0 ; Desplaza linealmente la herramienta a una profundidad de Z-5.0 a 150.0 mm/min
N90 TRANS X20.0 Y20.0 ; Establece un marco de desfase programable absoluto relativo a G55
N100 G01 X30.0 Y30.0 ; Ejecuta un movimiento lineal relativo al origen de coordenadas desplazado
N110 TRANS ; Desactiva el desfase programable, regresando al punto cero de referencia G55
N120 G00 Z100.0 M5 ; Retrae la herramienta a la altura de seguridad y detiene el husillo
N130 G500 G00 X0 Y0 Z0 ; Desactiva los marcos configurables mediante G500 y regresa al cero de la máquina
N140 M30 ; Finaliza la ejecución del programa y rebobina la memoria

Análisis de la Ejecución en Seco (Dry Run)

  • N10: Establece el modo nativo de Siemens SINUMERIK de coordenadas absolutas (G90), dimensionamiento métrico (G710) y cancela la compensación del radio de la herramienta (G40).
  • N20: Cambia el intérprete del compilador al modo ISO Dialect (G291) para procesar el formato de bloque heredado.
  • N30: Programa valores absolutos de desfase de coordenadas de la pieza para G55 (P2) en X-250.5, Y-150.0 y Z-400.2 usando G10 L2.
  • N40: Cambia el intérprete del compilador de vuelta al modo nativo de Siemens (G290) para ejecutar marcos nativos.
  • N50: Selecciona el segundo marco de usuario de desfase de origen configurable (G55) y realiza un posicionamiento rápido (G00) de los ejes X e Y al origen de coordenadas local del programa (X0, Y0).
  • N60: Selecciona la herramienta T1, activa el registro de parámetros de herramienta de filo de corte D1 e inicia la rotación del husillo en sentido horario a 1500 rpm (M3).
  • N70: Mueve en rápido el eje Z a una altura de separación de seguridad de Z50.0 en relación con el cero de la pieza G55 activo.
  • N80: Mueve la herramienta linealmente (G01) a una profundidad de corte de Z-5.0 a un avance de 150.0 mm/min.
  • N90: Aplica programáticamente un marco de traslación de coordenadas absolutas (TRANS X20.0 Y20.0), desplazando el origen del sistema de coordenadas de la pieza activo en 20.0 mm a lo largo de los ejes X e Y en relación con G55.
  • N100: Mueve de forma lineal la herramienta a las coordenadas X30.0, Y30.0 evaluadas en relación con el origen de coordenadas local recién desplazado.
  • N110: Ejecuta un comando TRANS solo, sin entradas de ejes, que actúa como una instrucción sustitutiva para desactivar todos los componentes de marco programables activos, regresando el origen de coordenadas activo directamente al marco G55 de línea base.
  • N120: Retrae en rápido el eje Z a Z100.0 y ordena una parada de husillo (M5).
  • N130: Desactiva el marco de usuario de desfase de origen configurable G55 usando G500 y posiciona en rápido los ejes de la máquina de vuelta al cero de coordenadas de la máquina (X0 Y0 Z0).
  • N140: Finaliza la ejecución del programa y rebobina la memoria del control (M30).

Análisis de Errores

Código de AlarmaCondición de ActivaciónSíntoma del OperarioCausa Raíz / Solución
Siemens Alarm 18312El programa intenta escribir o ejecutar desfases axiales mediante G58 o G59 con G55 mientras el parámetro de máquina MD 24000 está ajustado en 0.La ejecución se detiene instantáneamente; el panel de control muestra "channel %1 block %2 frame: Fine offset not configured".Causa Raíz: Los desfases finos están desactivados en la configuración de la máquina. Solución: Ajuste el parámetro MD 24000 $MC_FRAME_ADD_COMPONENTS = 1 para habilitar los desfases finos.
Siemens Alarm 14800Se ordena un movimiento (como G01) pero el avance de trayectoria programado activo F se evalúa como F0, y la función "Fixed feedrates" no está activa.La ejecución se detiene; el control muestra "Channel %1 Set %2 programmed path velocity is less than or equal to zero".Causa Raíz: Se ordena desplazamiento con avance cero. Solución: Especifique un valor de avance no nulo F en el bloque activo o en los modales.
Siemens Alarm 14060El nivel de omisión de bloque programado se evalúa con un valor fuera de rango (menor que 1 o mayor que 9).La ejecución se detiene; el control muestra "Impermissible skip level for differential block skip".Causa Raíz: Entrada de nivel de omisión no válida. Solución: Especifique un nivel de omisión de bloque estrictamente dentro del rango de 1 a 9.
Siemens Alarm 12080El compilador del control procesa comandos no reconocidos o conflictos de formato (como ejecutar comandos nativos de SINUMERIK como G500 bajo el modo ISO G291).La ejecución se detiene; el panel de control muestra "Syntax error / Unknown block".Causa Raíz: Comandos nativos compilados bajo modo ISO. Solución: Garantice la sintaxis correcta del código G o cambie al modo nativo (G290) antes de ordenar instrucciones nativas.

Nota de Aplicación

La rotura inmediata de la herramienta de carburo de corte por impacto directo contra el utillaje y las consiguientes paradas no planificadas se evitan configurando correctamente los límites electrónicos de la máquina mediante los comandos G25/G26 o WALIMON/WALIMOF. Validar el parámetro de máquina MD 24000 $MC_FRAME_ADD_COMPONENTS = 1 elimina la causa más frecuente de parada no planificada al usar este comando, que es el Alarm 18312 surgido al intentar aplicar decalajes axiales G58/G59 junto con G55 si el desfase fino no está configurado. Al asegurar que el parámetro MD 24000 está activo en el control, el programador garantiza que los decalajes basto y fino se adicionen correctamente sin provocar fallos de ejecución. Implementar estas salvaguardas reduce drásticamente el riesgo de colisiones del revólver portaherramientas (torreta) o del husillo, protegiendo tanto las guías de los ejes como los husillos de bolas de precisión.

Red de Comandos Relacionados

  • G54 a G57, G505 a G599 (Desfases de Origen Configurables): Llama a los marcos de usuario de desfase de origen configurables primarios y posteriores para definir el sistema de coordenadas de la pieza activo. Enlace: G54 Settable Zero Offset o G54 Workpiece Coordinate System
  • G53 / G153 / SUPA (Supresión de Desfase): Desactiva de forma no modal los desfases de origen configurables activos, los marcos programables y los marcos básicos para permitir un posicionamiento seguro de los ejes en relación con el cero de coordenadas de la máquina.
  • TRANS / ATRANS (Desfases de Origen Programables): Aplica traslaciones de coordenadas absolutas o aditivas, desplazando el origen de coordenadas en relación con el cero de la pieza G55 activo.
  • G58 / G59 (Desfases Programables Axiales): Reemplaza o añade componentes de traslación del desfase de origen programable para ejes específicos, actuando como desfases basto absoluto y fino aditivo.
  • G290 / G291 (Selección del Modo de Compilador): Alterna el intérprete del control entre el modo nativo Siemens SINUMERIK y el modo heredado ISO Dialect.

Conclusión

Optimizar la productividad en Siemens SINUMERIK exige que toda llamada al desfase de origen G55 esté emparejada obligatoriamente con subprogramas de cancelación estructurados, verificando que los parámetros de cuadro de decalaje fino estén habilitados en memoria. Establecer una rutina estricta de verificación de los registros coarse y fine en la pantalla de decalajes antes de la ejecución en automático minimiza drásticamente los errores dimensionales, la producción de piezas de desecho y los tiempos de inactividad forzados.

Preguntas Frecuentes (FAQ)

¿Cómo se activa y configura el desfase fino con G55 en un control Siemens?

Para poder aplicar desfases finos sin generar alarmas, se debe verificar que el parámetro de máquina MD 24000 $MC_FRAME_ADD_COMPONENTS esté ajustado en 1. Después de modificar este parámetro, ejecute un reinicio del control (Reset) para cargar la estructura de memoria de decalaje fino antes de reanudar el mecanizado.

¿Qué causa el error Alarm 18312 al programar desfases de origen junto a G55?

Este error ocurre porque el control intenta ejecutar una corrección axial acumulativa (G58 o G59) pero no encuentra configurada la memoria de desfase fino. Para corregirlo en producción, acceda a los parámetros del canal del sistema NC y configure MD 24000 en 1, lo que habilitará los registros de ajuste axial.

¿Por qué un comando TRANS vacío puede arruinar la alineación de la pieza en G55?

El comando TRANS es una instrucción sustitutiva que borra todas las rotaciones (ROT), escalas (SCALE) y simetrías (MIRROR) activas si se programa de forma independiente sin ejes. Para mantener la alineación espacial de la pieza intacta durante el mecanizado, utilice siempre la variante aditiva ATRANS para realizar pequeñas correcciones o reconstruya la estructura de transformación completa tras una cancelación.

¿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