Skip to main content
CNC.wiki

Configuración de MD20112 para el Inicio del Programa en Siemens CNC

Guía para configurar Siemens MD20112 y evitar choques al iniciar el ciclo. Compare su comportamiento con los sistemas de control de Fanuc y Mitsubishi.

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

Cofundador de CNC CARE

Introducción

Una colisión catastrófica del cabezal (spindle) contra una mordaza (vise jaw) de sujeción ocurre en una fracción de segundo si el sistema inicia un programa cargando un desplazamiento de origen incorrecto o una compensación de herramienta obsoleta. 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. Cuando el control pierde su orientación espacial, la herramienta puede impactar con gran fuerza sobre un plato (chuck) autocentrante, golpear una brida (clamp) o colisionar con la torreta (turret) secundaria en procesos multicanal. Este error no solo detiene la línea con una alarma crítica de inicialización como la Alarma 14710, sino que causa costosas piezas de desecho (scrap) y un prolongado tiempo de inactividad por reparaciones mecánicas. Validar el parámetro MD20112 elimina la causa más frecuente de parada no planificada en este comando, garantizando que el punto de partida cinemático sea el correcto en cada ciclo automático.

Resumen Técnico

CampoEspecificación
Código de ComandoMD20112 $MC_START_MODE_MASK
Grupo Modal / TipoParámetro de datos de máquina específico del canal (UDWORD)
MarcasSiemens
Parámetros CríticosMD20112 $MC_START_MODE_MASK, Bits 4...18
Restricción PrincipalEl movimiento inicial debe programarse en coordenadas absolutas (G90) si la longitud de herramienta o los frames se aplican automáticamente al inicio. Se debe predefinir un eje de geometría transversal a través de MD20100 $MC_DIAMETER_AX_DEF si la velocidad de corte constante G96 está habilitada a través de las posiciones de restablecimiento de la máscara de inicio.

Lectura Rápida

  • Establecer el Valor de la Máscara de Inicio: Configure el parámetro de datos de máquina específico del canal MD20112 $MC_START_MODE_MASK entre 0 y 0x7FFFF para definir los grupos de G-code, offsets de herramienta y transformaciones cinemáticas al inicio del programa.
  • Configurar el Rango de Bits: Modifique los bits 4 a 17 para determinar si una función adopta su posición de restablecimiento (0) o conserva su estado actual (1) cuando comienza el programa de pieza.
  • Forzar Movimientos Absolutos: Programe un comando G90 obligatorio en el primer bloque de movimiento del programa de pieza si MD20112 está configurado para activar automáticamente offsets de herramienta u offsets de trabajo.
  • Definir el Eje Transversal: Mapee el eje transversal en los datos de máquina MD20100 $MC_DIAMETER_AX_DEF si la velocidad de corte constante (G96/G961/G962) se activa al inicio, evitando la Alarma 10870.
  • Validar el Tipo de Datos de la Versión: Verifique si el sistema utiliza DWORD (versiones anteriores) o UDWORD (los nuevos sistemas SINUMERIK ONE y 828D) al escribir en el parámetro MD20112.
  • Desacoplar Inicio y Restablecimiento: Mantenga separados los ajustes del estado de restablecimiento a través de MD20110 $MC_RESET_MODE_MASK para mantener los valores manuales de JOG durante las paradas, pero borrarlos al iniciar un nuevo ciclo.

Conceptos Básicos

Los ajustes de inicialización de la máquina al inicio del programa dictan los estados base (incluyendo planos activos, offsets de trabajo y transformaciones cinemáticas) que entran en vigor inmediatamente al iniciar el ciclo. En los controles Siemens SINUMERIK, el comportamiento de inicio del programa se gestiona mediante el parámetro específico del canal MD20112 $MC_START_MODE_MASK. Este parámetro funciona como una máscara de bits, evaluándose cada vez que arranca un programa de pieza para establecer los ajustes de control iniciales.

Comprender la estructura de datos de máquina es esencial para una configuración adecuada, lo cual se detalla más a fondo en estructura de datos de máquina MD (MD Machine Data Structure). Al configurar bits específicos, el control puede parametrizarse para adoptar los estados de restablecimiento por defecto o conservar los ajustes del modo manual JOG. Por ejemplo, los bits 4 a 17 definen si ciertos grupos de G-code y compensaciones de longitud de herramienta conservan sus ajustes actuales o revierten a las configuraciones de restablecimiento predefinidas.

El control también admite datos de ajuste (setting data) que funcionan en tándem con los datos de máquina, como se describe en estructura de datos de ajuste SD (SD Setting Data Structure). Durante las secuencias de restablecimiento e inicio, el sistema evalúa el estado combinado de MD20112 and otros registros de restablecimiento. Si estos valores se gestionan de manera incorrecta, la máquina pierde el rastro de su sistema de referencia, lo que hace que los offsets se apliquen erróneamente.

Estructura de Comandos

El parámetro MD20112 $MC_START_MODE_MASK es un ajuste de datos de máquina específico del canal. Se evalúa cada vez que arranca el programa de pieza para establecer las configuraciones cinemáticas y de coordenadas de base.

Este ajuste se define como una máscara de bits hexadecimal. El rango de valores es de 0 a 0x7FFFF, con un valor por defecto de fábrica típico de 0x400.

Sintaxis

; Selección de datos del canal
CHANDATA(1)

; Configurar la máscara de modo de inicio a hexadecimal 400 $MC_START_MODE_MASK = 'H400'

Parámetros

Parámetro / BitDescripciónRango de Valores
MD20112 $MC_START_MODE_MASKDefine los ajustes iniciales del control al inicio del programa.0 a 0x7FFFF (Hexadecimal)
Bits 4...18Máscara de bits donde los bits 4-17 definen la retención del ajuste actual o posición de restablecimiento para los grupos de G-code y offsets de herramienta. El bit 18 define la retención o restablecimiento del eje de referencia para G96/G961/G962.0 (adoptar posición de restablecimiento) o 1 (retener ajuste actual)

Aplicaciones de Marca

Siemens

El efecto práctico de programación del ajuste por defecto al inicio del programa de Siemens (MD20112 $MC_START_MODE_MASK) es la capacidad de dictar la base cinemática absoluta de la máquina en el milisegundo exacto en que el operador presiona Inicio de Ciclo (Cycle Start). Al configurar esta máscara de bits, los programadores ordenan al control que herede limpiamente los frames activos, las compensaciones de longitud de herramienta activas y los grupos de G-code del estado manual JOG anterior, o que fuerce una inicialización estricta de base. Los programadores y operadores deben vigilar el primer bloque de movimiento de su programa de pieza con extrema vigilancia si MD20112 está parametrizado para activar automáticamente una compensación de longitud de herramienta o un offset de trabajo configurable (como G54). El uso seguro dicta estrictamente que la primera programación de los ejes físicos debe utilizar coordenadas absolutas (G90). Si se programa un movimiento incremental mientras la máscara de inicio aplica repentinamente una longitud de herramienta o un offset de frame inesperado, la herramienta se clavará de forma impredecible basándose en el estado del offset anterior en lugar del cero de la pieza.

Siemens presenta varios comportamientos distintos con respecto a las configuraciones de inicio del programa que diferencian claramente a esta marca de otros sistemas de control. En primer lugar, Siemens desacopla estrictamente el estado de "Restablecimiento" (Reset) del estado de "Inicio" (Start). En lugar de forzar un único parámetro de inicialización global, Siemens utiliza MD20110 ($MC_RESET_MODE_MASK) para definir qué ocurre cuando se aborta un programa, y utiliza de forma independiente MD20112 ($MC_START_MODE_MASK) para definir qué ocurre cuando realmente se inicia el ciclo, lo que permite a la máquina mantener de forma segura los datos de medición manual durante una parada pero borrarlos limpiamente al arrancar un nuevo ciclo.

En segundo lugar, Siemens proporciona una máscara de inicio paralela dedicada exclusivamente para la función SERUPRO (Search Run via Program Test). Al utilizar MD22620 ($MC_START_MODE_MASK_PRT), los desarrolladores pueden ordenar al control que omita por completo los ajustes estándar de MD20112 específicamente durante una búsqueda de bloques, garantizando que la máquina se aproxime al contorno de forma segura sin activar offsets de mecanizado activo.

En tercer lugar, Siemens integra de forma nativa la comprobación preventiva de errores de inicialización; si la máscara de inicio intenta cargar un estado cinemático no válido (como velocidad de superficie constante sin un eje transversal definido), el control intercepta activamente el arranque y genera una alarma de inicialización antes de que se produzca cualquier movimiento físico de la máquina, evitando colisiones antes de que comiencen.

Comparación de Marcas

Serie / Modo del SistemaClasificación de DatosComportamiento de Restablecimiento e Inicio
Nuevos SINUMERIK ONE / 828D (Versión de Software >= 5)UDWORD (Palabra Doble Sin Signo)El comportamiento de restablecimiento de G-code se gestiona a través de MD20152 $MC_GCODE_RESET_MODE funcionando en tándem con la máscara de inicio MD20112.
Sistemas Heredados SINUMERIK 840D / 810D (Versión de Software < 5)DWORD (Palabra Doble)El comportamiento de restablecimiento de G-code depende puramente de MD20110 $MC_RESET_MODE_MASK, careciendo del parámetro paralelo MD20152.
Modo de Búsqueda de Bloques SERUPRO (Todos los Sistemas)UDWORD / DWORD (Coincide con el valor por defecto del sistema)Omite los ajustes normales de inicio del programa utilizando la máscara de inicio paralela MD22620 $MC_START_MODE_MASK_PRT habilitada a través de MD22621.

Análisis Técnico

El desacoplamiento de los estados de restablecimiento (reset) e inicio (start) en los controles Siemens SINUMERIK es una elección arquitectónica fundamental. A diferencia de los controles que utilizan un único estado de restablecimiento global, Siemens gestiona el apagado y arranque del sistema por separado. Cuando se aborta un programa, el control evalúa MD20110 $MC_RESET_MODE_MASK, el cual puede configurarse para conservar las mediciones manuales de jog o los frames de offset activos. Sin embargo, en el siguiente inicio de ciclo se evalúa MD20112 $MC_START_MODE_MASK, lo que permite al sistema borrar los datos de offset temporales e inicializar con un estado cinemático limpio.

Las diferencias de versión también afectan la forma en que se restablecen los estados de G-code. En sistemas más antiguos (versión de software 4 e inferiores), el estado de restablecimiento se controla en su totalidad mediante MD20110. En la versión 5 y posteriores, se introdujo el parámetro MD20152 $MC_GCODE_RESET_MODE para gestionar el comportamiento de restablecimiento de los grupos de G-code por separado. Esto funciona en tándem con la máscara de inicio del programa para evitar conflictos en los que un ajuste de inicio intente heredar un estado que ha sido borrado o modificado durante un restablecimiento.

La introducción de una máscara de inicio paralela para la función SERUPRO resuelve el riesgo de colisión durante la prueba del programa o la búsqueda de bloques. Al utilizar MD22620 $MC_START_MODE_MASK_PRT (habilitado a través de MD22621 $MC_ENABLE_START_MODE_MASK_PRT), el control utiliza un conjunto distinto de parámetros de inicialización específicamente durante las ejecuciones de búsqueda. Esto evita la carga de offsets de mecanizado estándar que podrían hacer que la herramienta se desvíe de su trayectoria de búsqueda segura.

Ejemplos de Programas

El siguiente ejemplo demuestra cómo configurar el parámetro de datos de máquina específico del canal para el ajuste por defecto del inicio del programa en un controlador Siemens. Configurar estos valores directamente en un programa de pieza es común cuando se restablecen configuraciones cinemáticas específicas para un canal. Para más detalles sobre la configuración de las propiedades de los ejes, consulte la estructura de nombres de ejes Siemens MD10000 (MD10000 Siemens Axis Names).

1. Configuración de la Máscara de Modo de Inicio para Restablecer Ajustes

Este código selecciona el canal activo y restablece la máscara de modo de inicio. Esta configuración deshabilita la activación automática de offsets de herramienta o frames al inicio del programa, obligando al operador a programarlos explícitamente.

; Seleccionar el área de datos del Canal 1
CHANDATA(1)
; Restablecer la máscara de modo de inicio a 0 (se adoptan las posiciones de restablecimiento por defecto)
$MC_START_MODE_MASK = 0

2. Configuración de la Máscara de Modo de Inicio para Retener Ajustes

Este código selecciona el canal activo y configura la máscara de modo de inicio en el valor hexadecimal típico 400, lo que habilita la retención de frames activos específicos y estados de G-code al inicio del ciclo.

; Seleccionar el área de datos del Canal 1
CHANDATA(1)
; Configurar la máscara de modo de inicio en el valor hexadecimal típico 400
$MC_START_MODE_MASK = 'H400'

Procedimiento de ejecución en seco (dry run)

Antes de ejecutar un nuevo programa de pieza que dependa de los ajustes por defecto de la máscara de inicio, realizar una ejecución en seco garantiza que los offsets se apliquen correctamente y que no ocurra ningún movimiento inesperado. Siga estos pasos:

  1. Verificar el Estado de la Máquina: Despeje manualmente cualquier área de sujeción de piezas, asegurándose de que no haya contacto con la mordaza (vise jaw), el plato (chuck) o la brida (clamp).
  2. Cargar el Modo MDA: Cambie el modo del controlador a Manual Data Automatic (MDA).
  3. Introducir el Código de Configuración: Introduzca los comandos CHANDATA(1) y $MC_START_MODE_MASK = 'H400'.
  4. Ejecutar el Bloque: Presione Inicio de Ciclo (Cycle Start). El control actualizará el parámetro del canal sin movimiento físico de los ejes.
  5. Cambiar a JOG: Verifique en la pantalla de estado de la HMI que el offset de herramienta activo y el frame de coordenadas coincidan con las posiciones de restablecimiento esperadas.

Análisis de Errores

Marca y Código de AlarmaCondición de ActivaciónSíntoma para el OperadorCausa Raíz / Solución Práctica
Siemens Alarma 14710
Error de secuencia de inicialización
Un bloque de inicialización generado después del inicio del programa de pieza (dependiente de MD20112) contiene ajustes de datos de máquina incorrectos.La ejecución del programa se detiene inmediatamente en el Inicio de Ciclo (Cycle Start); se muestra un mensaje de error de inicialización en la pantalla.La máscara de inicio intenta cargar una configuración cinemática no válida. Verifique que los ajustes de datos de máquina que coinciden con la máscara de inicio sean válidos, o configure MD20112 $MC_START_MODE_MASK para adoptar las posiciones de restablecimiento por defecto.
Siemens Alarma 10870
Eje de refrentado no definido
La velocidad de corte constante (G96/G961/G962) se activa al inicio del programa, pero no se ha definido ningún eje transversal.El arranque de NC está bloqueado, la máquina se niega a ejecutar el movimiento y se muestra el código de alarma de eje de refrentado.Falta el eje de geometría transversal. Defina el eje transversal en el parámetro MD20100 $MC_DIAMETER_AX_DEF o modifique los ajustes de inicio en MD20112 para desactivar G96 al inicio.
Siemens Alarma 14710 (Opción Cinemática)
Error de secuencia de inicialización
La máscara de inicio intenta cargar frames activos o transformaciones cinemáticas que no son válidas para el canal.Se previene la pérdida catastrófica de dimensionamiento; el controlador detiene la inicialización del programa antes del movimiento físico.Configuración incorrecta en la máscara de inicio. Cambie MD20112 $MC_START_MODE_MASK a 0 para evitar cargar frames no válidos, o verifique la cinemática del canal.

Nota de Aplicación

Una parada no planificada y la desactivación del relé de NC ready son las consecuencias de una colisión severa causada por la incorrecta inicialización de offsets al inicio del programa. Si un operador inicia el ciclo automático sin comprobar la máscara de inicio, el cabezal (spindle) puede chocar violentamente contra una mordaza (vise jaw) de sujeción, golpear el plato (chuck) de compensación, chocar contra una brida (clamp) o colisionar con la torreta (turret) opuesta. 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, deteniendo el flujo de la planta. Configurar el parámetro MD20112 para adoptar las posiciones de restablecimiento por defecto evita que se apliquen compensaciones de herramienta obsoletas o sistemas de coordenadas incorrectos de ejecuciones previas. Además, para garantizar la repetibilidad y el menor tiempo de ciclo, es obligatorio programar un comando G90 en el primer bloque de movimiento y definir el eje transversal en MD20100 para evitar que la activación de G96 en el arranque genere la Alarma 10870, previniendo paradas innecesarias y costosas pérdidas de tiempo de inactividad.

Red de Comandos Relacionados

  • MD20110 $MC_RESET_MODE_MASK: Define los ajustes de control básicos después del encendido del sistema o del restablecimiento/fin del programa (Reset/End), funcionando en tándem con los ajustes de la máscara de inicio.
  • MD22620 $MC_START_MODE_MASK_PRT: Define los ajustes de inicio utilizados durante una búsqueda de bloques SERUPRO para omitir las configuraciones de inicio estándar.
  • MD22621 $MC_ENABLE_START_MODE_MASK_PRT: Funciona como un interruptor booleano para habilitar o deshabilitar la máscara de inicio paralela de SERUPRO.
  • MD20152 $MC_GCODE_RESET_MODE: Gestiona el restablecimiento de los grupos de G-code en la versión de software 5 y superior, complementando las máscaras de inicio y restablecimiento.
  • MD20100 $MC_DIAMETER_AX_DEF: Define el eje transversal requerido para la velocidad de corte constante, evitando la Alarma 10870 cuando G96 se activa al inicio del programa.

Conclusión

La correcta parametrización de MD20112 garantiza que el ciclo de producción se inicie bajo condiciones cinemáticas totalmente controladas y repetibles. Limitar los automatismos que cargan de forma implícita offsets y restablecer obligatoriamente las coordenadas absolutas al arrancar el programa reduce drásticamente el riesgo de piezas rechazadas debido a desalineaciones del husillo. Al desacoplar los estados de restablecimiento e inicio, y emplear máscaras paralelas para la búsqueda de bloques, las empresas de mecanizado pueden optimizar el tiempo de ciclo y prevenir colisiones severas, resguardando la integridad de los operarios y minimizando el costoso tiempo de inactividad de los tornos y centros de mecanizado CNC.

Preguntas Frecuentes (FAQ)

¿Cómo evitar una colisión del cabezal al iniciar un programa con offsets activos en Siemens?

Al activar offsets de forma automática desde la máscara de inicio, el control aplica desplazamientos implícitos que pueden desviar la herramienta de la trayectoria real. Si el primer bloque de movimiento contiene cotas relativas, la máquina sumará este incremento a la posición residual, provocando un choque destructivo contra la mordaza. Acción práctica: Programe siempre un comando G90 explícito en la primera línea de movimiento del programa maestro para forzar el cálculo absoluto de las coordenadas con respecto al cero de pieza.

¿Qué causa la Alarma 10870 (eje de refrentado no definido) al arrancar el ciclo en un control SINUMERIK?

Este error se genera cuando la máscara de inicio MD20112 tiene configurado un bit que activa por defecto la velocidad de corte constante (G96) al encender o iniciar el programa, pero el sistema no encuentra un eje transversal válido asignado para el cálculo de la velocidad superficial en rpm. Acción práctica: Acceda a los datos de máquina del canal mediante la HMI, asigne el eje de refrentado en el parámetro MD20100 y verifique que el bit 18 de MD20112 esté en 0 para evitar que G96 se active de manera automática antes de definir el eje.

¿Por qué Siemens permite desacoplar los estados de Reset e Inicio y cómo beneficia a la producción?

A diferencia de otros controles, Siemens separa la acción de parada (MD20110) de la de arranque (MD20112) para que los operarios puedan abortar un mecanizado, realizar mediciones manuales en JOG y mantener esos valores activos en pantalla sin que se borren al instante, pero limpiando cualquier offset residual una vez que se presiona Inicio de Ciclo. Acción práctica: Audite periódicamente ambos parámetros en sus máquinas para garantizar que las variables temporales del JOG no persistan de forma no planificada al iniciar lotes de producción automatizados.

¿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