Skip to main content
CNC.wiki

Guía de Programación de Decalaje de Origen G57 para Siemens SINUMERIK

Aprenda a programar el decalaje de origen ajustable G57 en controles Siemens SINUMERIK. Evite colisiones y resuelva la alarma Alarm 18312 con MD 24000.

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

Cofundador de CNC CARE

Introducción

Si un operador interrumpe un programa CNC a mitad de un ciclo o reinicia el control sin borrar los registros de coordenadas activos, el sistema Siemens SINUMERIK retiene el decalaje de origen G57 en segundo plano. Si el operador realiza posteriormente un cambio manual de herramienta en la turret o mueve los ejes sin limpiar estos registros activos, reanudar la ejecución automática del ciclo hace que la turret se desplace a lo largo de una trayectoria desviada y sin retraer. En estas condiciones, el spindle o la turret dirigen la herramienta directamente hacia una brida de fixture montada en la mesa, la mordaza de una mordaza de sujeción o las garras giratorias del chuck. Esta colisión severa rompe la herramienta de corte de carburo, dobla los husillos de bolas de los ejes, activa una alarma de sobrecarga de accionamiento y convierte el material en bruto en una pieza rechazada. Ajustar correctamente el decalaje de origen G57, verificar los registros activos y utilizar límites de zona de trabajo electrónicos son fundamentales para evitar estas costosas paradas no planificadas en el taller.

Resumen Técnico

Atributo TécnicoEspecificación
Código de ComandoG57
Grupo ModalModal. Grupo 8 (Decalajes de origen ajustables).
Marcas CompatiblesSiemens (serie SINUMERIK)
Parámetros CríticosMD 28080 ($MC_MM_NUM_USER_FRAMES), MD 24000 ($MC_FRAME_ADD_COMPONENTS).
Restricción PrincipalLos decalajes de origen finos requieren MD 24000 configurado en 1. La escritura programática mediante G10 bajo ISO Dialect (G291) requiere MD 18800 configurado en 1 y MD 20734 Bit 13 configurado en 1 para forzar una parada de preprocesador.

Lectura Rápida

  • Desplazamiento de Referencia: G57 desplaza el sistema de coordenadas de la pieza activo desde el cero máquina absoluto (MCS) a un origen de pieza localizado (WCS 4) para alinear las trayectorias de herramienta con la geometría de la pieza.
  • Intérprete Bilingüe: La activación de G57 mediante comandos ISO G10 externos requiere cambiar el compilador al modo G291, mientras que las estructuras (frames) nativas de SINUMERIK deben ejecutarse bajo G290.
  • Configuración de Decalaje Fino: Los operadores deben configurar MD 24000 ($MC_FRAME_ADD_COMPONENTS) en 1 para habilitar la suma de decalajes finos, lo que evita la Alarm 18312 durante los desplazamientos aditivos.
  • Sincronización del Preprocesador: La escritura programática de decalajes en el modo ISO Dialect requiere configurar MD 20734 Bit 13 en 1 para ejecutar una parada de preprocesador (STPPRE) automática para la sincronización inmediata del bloque de ejecución.
  • Protección Contra Colisiones: Los operadores de preparación deben utilizar los límites de zona de trabajo programables G25/G26 (WALIMON) para definir zonas de exclusión activas que protejan los componentes del spindle.
  • Valores por Defecto de Reinicio: Configurar MD 20150 $MC_GCODE_RESET_VALUES[7] en G500 para borrar automáticamente los decalajes de origen ajustables al encender o reiniciar el control numérico (NC).

Conceptos Básicos

La programación práctica del decalaje de origen G57 en controles Siemens desplaza el origen del sistema de coordenadas del programa desde el punto cero absoluto de la máquina (MCS) directamente a un cero de pieza localizado (WCS), lo que permite a los programadores evaluar las trayectorias de la herramienta en relación con la geometría de la pieza. La distancia real entre el cero máquina y el cero pieza depende enteramente del tipo de pieza y de cómo esté sujeta físicamente. En aplicaciones de torneado, este decalaje de origen se introduce normalmente para compensar la holgura de apriete del chuck. Para aplicaciones de centro de mecanizado, G57 se ajusta para definir la distancia física desde el cero máquina hasta el punto cero de la pieza de trabajo ubicado directamente en una brida de fixture o mordaza de sujeción. Los contornos simétricos o las configuraciones múltiples se pueden mecanizar dinámicamente estableciendo orígenes de coordenadas independientes. Por ejemplo, tres piezas idénticas dispuestas en un pallet se pueden mecanizar sucesivamente de acuerdo con los decalajes de origen G54, G55 y G56 (o G57), mientras se ejecuta un solo subprograma (como L47), reduciendo drásticamente el tamaño del programa.

Cada decalaje de origen de usuario individual (G54 a G599) consta de un decalaje de origen grueso (coarse offset) y un decalaje de origen fino (fine offset), y los decalajes grueso y fino se suman matemáticamente para determinar el cero pieza activo. Los operadores de preparación y los programadores deben mantener una vigilancia absoluta con respecto al registro de decalajes de coordenadas y los límites activos durante la ejecución del programa. Si un operador realiza un preajuste manual de cero, mueve el eje manualmente durante un desplazamiento activo o ejecuta un reinicio con argumentos de eje incompletos, los ejes restantes conservarán sus valores desplazados. Si un programa se aborta a mitad de ciclo o se reinicia antes de que se haya ejecutado una cancelación del decalaje G57, el decalaje permanece activo en segundo plano. Si el operador realiza un cambio de herramienta en la turret o mueve los ejes sin borrar los registros de decalaje activos, reanudar la ejecución automática del ciclo puede hacer que la turret se desplace a lo largo de una trayectoria no retraída. Bajo estas condiciones, el spindle o la turret pueden dirigir la herramienta directamente hacia una brida de fixture montada en la mesa, una mordaza de sujeción de la pieza o las garras giratorias del chuck, lo que resulta en una colisión severa catastrófica.

Estructura de Comandos

El comando G57 es una función preparatoria modal que establece el cuarto frame de decalaje de origen ajustable por el usuario. Una vez seleccionado, todas las coordenadas de posicionamiento absoluto (G90) se evalúan en relación con el origen de coordenadas de G57. G57 permanece activo en la memoria de control hasta que otro comando de decalaje de trabajo lo reemplace o un reinicio del sistema borre los registros activos.

En el modo nativo de Siemens (G290), G57 se llama directamente como una instrucción independiente o dentro de un bloque de movimiento. Bajo el modo ISO Dialect (G291), las coordenadas se escriben en los registros de decalaje G57 usando bloques de entrada de datos G10. Esto permite actualizaciones de coordenadas controladas por el programa durante los ciclos automatizados.

; Modo Nativo SINUMERIK:
G57 ;
G90 G57 G00 X__ Y__ Z__ D__ ;

; Modo ISO Dialect: G291 ; G10 L2 P4 X__ Y__ Z__ ; G290 ;

Dirección / SímboloFunción en el ComandoContexto de Aplicación
X, Y, ZCoordenadas de destino de posición absoluta.Especifica los destinos de llegada evaluados desde el punto cero G57 activo.
DNúmero de corrector de filo de corte.Selecciona la compensación de herramienta activa (de D1 a D12, D0 para cancelar la compensación).
G10Entrada de datos programable.Instruye al procesador del control numérico (NC) para escribir datos en los registros de decalaje de trabajo.
L2Grupo de entrada de datos de decalaje de la pieza de trabajo.Especifica los decalajes de coordenadas de trabajo estándar en bloques G10.
P4Código de selección del registro de coordenadas.P4 selecciona el registro de decalaje de trabajo G57 en el modo ISO Dialect.

Aplicaciones de Marca

Siemens

El controlador Siemens gestiona G57 como un frame de usuario dinámico almacenado en memoria. El sistema asigna los decalajes de trabajo utilizando el dato de máquina MD 28080 ($MC_MM_NUM_USER_FRAMES). La activación del intérprete del compilador para código ISO externo se controla a través de MD 18800 ($MN_MM_EXTERN_LANGUAGE).

Un bloque de G-code típico para activar este decalaje en el modo nativo de Siemens: G57 G17 G90 G00 X100.0 Y50.0 Z10.0 T1 D1. En este bloque, el control desplaza el sistema de coordenadas activo a G57, selecciona el plano XY (G17), activa la compensación del corrector de herramienta (D1) y posiciona rápidamente los ejes.

  • MD 28080 $MC_MM_NUM_USER_FRAMES: Configura el número total de decalajes ajustables por el usuario asignados en la memoria del control (los estándar de G54 a G57 y los extendidos de G505 a G599).
  • MD 24000 $MC_FRAME_ADD_COMPONENTS: Habilita los componentes de decalaje de origen fino cuando se configura en 1. Si se configura en 0, la escritura de decalajes finos activa la Alarm 18312.
  • MD 20734 $MC_EXTERN_FUNCTION_MASK (Bit 13): Fuerza una parada interna del preprocesador (STPPRE) durante los comandos de escritura G10 para asegurar una sincronización instantánea.
  • Alarm 18312: Decalaje fino no configurado. Ocurre al intentar escribir decalajes finos aditivos (G59) mientras MD 24000 está desactivado.
  • Alarm 14800: La velocidad de trayectoria programada es menor o igual a cero. Ocurre si se programa un movimiento de avance después de G57 sin una velocidad F activa.
  • Alarm 61800: Sistema CNC externo ausente. Se activa si se cambia al modo ISO Dialect G291 mientras MD 18800 está desactivado.
  • Diferencias de Versión: SINUMERIK 840D sl es compatible con paneles multitáctiles de pantalla ancha con ventanas estándar minimizadas y opciones avanzadas de evasión de colisiones, mientras que los controles compactos 802D sl tienen parámetros de geometría bloqueados (como MD 10604) y restringen las opciones de pantalla lateral personalizadas.

Warning: La ejecución de código ISO heredado con niveles de omisión de bloque (block skip) / y /1 separados puede dar como resultado un movimiento inesperado de los ejes si no se activan de forma independiente en la configuración de Siemens.

Comparación de Marcas

Debido a que el filtro de marca restringe este artículo a los sistemas Siemens SINUMERIK, esta sección compara la configuración y las capacidades del decalaje de origen G57 en las diferentes series de control Siemens SINUMERIK. Seleccionar la serie de control correcta determina cómo se comportan en el taller los decalajes de origen, los ajustes de parámetros y los sistemas de prevención de colisiones.

Serie de ControlArquitectura de DecalajesSeguridad y Prevención de ColisionesAcceso a Parámetros y Personalización
SINUMERIK 840D slPila de frames dinámica y modular con compatibilidad para componentes de transformación coarse (gruesos), fine (finos) y encadenados.Admite opciones completas de software de "Evasión de colisiones" multicanal y pantallas multitáctiles de pantalla ancha.Todos los datos de máquina (incluido el modo de cambio de eje geométrico MD 10604) están desbloqueados y son configurables.
SINUMERIK 828DPila de frames estándar compatible con los decalajes de origen estándar de G54 a G57 y hasta 99 decalajes extendidos (de G505 a G599).Monitoreo básico de límites de eje e interruptores de límite de software, pero sin evasión de colisiones multicanal avanzada.Los parámetros son accesibles a través de interruptores de llave estándar (niveles de protección 2/7), con límites de canal preconfigurados.
SINUMERIK 802D sl / CompactoMemoria básica de decalaje de origen con asignaciones de registro fijas y matrices de decalaje extendidas limitadas.Interruptores de límite de hardware estándar; no admite opciones dinámicas de evasión de colisiones.Los parámetros cruciales de datos de máquina (como MD 10604) están bloqueados y el operador no los puede cambiar.

Análisis Técnico

El comportamiento arquitectónico del manejo de decalajes de origen en los controles Siemens se basa en una pila de memoria de "frames" dinámica y modular. En lugar de almacenar los decalajes de origen como registros de coordenadas rígidos y absolutos, Siemens trata a G57 como un frame ajustable de línea base. Sobre este frame G57 de línea base, los programadores pueden encadenar dinámicamente decalajes absolutos programables (TRANS, ROT, SCALE, MIRROR) o modificadores aditivos (ATRANS, AROT, ASCALE, AMIRROR) dentro del mismo bloque de programa. Estos frames se pueden suprimir de forma global o selectiva utilizando comandos de supresión multinivel (G53, G153, SUPA o G500) según los parámetros activos. Esto proporciona una flexibilidad de programación significativamente mayor en comparación con los sistemas de coordenadas absolutos tradicionales.

Siemens también opera con un modelo de compilador bilingüe alternable. El controlador requiere que el programador cambie explícitamente el compilador al modo ISO Dialect a través G291 para compilar bloques que contengan estilos ISO heredados, como entradas de decalaje G10 o selecciones G57. Luego, el programa debe ordenar G290 para volver al modo nativo SINUMERIK para procesar frames paramétricos avanzados y decalajes de origen nativos. Además, Siemens asigna los niveles de omisión de bloque heredados como canales independientes y separados. A diferencia de los intérpretes ISO estándar donde los caracteres de omisión / y /1 representan exactamente el mismo nivel, Siemens trata / y /1 como niveles de omisión separados que deben activarse de forma independiente. Si un operador 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 un desplazamiento inesperado de los ejes y colisiones catastróficas de la pieza de trabajo.

Ejemplos de Programas

Ejemplo de G-Code de Siemens

; Siemens: G290 ; Cambiar compilador al modo nativo Siemens SINUMERIK
; Siemens: G57 G17 G90 G00 X100.0 Y50.0 Z10.0 T1 D1 ; Selecciona el decalaje de coordenadas G57, selecciona plano XY, posicionamiento rápido absoluto
; Siemens: TRANS X15.0 Y10.0 ; Establece el frame de decalaje de origen absoluto programable relativo al WCS G57 activo
; Siemens: G291 ; Cambiar compilador al modo ISO Dialect para procesar bloques heredados
; Siemens: G10 L2 P4 X-300.0 Y-150.0 Z-50.0 ; ISO Dialect: Escribe programáticamente coordenadas en los registros de decalaje G57 (P4)
; Siemens: G290 ; Volver al modo nativo de Siemens
; Siemens: G00 Z200.0 M5 ; Retración rápida del eje Z

ejecución en seco (dry run)

Durante una ejecución en seco, el programador avanza a través de los bloques NC. Primero, G290 cambia el compilador al modo nativo Siemens SINUMERIK. A continuación, el control selecciona el decalaje de origen ajustable G57, establece el plano XY (G17), activa la compensación de herramienta (T1 D1) y desplaza en rápido el spindle a las coordenadas absolutas X100.0, Y50.0 y Z10.0 con relación al origen G57. Luego, se ejecuta el decalaje absoluto programable TRANS X15.0 Y10.0, desplazando el origen del programa X+15.0 e Y+10.0 respecto a G57. El comando G291 luego cambia el compilador al modo ISO Dialect. Mientras está en modo ISO, el bloque G10 L2 P4 escribe los nuevos valores de decalaje (X-300.0, Y-150.0, Z-50.0) directamente en los registros de decalaje G57 (P4) sin generar un movimiento de trayectoria de herramienta inmediato. Finalmente, el compilador regresa al modo nativo (G290) y retrae el eje Z de manera segura a Z200.0.

Análisis de Errores

Al programar decalajes de origen en controles Siemens SINUMERIK, conflictos de parámetros específicos o errores de sintaxis pueden detener la máquina. La siguiente tabla enumera las alarmas comunes, sus causas y cómo resolverlas en el taller.

Código de AlarmaCondición de ActivaciónSíntoma para el OperadorCausa Raíz / Solución
Siemens Alarm 18312El programa intenta escribir o ejecutar un decalaje de origen axial mediante G59 (decalaje fino aditivo) con G57 cuando MD 24000 es 0.El control detiene la ejecución, muestra "Fine offset not configured" (decalaje fino no configurado) y el inicio de ciclo se ilumina en rojo.Configurar el parámetro de datos de máquina MD 24000 ($MC_FRAME_ADD_COMPONENTS) en 1 y realizar un reinicio NCK para habilitar la suma de decalajes finos.
Siemens Alarm 14800Se ejecuta un movimiento de avance lineal (G01) después de la selección de G57 pero la velocidad de avance de la trayectoria F es 0 o no se ha programado.El movimiento del eje se detiene instantáneamente, mostrando una advertencia de avance cero en el panel.Programar un valor de velocidad de avance F activo en el bloque de movimiento o antes de él, o verificar que la función "Avances fijos" esté activa.
Siemens Alarm 61800El compilador intenta cambiar al modo ISO Dialect (G291) o compilar comandos G10/G57 mientras MD 18800 está desactivado.El intérprete detiene la ejecución del programa y muestra "Sistema CNC externo ausente".Habilitar el intérprete de lenguaje NC externo configurando el dato de máquina MD 18800 ($MN_MM_EXTERN_LANGUAGE) en 1.
Siemens Alarm 12080El compilador analiza comandos no reconocidos, conflictos de formato o comandos nativos bajo G291 cuando el bit 3 de MD 20734 es 0.La ejecución se detiene, el banner de alarma muestra "Error de sintaxis" señalando al bloque en conflicto.Corregir la sintaxis del comando para el formato específico del dialecto, o ajustar el control de errores del escáner en MD 20734 Bit 3.

Nota de Aplicación

El impacto devastador de una colisión severa en la que el spindle o la turret estrellan la herramienta de carburo contra una brida de fixture, una mordaza de sujeción o las garras del chuck, destruyendo husillos de bolas y convirtiendo el material en bruto en una costosa pieza rechazada, suele ser el resultado directo de la retención accidental de un decalaje de origen G57 en segundo plano. Si un operador aborta un programa a mitad de ciclo o realiza un reinicio sin borrar los registros activos, los ejes conservarán el desplazamiento acumulado. Al reanudar el ciclo automático o realizar un cambio manual de herramienta en la turret sin purgar estos registros, la herramienta se desplazará a lo largo de una trayectoria desviada no deseada. Para eliminar esta causa crítica de tiempo de inactividad, los operadores deben configurar MD 20150 $MC_GCODE_RESET_VALUES[7] en G500 para desactivar automáticamente todos los decalajes ajustables al reiniciar el control. Además, la implementación obligatoria de límites de zona de trabajo programables mediante comandos G25/G26 (o WALIMON) define zonas de exclusión electrónicas activas que detienen inmediatamente el avance del eje antes de que ocurra un impacto físico.

Red de Comandos Relacionados

  • G54 a G56 / G505 a G599: Decalajes de origen ajustables estándar (del 1 al 99) que representan los frames del sistema de coordenadas de la pieza base.
  • G500: Desactiva todos los decalajes de trabajo ajustables activos (de G54 a G599) y restablece el frame cero predeterminado.
  • TRANS / ATRANS: Frames de traslación de decalaje de origen absolutos y aditivos programables que desplazan el origen de coordenadas dinámicamente con respecto al decalaje G57 activo.
  • G53 / G153 / SUPA: Comandos de supresión de frame no modales que evitan los registros de decalaje de origen activos para el posicionamiento en coordenadas absolutas de la máquina.
  • G290 / G291: Interruptores de modo de compilación que alternan el controlador entre la programación nativa de SINUMERIK y el modo ISO Dialect externo.

Conclusión

Garantizar la seguridad física de los componentes de la máquina durante la ejecución automática exige una configuración rigurosa de los parámetros del control. En sistemas Siemens, validar que MD 24000 ($MC_FRAME_ADD_COMPONENTS) esté establecido en 1 antes de iniciar la producción previene paradas imprevistas causadas por la Alarm 18312. Neutralizar cualquier decalaje activo mediante comandos individuales de cancelación como TRANS o activando G500 después de interrumpir el ciclo debe ser una práctica obligatoria para cada programador de CNC, eliminando de raíz el riesgo de generar piezas rechazadas o provocar tiempos de inactividad innecesarios.

Preguntas Frecuentes (FAQ)

¿Cómo solucionar la Alarm 18312 al programar decalajes finos con G57 en Siemens?

Esta alarma indica que el control numérico no tiene configurados los decalajes aditivos finos. Para resolverlo, acceda a los datos de máquina, configure el parámetro MD 24000 ($MC_FRAME_ADD_COMPONENTS) en 1, ejecute un reinicio NCK y asegúrese de que la suma matemática del decalaje grueso (coarse) y el decalaje fino (fine) esté definida correctamente en la tabla de orígenes antes de ejecutar un bloque de movimiento.

¿Por qué se genera la Alarm 12080 al programar un comando G10 en Siemens SINUMERIK?

La Alarm 12080 (Error de sintaxis) ocurre cuando el control intenta interpretar el comando de entrada de datos G10, propio de la sintaxis ISO Dialect, mientras se encuentra procesando el modo de programación nativo de Siemens (G290). Para corregirlo, asegúrese de activar el compilador ISO insertando un bloque G291 justo antes de declarar el bloque G10, y retorne inmediatamente al modo nativo escribiendo G290 al terminar la escritura de datos.

¿Cómo borrar automáticamente el decalaje G57 al presionar reset o apagar el control?

De forma predeterminada, el control Siemens puede retener el decalaje de origen activo en memoria después de presionar RESET, lo cual representa un grave peligro de colisión al reiniciar la marcha. Para evitarlo de manera permanente, modifique el parámetro de comportamiento de reinicio MD 20150 $MC_GCODE_RESET_VALUES[7] estableciendo su valor en G500, lo que garantizará que el sistema retorne al frame básico sin decalaje activo al pulsar reset.

¿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