Skip to main content
CNC.wiki

Guía de Offset de Cero G56 en Siemens SINUMERIK: Programación y Parámetros

Domine el offset de cero G56 en controles Siemens SINUMERIK. Configure parámetros como MD28080 y MD24000, y solucione la Alarm 18312 para evitar colisiones.

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

Cofundador de CNC CARE

Introducción

Cuando un programa de mecanizado se interrumpe a mitad de ciclo o se restablece de forma imprevista antes de ejecutar la cancelación del desplazamiento de coordenadas, los registros activos del offset de cero permanecen activos en la memoria del control. Si el operador realiza un cambio de herramienta en la turret o desplaza los ejes manualmente sin borrar previamente estos registros, la reanudación de la producción en modo automático provocará que la turret se desplace a lo largo de una trayectoria rápida sin haber realizado la retracción obligatoria. Bajo este escenario de fallo, el spindle o la turret estrellarán la herramienta directamente contra las mordazas (vise jaws), las grapas de la fixture o las mordazas giratorias del chuck. Si no se verifica este parámetro y el estado de la memoria del control antes de iniciar la producción, la desviación dimensional se acumula ciclo a ciclo y solo se detecta en la inspección final como pieza rechazada. Validar la configuración del offset elimina la causa más frecuente de parada no planificada en este comando, evitando un costoso tiempo de inactividad y protegiendo la rentabilidad del tiempo de ciclo.

Resumen Técnico

Atributo TécnicoEspecificación
Código de ComandoG56
Grupo modalGrupo 8 (Settable Work Offsets) / modal
Marcas SoportadasSiemens (SINUMERIK)
Parámetros CríticosMD 28080 $MC_MM_NUM_USER_FRAMES (asignación de offsets)
MD 24000 $MC_FRAME_ADD_COMPONENTS (habilita el componente de offset de cero fino)
Restricción PrincipalRequiere la alternancia explícita del modo del compilador (G291) para escribir offsets programáticamente usando comandos ISO G10. Intentar escribir offsets finos axiales cuando la configuración de offset fino está deshabilitada activa la Alarm 18312.

Lectura Rápida

  • Los operadores de configuración deben borrar los registros activos de offset de cero antes de cambiar herramientas en la turret para evitar trayectorias de posicionamiento rápido no retractadas.
  • Los controles Siemens requieren cambiar al modo ISO Dialect a través de G291 para ejecutar operaciones de escritura de offset G10 L2 P3.
  • El sistema de coordenadas de la pieza (WCS) activo se determina sumando matemáticamente el offset grueso (coarse) y el offset fino (fine).
  • Los offsets finos axiales solo están disponibles cuando el parámetro de datos de máquina MD 24000 está configurado en 1.
  • Se deben utilizar las limitaciones de área de trabajo programables (G25/G26 o WALIMON/WALIMOF) para establecer zonas de protección alrededor de las grapas de la fixture y las mordazas de sujeción (vise jaws).
  • Los comandos de supresión no modales como G53 o SUPA desactivan temporalmente G56 sin borrar los registros de offset de la memoria.

Conceptos Básicos

La programación práctica del offset de cero G56 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 la 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 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 offset de cero se introduce normalmente para compensar la holgura de apriete del chuck.

Para aplicaciones en centros de mecanizado, G56 se ajusta para definir la distancia física desde el cero de la máquina hasta el punto cero de la pieza ubicado directamente en una grapa de la fixture o mordaza (vise jaw). Se pueden mecanizar contornos simétricos o múltiples configuraciones 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 offsets de cero G54, G55 y G56, mientras se ejecuta un solo subprograma (como L47), reduciendo drásticamente el tamaño del programa.

Estructura de Comandos

El comando G56 desplaza la referencia activa al tercer offset de cero configurable. Esto permite evaluar las coordenadas subsiguientes desde el punto cero de la pieza. Siemens utiliza un compilador bilingüe alternado para manejar este offset de forma nativa o mediante estilos de lenguajes externos.

Cuando se programa en el modo nativo de SINUMERIK (G290), G56 se llama como un comando independiente para activar el offset. Por el contrario, si se está ejecutando código ISO heredado, primero se debe programar G291 antes de que G10 pueda escribir valores directamente en el registro de offset.

G56 ;
G90 G56 G00 X__ Y__ Z__ (D__) ;
G291 ;
G10 L2 P3 X__ Y__ Z__ ;
  • X, Y, Z: Objetivos de coordenadas absolutas evaluados desde el punto cero G56.
  • D: Offset opcional del filo de corte de la herramienta (D1 a D12 para compensación, D0 para cancelar).
  • L2: Identificador del registro de entrada de datos de offset de pieza (solo en modo ISO).
  • P3: Selecciona G56 (el tercer offset de pieza) como el destino para los datos de G10 (solo en modo ISO).

Aplicaciones de Marca

Siemens

Los controles Siemens SINUMERIK procesan los offsets de pieza como frames dinámicos en la memoria. El offset G56 funciona como el frame configurable base. Los programadores configuran la asignación de memoria y los comportamientos del intérprete utilizando parámetros de datos de máquina como MD 28080 y MD 24000.

Para seleccionar G56 de forma nativa, use G290 seguido de G56. Para programar la escritura de offset de G56 programáticamente en estilo ISO, use G291 seguido de G10 L2 P3.

Parámetro / ComponenteFunción y Rango de ValoresFunción Operativa
MD 28080 $MC_MM_NUM_USER_FRAMESEntero (ej. 6 a 100)Define el número total de offsets de cero configurables por el usuario (G54-G59, G505-G599) asignados en la memoria del control.
MD 24000 $MC_FRAME_ADD_COMPONENTS0 (deshabilitado) o 1 (habilitado)Habilita el componente de offset de cero fino axial. Debe configurarse en 1 para usar G59 con G56.
MD 20734 $MC_EXTERN_FUNCTION_MASKBit 13: 0 o 1Fuerza una parada interna del preprocesador (STPPRE) durante las escrituras con G10 para asegurar la sincronización del ciclo principal.
MD 18800 $MN_MM_EXTERN_LANGUAGE1 (activo)Activa el intérprete de lenguaje NC externo para modos ISO Dialect (G291).
MD 20150 $MC_GCODE_RESET_VALUES[18]Predeterminado del Grupo 8: 1 (G500)Determina el valor predeterminado del Grupo 8 de G activo durante el encendido o restablecimiento.

Advertencia: Los operadores de configuración deben verificar que el offset de trabajo activo no difiera de las coordenadas físicas de la pieza de trabajo. Si ocurre un reinicio del programa a mitad del mecanizado, G56 permanece activo en segundo plano, lo que puede provocar movimientos inesperados de la herramienta y daños en el spindle al reanudarse.

Comparación de Marcas

CaracterísticasSINUMERIK 840D / 840D slSINUMERIK 828DSINUMERIK 808D / 802D sl
Clase de Control e InterfacesSistema multicanal de gama alta. Admite paneles multitáctiles de pantalla ancha, ventanas de pantalla lateral, teclados ABC y la opción de software "Collision avoidance" (evitación de colisiones).Sistema monocanal/bicanal de gama media. Admite paneles de operador estándar y ciclos integrados sin pantallas laterales anchas. Sin opción de evitación de colisiones.Controles compactos/de nivel básico. Pantallas estándar con botones pulsadores. Los parámetros opcionales y los ajustes clave (como MD 10604) están bloqueados y no se pueden cambiar.
Asignación de Offsets de CeroTotalmente configurable hasta 100 user frames (G54 a G59, G505 a G599) a través de MD 28080. Estructuras completas de offset grueso y fino (coarse/fine).Memoria de offset de cero estándar (G54 a G57 más hasta 4 offsets de usuario). Admite offsets finos estándar.Asignaciones fijas de offset de cero (estándar de G54 a G57). Los parámetros de máquina bloqueados impiden expandir los user frames.
Intérprete de Block SkipTrata "/" y "/1" como niveles de block skip completamente separados e independientes configurados en los canales.Trata "/" y "/1" como niveles de block skip separados que deben activarse de forma independiente en el control.Ejecución básica de block skip. Los niveles de block skip de ISO heredado se asignan directamente a los niveles estándar de Siemens.

Análisis Técnico

Cada offset de cero de usuario individual (G54 a G599) consta de un offset grueso (coarse) y un offset fino (fine), y ambos se suman matemáticamente para determinar el cero activo de la pieza de trabajo. Los operadores de configuración y los programadores deben mantener una vigilancia absoluta con respecto al registro de offsets de coordenadas y los límites activos durante la ejecución del programa. Si un operador realiza un preajuste de cero manual, 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.

Tres comportamientos programáticos y arquitectónicos clave distinguen claramente a los controles Siemens de los controles Fanuc y Mitsubishi durante el manejo del offset de cero:

Primero, Siemens opera en un modelo de compilador alternado bilingüe (G290/G291). Mientras que los controles Fanuc y Mitsubishi interpretan los offsets de coordenadas y los desplazamientos de registro 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 offset G10 o las selecciones G56. Luego, el programa debe ordenar G290 para volver al modo nativo de SINUMERIK para procesar frames paramétricos avanzados (TRANS/ROT/SCALE/MIRROR) y offsets de cero nativos.

Segundo, Siemens gestiona las transformaciones de coordenadas como componentes modulares y dinámicos de una pila de memoria de "frames". G56 sirve como el frame configurable base. Sobre este frame G56 base, los programadores pueden encadenar dinámicamente offsets 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 mediante comandos de supresión multinivel (G53, G153, SUPA o G500) según los parámetros activos, lo que proporciona una flexibilidad de programación mucho mayor que las rígidas selecciones de registros de Fanuc y Mitsubishi.

Tercero, Siemens mapea los niveles de block skip heredados como canales independientes y separados. A diferencia del ISO Dialect original, donde los caracteres de salto / y /1 representan exactamente el mismo nivel, Siemens trata / y /1 como niveles de salto separados que deben activarse de forma independiente. Si un operador ejecuta un programa heredado que contiene ambos estilos de salto en un control Siemens sin configurar por separado estos niveles de salto, los bloques diseñados para omitirse pueden ejecutarse, lo que provocaría un desplazamiento inesperado del eje y colisiones catastróficas de la pieza de trabajo.

Ejemplos de Programas

; Ejemplo de alternancia entre modo nativo de Siemens e ISO para G56
G290                                          ; Cambia el compilador al modo nativo de Siemens SINUMERIK
G56 G17 G90 G00 X100.0 Y50.0 Z10.0 T1 D1      ; Selecciona el offset de coordenadas G56, plano XY, posicionamiento rápido absoluto
TRANS X15.0 Y10.0                             ; Establece el frame de offset de cero programable absoluto relativo al WCS activo de G56
G291                                          ; Cambia el compilador al modo ISO Dialect para procesar bloques heredados
G10 L2 P3 X-300.0 Y-150.0 Z-50.0              ; ISO Dialect: Escribe programáticamente las coordenadas en los registros de offset G56 (P3)

ejecución en seco (dry run)

Durante una ejecución en seco, el control ejecuta los bloques del programa de la siguiente manera: Primero, G290 establece el intérprete en el modo nativo de SINUMERIK. A continuación, el sistema de coordenadas activo se desplaza desde el cero de máquina absoluto hasta el origen de la pieza de trabajo G56, moviendo el spindle rápidamente a X100.0 Y50.0 Z10.0 con la compensación de longitud de herramienta (D1) activa. El bloque TRANS introduce entonces un desplazamiento de translación absoluta de X15.0 e Y10.0 relativo a G56. Cuando se activa G291, el controlador compila en el modo ISO Dialect, ejecutando el bloque G10 L2 P3 para actualizar los registros de G56 con X-300.0, Y-150.0 y Z-50.0 en los registros de segundo plano sin movimiento inmediato del eje, a la espera de la siguiente llamada de offset.

Análisis de Errores

Código de AlarmaCondición de ActivaciónSíntoma del OperadorCausa Raíz / Solución
Siemens Alarm 18312El programa intenta escribir o ejecutar un offset de cero axial a través de G59 con G56 cuando MD 24000 está configurado en 0.La ejecución de la máquina se detiene con un mensaje de error que indica que el offset fino (fine offset) no está configurado.Establezca el parámetro de datos de máquina MD 24000 $MC_FRAME_ADD_COMPONENTS = 1 para habilitar las adiciones de offset fino en la memoria.
Siemens Alarm 14800El movimiento de avance lineal (G01) se ejecuta después de la selección de G56 sin una velocidad de trayectoria (F) programada o avances fijos activos.El movimiento CNC se detiene instantáneamente en el bloque G01 con una alarma de velocidad de trayectoria cero.Programe un valor de avance (F) antes o dentro del bloque G01, o active la función de "avances fijos" en los ajustes de configuración del control.
Siemens Alarm 61800El compilador intenta cambiar al modo ISO Dialect (G291) mientras el intérprete de lenguaje NC externo MD 18800 está deshabilitado.Un error del sistema detiene la ejecución inmediatamente al leer G291, lo que impide que se compilen los bloques de G-code heredados.Configure MD 18800 $MN_MM_EXTERN_LANGUAGE = 1 o verifique la presencia del bit de opción 19800 en el controlador.
Siemens Alarm 12080Error de sintaxis analizado por el intérprete, como la ejecución de comandos ISO G10 en modo nativo (G290) o el uso de una sintaxis de block skip no válida.La pantalla muestra un error de sintaxis que indica el bloque o el nombre del comando no reconocido.Verifique que G291 esté activo antes de emitir comandos G10, y compruebe la estructura sintáctica con respecto a las directrices de formato de SINUMERIK.

Nota de Aplicación

La desactivación de los componentes de offset fino en los parámetros del control de la máquina detiene de inmediato la ejecución del programa con la Alarm 18312 si se intenta aplicar un desplazamiento fino a través de G59 en combinación con G56. Para solucionar esta falla de configuración y evitar una parada imprevista en la línea de producción, el operador debe establecer el parámetro de datos de máquina MD 24000 ($MC_FRAME_ADD_COMPONENTS) en 1, lo que habilita la suma del offset fino en la memoria. De igual manera, para asegurar que la reescritura del offset mediante bloques G10 se coordine en tiempo real con la ejecución activa, se debe configurar el parámetro MD 20734 Bit 13 en 1, forzando una parada interna del preprocesador (STPPRE). Omitir estas validaciones críticas introduce desviaciones que desvían las trayectorias de la herramienta y provocan colisiones severas de la turret contra las mordazas de sujeción (vise jaws) o las grapas de la fixture, lo cual destruye herramientas de carburo, incrementa el tiempo de inactividad no planificado y acumula piezas rechazadas en el taller.

Red de Comandos Relacionados

  • G53 / G153 / SUPA: Suprime los frames de coordenadas activos y los offsets de cero configurables (como G56) en diferentes niveles sin desactivarlos permanentemente.
  • G54 a G57 (incluido el segundo offset configurable G55) y G505 a G599: Offsets de cero configurables estándar 1 al 99, utilizados para definir sistemas de coordenadas de pieza localizados.
  • G500: Desactiva todos los user frames configurables activos (G54 a G599) y restablece el frame de cero predeterminado.
  • TRANS / ATRANS: Formula frames de traducción de offset de cero absolutos y aditivos, desplazando el WCS activo en relación con el offset G56 base.
  • G58 / G59: Escribe offsets de cero axiales absolutos y aditivos para reemplazar o modificar los componentes de traducción activos.
  • G290 / G291: Alterna el compilador bilingüe entre el modo nativo de Siemens y el modo ISO Dialect externo.

Conclusión

La gestión rigurosa del offset de cero G56 es un requisito fundamental para optimizar la eficiencia del tiempo de ciclo y evitar colisiones mecánicas graves en el taller. Como recomendación de producción para prevenir daños, el operador debe verificar que todos los registros de desplazamiento de coordenadas estén depurados o restablecidos antes de realizar un cambio de herramienta o tras una interrupción a mitad de ciclo. La implementación sistemática de límites de área de trabajo mediante comandos como G25/G26 o WALIMON/WALIMOF, junto con la validación de parámetros clave como MD 24000 y MD 20734, elimina la causa más frecuente de parada no planificada. Adoptar estas directrices técnicas asegura un entorno de trabajo seguro, disminuye el tiempo de inactividad de la maquinaria y erradica por completo la producción de piezas rechazadas.

Preguntas Frecuentes (FAQ)

¿Cómo solucionar la Alarm 18312 al programar el offset G56 en Siemens?

Esta alarma se genera porque el componente de offset fino (fine offset) está deshabilitado en los parámetros generales. Para solucionarlo de inmediato, acceda al área de parámetros del control, cambie el valor del parámetro de datos de máquina MD 24000 ($MC_FRAME_ADD_COMPONENTS) a 1 y realice un reinicio del control (Power-On Reset) en el panel para activar la memoria.

¿Por qué se produce una colisión de la herramienta al reanudar un programa con G56 activo?

Si la ejecución se aborta a mitad de ciclo, el control retiene la coordenada del offset de cero G56 en segundo plano, por lo que cualquier movimiento manual del operador o cambio de herramienta posterior calculará las trayectorias rápidas desde ese origen desplazado. Para prevenir accidentes, programe siempre un comando G500 al inicio de las secuencias de cambio de herramienta para restablecer temporalmente el sistema de coordenadas al cero de la máquina.

¿Cómo actualizar los valores de coordenadas de G56 mediante programación en modo ISO?

Para escribir directamente en los registros del offset G56 desde el código de programación, primero debe alternar el compilador al intérprete ISO con G291 en un bloque exclusivo y luego usar la instrucción G10 L2 P3 seguida de las coordenadas de los ejes. Al finalizar la actualización, asegúrese de programar un bloque G290 para retornar al modo nativo de Siemens y poder utilizar los ciclos de mecanizado estándar del control.

¿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