Skip to main content
CNC.wiki

Offset de Cero G54 de Siemens: Guía de Programación CNC WCS

Aprenda a programar el offset de cero Siemens G54 en controles SINUMERIK. Compare la configuración con Fanuc y Mitsubishi para evitar colisiones mecánicas.

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

Cofundador de CNC CARE

Introducción

Una colisión catastrófica del turret de herramientas o del husillo giratorio contra las bridas de sujeción (clamp), la mordaza de prensa (vise jaw) o el plato del spindle es la consecuencia física directa de omitir la verificación de los registros de offset de cero coarse y fine de G54 antes de iniciar la producción en un control SINUMERIK. Si un operador realiza ajustes manuales o mediciones de offset sin limpiar el registro de desplazamiento fino, la máquina procesará la trayectoria con una desviación invisible. 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. Validar el parámetro MD 24000 elimina la causa más frecuente de parada no planificada en este comando. En entornos de alta producción, esta parada imprevista no solo fractura la herramienta de corte de carburo y deforma los husillos de bolas, sino que también genera un prolongado tiempo de inactividad que destruye la eficiencia del tiempo de ciclo planificado.

Resumen Técnico

CampoValor
Código de ComandoG54
Grupo ModalG grupo 8 (Modal)
MarcasSiemens
Parámetros CríticosMD 28080 ($MC_MM_NUM_USER_FRAMES), MD 24000 ($MC_FRAME_ADD_COMPONENTS)
Restricción PrincipalLos offsets finos requieren que MD 24000 esté configurado en 1; de lo contrario, llamar a G58 o G59 con G54 activa la Alarm 18312.

Lectura Rápida

  • Verifique y limpie el registro de offset de desvío fino del user frame para prevenir desplazamientos involuntarios de coordenadas.
  • Establezca el parámetro MD 24000 en 1 antes de utilizar offsets axiales programables G58 o G59.
  • Cambie el compilador al modo ISO Dialect utilizando G291 para ejecutar entradas de datos programables (G10).
  • Habilite el dato de máquina MD 18800 para prevenir la Alarm 61800 al alternar modos de compilador.
  • Desactive la compensación de radio de corte (G40) antes de llamar a los ciclos para evitar activar la Alarm 61815.
  • Programe un feedrate no cero antes de ejecutar bloques de movimiento para evitar la Alarm 14800.
  • Utilice SUPA o G153 para suprimir frames activos antes de ejecutar cambios de herramienta o indexar ejes.

Conceptos Básicos

La implementación del offset de cero programable G54 en un centro de mecanizado 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 herramienta en relación con la geometría de la pieza. El efecto práctico de la programación es que el mismo programa de pieza se puede ejecutar en diferentes coordenadas físicas en la bancada de la máquina simplemente llamando a diferentes offsets de cero configurables, como G54, G55 o G56. Durante el torneado, G54 se configura típicamente para compensar la holgura física y el ancho de sujeción del chuck. Para aplicaciones de fresado, G54 define la distancia desde el cero de la máquina hasta el punto cero de coordenadas de la pieza de trabajo ubicado en una brida de sujeción (clamp) o mordaza de prensa (vise jaw).

Cada user frame de Siemens (G54 a G599) consta de un coarse offset y un fine offset. Cuando se llama a G54, los offsets coarse y fine se suman matemáticamente para determinar el cero activo de la pieza. Una causa común de falla en el taller es no limpiar o verificar el registro de offset fino antes de ejecutar un programa. Si un operador ajusta el offset de cero utilizando una sonda de medición (measuring probe) o métodos de raspado manual (manual scratching), cualquier valor no limpio en el registro de offset fino hará que el sistema de coordenadas de la herramienta se desplace de las coordenadas esperadas. Cuando la torreta (turret) de herramientas indexa y el husillo (spindle) se mueve, la herramienta de corte viajará a lo largo de una trayectoria no compensada, lo que provocará impactos severos en los ejes.

Estructura de Comandos

El comando G54 desplaza el punto cero activo desde la referencia de la máquina hasta un sistema de coordenadas de pieza específico. Los movimientos posicionales programados después del comando G54 se evalúan en relación con el origen de la pieza recién establecido en lugar de los límites físicos absolutos de la máquina. Para establecer esto, los modos de coordenadas absolutas se activan comúnmente junto con la selección del offset de cero.

Además de las compensaciones de pieza estándar, se pueden definir sistemas de coordenadas extendidos para programas que ejecutan múltiples piezas. Los registros de compensación también se pueden escribir mediante programación dentro del programa de la pieza utilizando códigos de entrada de datos programables. Los programadores deben asegurarse de que el modo de compilación activo analice los códigos de formato correctos para evitar conflictos de sintaxis.

Formatos de sintaxis:

  • Modo Nativo de Siemens: G54 ; G90 G00 X__ Y__ Z__ ;
  • Entrada Programable ISO Dialect: G10 L2 P1 X__ Y__ Z__ ; (modo de compilador ISO Dialect G291)
  • Entrada Extendida ISO Dialect: G10 L20 Pp X__ Y__ Z__ ; (donde p = 1 a 93)
Dirección / CódigoDescripciónNota
G54Selección del Sistema de Coordenadas de la Pieza 1Comando modal que desplaza el offset de cero activo.
X, Y, ZCoordenadas objetivo absolutasDefine los objetivos de posicionamiento relativos al origen de WCS.
G10Comando de entrada de datos programableActualiza los registros de offset de coordenadas en el modo ISO G291.
L2Categoría de entrada de datos de offset de piezaUtilizado en G10 para especificar la escritura de datos de offset.
P1Registro de destino de offset de WCSIndica al control que actualice G54 (P1 corresponde a G54).
L20Categoría de entrada de datos de offset de pieza extendidoUtilizado en G10 para especificar la escritura de datos de offset extendido.

Aplicaciones de Marca

Siemens

Los offsets de cero de Siemens desplazan el cero del programa desde el Sistema de Coordenadas de la Máquina (MCS) hasta el Sistema de Coordenadas de la Pieza (WCS). El número máximo de user frames se configura mediante los datos de máquina MD 28080. Los programas nativos de Sinumerik seleccionan G54 y mueven los ejes con G90 G54 G00 X__ Y__ Z__ ; cuando se compilan en el modo G290. Los programas ISO Dialect cambian el compilador a G291 para analizar las configuraciones de parámetros heredados.

Los offsets coarse y fine componen cada user frame en los sistemas Sinumerik. Los programadores pueden escribir offsets mediante programación usando G10, pero deben asegurarse de que el MD 20734 Bit 13 esté configurado en 1 para forzar una parada del preprocesador (preprocessor stop). Esto garantiza que los cambios de offset se sincronicen inmediatamente con el preprocesador de planificación de trayectorias para evitar conflictos de búfer de lectura anticipada (look-ahead).

  • Parámetros: MD 28080 $MC_MM_NUM_USER_FRAMES define el número total de offsets de cero. MD 20734 Bit 13 fuerza una parada del preprocesador durante las actualizaciones de offset G10. MD 24000 $MC_FRAME_ADD_COMPONENTS habilita la configuración de offsets coarse y fine cuando se establece en 1. MD 10760 $MN_G53_TOOLCORR determina si las compensaciones de longitud y radio de herramienta se suprimen (1) o se retienen (0) bajo comandos de supresión.
  • Alarmas: La Alarm 61800 se activa si el modo de lenguaje externo está desactivado cuando el compilador cambia. La Alarm 14800 ocurre al ejecutar un comando de movimiento G54 con velocidad de trayectoria F0. La Alarm 18312 se activa si se utilizan offsets finos axiales cuando MD 24000 está configurado en 0.
  • Diferencias de Versión: SINUMERIK 840D sl permite la personalización de los parámetros de ejes geométricos, mientras que en el 802D sl, parámetros como MD 10604, MD 10706 y MD 20154 están bloqueados y no se pueden cambiar. Los paneles SINUMERIK 840D sl de gama alta también admiten el diseño de pantalla panorámica (widescreen) y el control avanzado de prevención de colisiones (collision avoidance). Las funciones de torneado G50.2 y G51.2 son compatibles con 840D sl pero se omiten en 802D sl.

Advertencia: Si el registro del offset de cero es incorrecto, el movimiento de la herramienta omitirá las holguras físicas y colisionará con la mordaza de prensa (vise jaw) o el chuck giratorio del spindle. Los programadores deben usar SUPA o G153 para retraer el eje al cero máquina antes de indexar herramientas.

Comparación de Marcas

Dado que esta guía se enfoca en controles Siemens, la siguiente tabla compara las configuraciones de offset de cero y la gestión de parámetros a través de los principales modelos y versiones de la serie SINUMERIK.

Característica / ParámetroSINUMERIK 840D slSINUMERIK 828DSINUMERIK 802D sl
Ajuste de Parámetros (MD 10604, 10706, 20154)Totalmente ajustable y modificableTotalmente ajustable y modificableBloqueado por hardware y protegido contra escritura (no se puede cambiar)
Torneado de Múltiples Filos (G50.2 / G51.2)Totalmente compatibleTotalmente compatibleCompletamente omitido
Prevención Avanzada de Colisiones (Collision Avoidance)Soportado como opción de softwareNo soportado / Solo básicoNo soportado
Escalabilidad de User Frames (MD 28080)Escalable hasta 99 user framesEscalable hasta 99 user framesRestringido a los user frames estándar G54-G59

Análisis Técnico

El análisis de la familia de controles SINUMERIK revela variaciones arquitectónicas significativas entre los sistemas de gama alta y las variantes compactas con respecto a la flexibilidad del offset de cero. Los sistemas SINUMERIK 840D sl de gama alta y los estándar 828D proporcionan un acceso de lectura y escritura sin restricciones a las variables críticas de configuración. En contraste, la serie SINUMERIK 802D sl bloquea parámetros como MD 10604, MD 10706 y MD 20154, impidiendo la personalización de los límites del área de trabajo, las funciones de salto de bloque (block skip) y las definiciones de reset de G-code externas. Este bloqueo de parámetros restringe a los operadores la personalización de las acciones de reset, lo que significa que los estados por defecto de G54 son rígidos.

El soporte del ciclo de torneado muestra una división según la serie de control. Los centros de mecanizado que ejecutan controles 840D sl pueden llamar a G51.2 para el torneado de múltiples filos y a G50.2 para desactivarlo, alineando las compensaciones de coordenadas con las rotaciones sincronizadas del husillo. Los controles compactos 802D sl omiten estos comandos, requiriendo una compensación geométrica manual para las operaciones de múltiples filos. La disponibilidad de opciones de prevención de colisiones 3D (3D collision avoidance) también diferencia a los modelos; solo el 840D sl admite protección en tiempo real del entorno de la pieza de trabajo y la fixture para evitar que las torretas (turret) de herramientas colisionen contra chucks o clamps.

Ejemplos de Programas

Ejemplo de G-Code en Siemens

; Cambio de offset de cero de Siemens y alternancia de compilador
G290 ; Cambiar compilador al modo nativo de Siemens SINUMERIK
G54 G710 G90 G00 X100.0 Y100.0 Z50.0 ; Selecciona WCS G54, unidades métricas, posicionamiento absoluto y avance rápido a coordenadas
TRANS X50.0 Y30.0 ; Establece un offset de cero programable absoluto relativo al WCS G54 activo
G291 ; Cambiar compilador al modo ISO Dialect para procesar bloques heredados
G10 L2 P1 X-250.0 Y-175.0 Z0.0 ; ISO Dialect: Escribe mediante programación X-250.0 e Y-175.0 en los registros de offset de G54 (P1)

Procedimiento de ejecución en seco (dry run):

Para una ejecución en seco en Siemens, verifique que el compilador realice la transición de forma limpia del modo nativo (G290) al modo ISO (G291). Con el dial de feedrate override del eje al 0%, avance paso a paso a través de los comandos de movimiento. Compruebe que la HMI de la máquina registre la actualización del offset de cero después de que se ejecute G10, asegurando que los movimientos absolutos subsiguientes reflejen las coordenadas del frame desplazado.

Análisis de Errores

MarcaCódigo de AlarmaCondición de ActivaciónSíntoma del OperadorCausa Raíz / Solución
SiemensAlarm 14800Activar un bloque de movimiento bajo G54 (como G01) con velocidad de trayectoria F0 sin "Fixed feedrates" activos.El movimiento del eje se congela y el control emite el error "programmed path velocity is less than or equal to zero".Asegúrese de programar un feedrate (F) diferente de cero antes del bloque de movimiento, o verifique que los avances fijos (fixed feedrates) estén habilitados.
SiemensAlarm 61800Intentar cambiar el modo de compilación a G291 o ejecutar G10 mientras el parámetro de opciones MD 18800 está desactivado.El compilador de NC se detiene y muestra "External CNC system missing", impidiendo la ejecución de código externo.Establezca el parámetro MD 18800 $MN_MM_EXTERN_LANGUAGE en 1 para habilitar las opciones del intérprete de lenguaje externo.
SiemensAlarm 61815Activar G54 o ejecutar desplazamientos de coordenadas mientras la compensación de radio de corte (G41/G42) está activa durante llamadas a ciclos.El preprocesador detiene la compilación del ciclo y muestra el mensaje de error "G40 not active".Programe G40 para desactivar la compensación de radio de corte antes de llamar a ciclos o cambiar los offsets de coordenadas.
SiemensAlarm 18312Ejecutar G58 o G59 con G54 cuando el parámetro de offset fino MD 24000 está desactivado (0).El control detiene la ejecución del programa y activa la alarma "Fine offset not configured" para el canal activo.Establezca el parámetro MD 24000 $MC_FRAME_ADD_COMPONENTS en 1 en la configuración del canal para habilitar los offsets finos.
SiemensAlarm 12080Escribir un formato de comando ISO (como G10 L2 P1) en el modo nativo de Siemens (G290) sin cambiar los modos de compilación.El preprocesador detiene la compilación, mostrando un mensaje "Syntax error / Unknown block".Ordene G291 para cambiar el compilador al modo ISO Dialect antes de ejecutar bloques con formato estilo Fanuc.

Nota de Aplicación

Una parada de producción costosa debido a la Alarm 18312 o la Alarm 14800, junto con daños severos en el husillo (spindle) y la torreta (turret) por una colisión física directa, son las consecuencias inmediatas de no verificar los offsets coarse y fine antes de la ejecución del programa. Si un operador configura la compensación de cero G54 en un control SINUMERIK pero deja un valor residual no deseado en el registro de offset fino, la herramienta colisionará contra la mordaza de prensa (vise jaw) o las bridas de sujeción (clamp). Para evitar estas paradas no planificadas, los programadores deben validar que el parámetro MD 24000 esté configurado en 1 para permitir desplazamientos finos seguros, y activar el preprocesador MD 20734 Bit 13 para asegurar que las actualizaciones de offset programables mediante G10 (en modo ISO G291) se sincronicen de inmediato sin generar la Alarm 12080. Asimismo, para optimizar el tiempo de ciclo y prevenir colisiones mecánicas al indexar herramientas, es indispensable programar comandos de supresión de frames como SUPA o G153 antes de realizar cambios de herramienta, asegurando la correcta parametrización de MD 10760 para definir si se conservan o suprimen las compensaciones activas.

Red de Comandos Relacionados

  • g52-local-coordinate-system: Establece un desvío del sistema de coordenadas local relativo al origen de la pieza de trabajo activo.
  • g53-machine-coordinate-selection: Suprime temporalmente los offsets de cero activos para moverse directamente en coordenadas de la máquina.
  • g53-suppress-current-frame: Suprime el user frame activo sin restablecer las compensaciones de longitud y radio de herramienta.
  • G55 a G57, G505 a G599: Registros ajustables del sistema de coordenadas de la pieza para seleccionar orígenes secundarios.
  • G500: Selección de frame cero que desactiva los user frames activos actualmente mientras conserva los frames básicos.
  • TRANS / ATRANS: Comandos de offset programables absolutos y aditivos que desplazan coordenadas en relación con G54.
  • G290 / G291: Comandos de compilación bilingüe que alternan el intérprete entre el modo nativo y el modo ISO Dialect.

Conclusión

La recomendación operativa definitiva para asegurar la precisión dimensional en planta es establecer un procedimiento obligatorio de verificación visual de los registros coarse y fine en el HMI del control SINUMERIK antes de presionar el inicio del ciclo. Medir minuciosamente las compensaciones y restringir el área de trabajo física mediante los comandos G25 y G26 protege el husillo y la torreta contra sobrecargas accidentales. Esta disciplina de configuración preventiva minimiza el tiempo de inactividad, erradica la producción de piezas rechazadas por desviaciones de trayectoria y maximiza la disponibilidad de la máquina en celdas de alta producción.

Preguntas Frecuentes (FAQ)

¿Qué causa la Alarm 18312 en un control Siemens SINUMERIK y cómo se soluciona?

Esta alarma ocurre cuando el programa CNC intenta ejecutar compensaciones axiales programables (G58 o G59) combinadas con G54, pero el parámetro MD 24000 ($MC_FRAME_ADD_COMPONENTS) está desactivado en la memoria del control. Para solucionar esto y evitar piezas de desecho por errores de trayectoria, el operador debe cambiar el valor de MD 24000 a 1 en la pantalla de datos de máquina. Acción: Modifique el parámetro MD 24000 a 1, realice un reinicio del control (NC Reset) y verifique la activación correcta en modo de bloque único.

¿Cómo se previene el congelamiento de movimiento con la Alarm 14800 al activar G54?

La Alarm 14800 se activa si el compilador de Siemens encuentra un bloque de movimiento lineal bajo el sistema G54 sin una velocidad de avance (feedrate) definida en el programa o configurada en cero, deteniendo la trayectoria de inmediato. Para resolver este problema y optimizar el tiempo de ciclo sin paradas imprevistas, asegúrese de declarar siempre una velocidad F no cero antes o en la misma línea del primer movimiento de aproximación. Acción: Inserte un comando de avance F (por ejemplo, F250) al inicio del bloque de movimiento rápido o lineal de su herramienta.

¿Cómo evitar la Alarm 12080 al programar offsets G54 con G10 en Siemens?

La Alarm 12080 indica un error de sintaxis del compilador porque se intentó ejecutar un código de entrada de datos programable estilo ISO (G10 L2 P1) mientras la máquina estaba operando bajo el modo de compilación nativo de Siemens (G290). Para permitir que el control interprete correctamente comandos de compensación de otras marcas, debe conmutar el dialecto de compilación. Acción: Programe la instrucción G291 en una línea exclusiva inmediatamente antes de llamar a los comandos G10, y regrese al modo nativo programando G290 al finalizar.

¿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