Comandos de Husillo CNC: Guía Completa de M03, M04 y M05
Aprenda a utilizar los comandos CNC M03, M04 y M05 en controles Fanuc, Siemens y Mitsubishi. Evite colisiones catastróficas y configure parámetros de seguridad.
Introducción
Un impacto catastrófico contra una mordaza de tornillo (vise jaw) o un plato de garras (chuck) ocurre en el instante en que el control de la máquina avanza los ejes mientras el husillo (spindle) todavía gira por inercia agresiva tras un comando M05 mal sincronizado. Si un programador confía ciegamente en una parada simple sin verificar la parada absoluta mediante el encoder, la herramienta chocará violentamente contra los componentes de sujeción, destruyendo la torreta (turret) y convirtiendo la pieza de trabajo en una pieza rechazada (scrap part) inservible. Del mismo modo, forzar un movimiento en modo eje C sin detener previamente la rotación mediante M05 provoca fallas graves de enclavamiento. Validar el parámetro 3706 en Fanuc, o el parámetro MD35020 en Siemens, elimina la causa más frecuente de parada no planificada en este comando, evitando costosos tiempos de inactividad. 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.
Resumen Técnico
| Especificación Técnica | Detalles |
|---|---|
| Códigos de Comando | M03, M04, M05 |
| Grupo Modal | Miscellaneous Functions (M-Codes) / Spindle Commands (Modal) |
| Marcas Soportadas | Fanuc, Siemens, Mitsubishi |
| Parámetros Críticos | Fanuc Parameter 3706 (polaridad de voltaje analógico) & 5106 (parada de roscado M5T); Siemens MD35020 (modo predeterminado del spindle) & MD35035 (máscara de funciones); Mitsubishi Parameters #12005 (códigos M máximos), #1297 (dirección P del spindle), & #1300 (independencia de sistemas de piezas). |
| Restricción Principal | Varios comandos de spindle en conflicto (M03 y M04) no pueden coexistir en el mismo bloque. Las velocidades absolutas del spindle están limitadas físicamente por las etapas de engranaje, y el arranque seguro está enclavado (interlocked) con las puertas de seguridad, el estado de sujeción del chuck y las señales generales de máquina lista (machine ready). |
Lectura Rápida
- Verifique la Orientación de Corte: Haga coincidir siempre el diseño a derecha o izquierda de la herramienta con el sentido de giro correcto (M03 para sentido horario, M04 para sentido antihorario) para evitar la destrucción inmediata de la herramienta al entrar en contacto con el material.
- Utilice Limitadores de Velocidad: Establezca siempre un limitador (speed clamp) de velocidad de spindle válido usando G50 o G92 en tornos antes de iniciar M03 o M04 en operaciones de husillo múltiple para evitar la alarma Mitsubishi M01 1043.
- Imponga Sincronizaciones de Parada Total: Utilice comandos de espera deterministas como la instrucción WAITS en Siemens o retardo (dwell) explícitos como G04: Dwell para forzar al interpolador a retener el desplazamiento de los ejes hasta que el spindle esté completamente detenido por M05.
- Aísle los Códigos M de Spindle: Nunca programe comandos de spindle en conflicto como M03 y M04 en la misma línea, ya que esto activará la alarma Fanuc PS5016.
- Asegure la Detección de Flanco en Eje C: Al retornar al modo spindle desde el modo eje C en sistemas Mitsubishi, programe primero un comando M05 explícito para crear el flanco de transición obligatorio de OFF a ON necesario para M03.
- Optimice los Parámetros de Roscado: Configure el Fanuc Parameter 5106 (M5T) para emitir automáticamente un M05 momentáneo entre las inversiones de M03 y M04, protegiendo al variador del spindle de golpes eléctricos severos durante el roscado rígido (rigid tapping).
Conceptos Básicos
El control de la rotación del spindle es la fuente de energía fundamental para la eliminación de metal, suministrando el torque mecánico y la velocidad de corte necesarios para el torneado y fresado. Los comandos M03, M04 y M05 gobiernan el estado cinético físico del CNC spindle, actuando como las instrucciones primarias para arrancar y detener los accionamientos del spindle. Los comandos S especifican la velocidad de rotación (ya sea RPM constantes o gestionadas mediante la velocidad de corte constante bajo G96: Velocidad de Corte Constante). Sin un comando de spindle activo, la máquina no puede eliminar material, y el movimiento de los ejes solo resultará en fricción de la herramienta o daños mecánicos.
La seguridad direccional es una consideración primordial porque la geometría de la herramienta de corte debe coincidir con el sentido de rotación. Una herramienta de corte a derecha estándar o una plaquita de torneado requiere una rotación en sentido horario (M03) para cortar de manera eficiente. Si por error se ordena que el spindle gire en sentido inverso (M04), la parte posterior del filo de corte rozará contra el material, generando fricción y calor extremos. Este error romperá instantáneamente la herramienta de carburo, arruinará la calidad de la superficie de la pieza de trabajo y someterá a esfuerzos severos a los rodamientos del spindle de la máquina. Los maquinistas deben verificar visualmente la dirección de corte antes de iniciar la trayectoria de la herramienta en el material bruto.
La parada del spindle y la sincronización de desaceleración son críticas para el control del tiempo de ciclo. M05 representa el comando físico de parada, pero los sistemas CNC estándar no pausan automáticamente los movimientos de coordenadas mientras el spindle se desacelera por inercia. Cuando un programa detiene la rotación del spindle, los ejes pueden continuar moviéndose, creando una situación de alto riesgo. Los programadores deben asegurarse de que el spindle esté completamente estacionario antes de realizar cambios de herramienta o volteos de piezas (lo cual también se puede gestionar pausando mediante los comandos de parada M00/M30).
Estructura de Comandos
La sintaxis de programación de los comandos del spindle está altamente estructurada y requiere una claridad absoluta para garantizar una ejecución correcta por parte de la lógica del PLC de la máquina. Cada comando consiste en la dirección M seguida de un valor numérico de dos dígitos, que representa rotación en sentido horario, rotación en sentido antihorario o una parada completa. Estos códigos son modales, lo que significa que permanecen activos hasta que se encuentra un comando en conflicto en el flujo del programa.
En configuraciones estándar, la velocidad del spindle debe declararse junto con o antes del comando de rotación. Los programadores escriben el código S para establecer la velocidad objetivo en RPM o la velocidad de superficie, y luego emiten M03 o M04. En máquinas de husillo múltiple, la estructura del comando se expande para incluir direcciones de destino. Esto permite a los programadores especificar exactamente qué accionamiento de spindle debe responder al comando, evitando conflictos al gestionar múltiples spindles de herramientas simultáneamente.
Sintaxis de Programación:
M03 S[speed] [P_] ;
M04 S[speed] [P_] ;
M05 [P_] ;
Parámetros y Configuraciones del Sistema:
| Marca | Identificador del Parámetro | Configuración del Sistema y Función de Hardware |
|---|---|---|
| Fanuc | Parameter 3706 | Controla la polaridad de la salida de voltaje analógico. El Bit 6 (CWM) y el Bit 7 (TCW) personalizan las señales de voltaje D/A para los comandos M03 y M04. |
| Fanuc | Parameter 5106 | El Bit 6 (M5T) o NM5 dicta si se ejecuta un M05 antes de una inversión de spindle en los ciclos fijos de roscado. 0 genera M05; 1 lo omite. |
| Fanuc | Parameters 5112 & 5113 | Define los códigos enteros específicos de M utilizados para los comandos de avance (5112) y reversa (5113) del spindle durante los ciclos fijos de taladrado. |
| Siemens | MD35020 | $MA_SPIND_DEFAULT_MODE define el modo predeterminado de encendido del spindle (0: Control de velocidad, 1: Velocidad con posición, 2: Posicionamiento, 3: Eje). |
| Siemens | MD35035 | $MA_SPIND_FUNCTION_MASK define la máscara de funciones del spindle. El Bit 22 controla las señales de inversión NC/PLC para la dirección de rotación del roscado rígido. |
| Mitsubishi | Parameter #12005 | Mfig establece el número máximo permitido de códigos M auxiliares en un solo bloque de G-code (rango de 1 a 4 códigos). |
| Mitsubishi | Parameter #1297 | ext33/bit2 configura si el CNC permite la selección de spindle utilizando la dirección P junto con los códigos M (0: deshabilitar, 1: habilitar). |
| Mitsubishi | Parameter #1300 | ext36/bit1 selecciona si las velocidades del spindle y los códigos M se comparten globalmente (0) o se manejan de manera independiente por sistema de piezas (1). |
Aplicaciones de Marca
Fanuc
En controles Fanuc, los comandos M03, M04 y M05 se integran con el parámetro 3706 y el parámetro 5106. El parámetro 3706 configura los signos de voltaje de salida, mientras que el parámetro 5106 gestiona las inversiones de sentido en los ciclos de roscado. Una programación segura requiere mantener estos comandos en bloques aislados para evitar conflictos de análisis (parsing) en la tarjeta del amplificador del spindle.
Los programas de G-code en Fanuc utilizan un formato estándar para comandar las velocidades del spindle. En centros de torneado de husillo múltiple, los programadores pueden anexar una dirección P para designar un spindle secundario cuando el parámetro 3786 está habilitado por el fabricante de la máquina (builder).
| Categoría del Sistema | Configuración / Código de Alarma | Descripción y Comportamiento de Hardware |
|---|---|---|
| System Parameters | Parameter 3706 (Bits 6 & 7) | Configura la polaridad del voltaje analógico de salida. El Bit 6 es CWM (polaridad de sentido horario) y el Bit 7 es TCW (polaridad de sentido antihorario). Alternar estos bits gestiona la polaridad del voltaje D/A. |
| System Parameters | Parameter 5106 (Bit 6 / NM5) | Parada de inversión del spindle en ciclo de roscado. Al configurarse en 0 emite M05 antes de invertir el giro; al configurarse en 1 omite M05 para reducir el tiempo de ciclo de roscado. |
| System Parameters | Parameters 5112 & 5113 | Redefine los códigos M del spindle para ciclos fijos de taladrado (números enteros para avance y reversa). |
| System Parameters | Parameter 5600 (Legacy) | Los Bits 0 (M3M) y 1 (M4M) establecen la polaridad D/A en controles heredados FS3 y FS6. |
| Alarms / Errors | PS5016 | Combinación ilegal de código M (Illegal Combination of M-code): Ocurre cuando M03 y M04 se programan en el mismo bloque. |
| Alarms / Errors | Er-01 | Error de enclavamiento del amplificador del spindle (Spindle amplifier interlock error): La señal de spindle adelante/reversa (SFR/SRV) se envía mientras la Parada de Emergencia (*ESP) o la Máquina Lista (MRDY) no están satisfechas. |
| Version Differences | Legacy vs Modern | Los controladores heredados FS3/FS6 utilizan el parámetro 5600 para la polaridad; los sistemas modernos de las series M y T migraron esta función al parámetro 3706. |
Advertencia: Intentar eludir los estados de enclavamiento (interlock) de seguridad o programar códigos M en conflicto dentro de la misma línea de programa activa activará inmediatamente la alarma de secuencia Er-01 en el amplificador del spindle o detendrá la ejecución con la alarma PS5016, provocando una parada de emergencia.
Siemens
Los controles Siemens SINUMERIK gobiernan el comportamiento del spindle utilizando los datos de máquina MD35020 y MD35035. Estos permiten una personalización profunda de los estados de arranque predeterminados y las máscaras de dirección. El control admite el direccionamiento directo, lo que permite a los programadores apuntar a múltiples spindles de forma nativa utilizando el índice del spindle.
La sintaxis de Siemens admite tanto M3/M4/M5 como notaciones extendidas como M1=3. Los programadores pueden escribir estos comandos dentro de bloques de movimiento, pero deben monitorear los estados de aceleración del spindle para asegurarse de que las trayectorias de corte no inicien antes de tiempo.
| Categoría del Sistema | Configuración / Código de Alarma | Descripción y Comportamiento de Hardware |
|---|---|---|
| Syntax | `M=3` / `M=4` / `M=5` | Notación de dirección extendida para direccionar spindles secundarios (hasta 5 spindles por canal) de forma nativa. |
| System Parameters | MD35020 | $MA_SPIND_DEFAULT_MODE: Define el modo por defecto del spindle al encender (0 = Control de velocidad, 1 = Velocidad con posición, 2 = Posicionamiento, 3 = Modo eje). |
| System Parameters | MD35035 | $MA_SPIND_FUNCTION_MASK: Máscara de función específica del spindle. El Bit 22 dicta si las señales de inversión NC/PLC invierten el sentido del roscado rígido. |
| Alarms / Errors | Alarm 16111 | "Sin velocidad programada" ("No speed programmed"): Se activa si se comanda M3 o M4 sin una velocidad declarada (valor S) en el bloque o en la memoria activa. |
| Alarms / Errors | Alarm 16751 | "spindle/axis SPCOF no ejecutable" ("spindle/axis SPCOF not executable"): Se activa si se deselecciona el control de posición cuando el spindle está en modo de posicionamiento o eje; se resuelve comandando M3, M4 o M5. |
| Alarms / Errors | Alarm 20141 | Se activa durante acciones sincronizadas (synchronized actions) cuando se intenta una transición no válida de control de velocidad (M3) a modo eje sin una parada del spindle. |
| Version Differences | G290 vs G291 Dialects | El Modo Siemens (G290) admite comandos nativos de husillo múltiple como `M2=3`. El modo de dialecto ISO (G291) deshabilita esta sintaxis, traduciendo en su lugar los códigos M legados de ISO M103, M104 y M105. |
Advertencia: Confiar en un comando de parada M5 básico para detener el spindle antes de retirar una herramienta de una cavidad estrecha es altamente peligroso. Por defecto, el desplazamiento de los ejes comienza antes de que el spindle alcance cero RPM. Para evitar una colisión severa con una brida de sujeción (clamp) o una mordaza de tornillo (vise jaw), los programadores deben emparejar M5 con un comando de sincronización determinista WAITS.
Mitsubishi
Los sistemas Mitsubishi utilizan el parámetro #1297 y el parámetro #1300 para gestionar las direcciones del spindle y el uso compartido en sistemas múltiples. Estas configuraciones dictan cómo interpreta el CNC las rutas de múltiples spindles. El control impone enclavamientos estrictos durante la operación automática para proteger los accionamientos del spindle de cambios de modo incorrectos.
Los programas de Mitsubishi utilizan un formato G-code estándar, pero los operadores deben establecer los límites apropiados antes de iniciar la rotación. Al realizar transiciones entre los modos de fresado y torneado, los programadores deben observar la lógica de detección de flancos del sistema para garantizar un arranque seguro.
| Categoría del Sistema | Configuración / Código de Alarma | Descripción y Comportamiento de Hardware |
|---|---|---|
| Syntax | `M_ P_ ;` | Anexa una dirección P para direccionar un spindle específico durante el Control de Husillo Múltiple I (exclusivo para tornos / sistemas L). |
| System Parameters | #1297 (ext33/bit2) | Configura si el CNC permite la selección de spindle utilizando la dirección P junto con los códigos M (0: deshabilitar, 1: habilitar). |
| System Parameters | #1300 (ext36/bit1) | Selecciona si la velocidad del spindle y los comandos de rotación se comparten globalmente entre los sistemas de piezas (0) o si se gestionan de forma individual (1). |
| System Parameters | #12005 (Mfig) | Define el número máximo de códigos M permitidos en un solo bloque (rango de 1 a 4). |
| System Parameters | #13001 (SP001 PGV) | Establece la ganancia del bucle de posición aplicada cuando el comando M03 o M04 está activo. |
| Alarms / Errors | M01 1043 | Error de operación (Operation error): Se activa en el Control de Husillo Múltiple II si se comanda M03/M04 antes de establecer un limitador de velocidad válido (G92/G50). |
| Alarms / Errors | M01 1026 | Se activa si se inicia la operación automática (M03/M04) mientras el spindle/eje está bloqueado en el modo eje C en lugar del modo Spindle. |
| Alarms / Errors | M01 0005 | Error de operación (Operation error): Se activa si se ejecuta un comando de movimiento de ejes en modo eje C antes de que el spindle se haya detenido mediante M05. |
| Alarms / Errors | P33 | Error de formato (Format error): Se activa si un comando de múltiples spindles carece de la dirección P requerida. |
| Version Differences | Control I vs Control II | El Control de Husillo Múltiple I (selectivo por dirección P) es exclusivo para sistemas L (torno). El Control II (señal controlada por PLC) está disponible tanto en sistemas M (fresa) como L. El estado al encender se establece mediante el parámetro #3129. |
Advertencia: Lanzar operaciones automáticas como M03 mientras la máquina permanece bloqueada incorrectamente en modo eje C detendrá inmediatamente la ejecución. No realizar correctamente una parada M05 antes de cambiar de modo provocará colisiones de herramientas y piezas rechazadas.
Comparación de Marcas
| Tema Comparativo | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Sintaxis de Dirección de Husillo Múltiple | Anexa una dirección P (por ejemplo, M03 P2;) para apuntar a spindles secundarios si el Parameter 3786 (MPF) está activo. | Utiliza notación de dirección extendida estándar de forma nativa (por ejemplo, M2=3) o códigos M heredados mapeados del dialecto ISO (M103). | Los sistemas de torno anexan una dirección P (M03 P2 ;) para el Control I; el Control II enruta los comandos a través de la selección del PLC. |
| Control de Desaceleración del Spindle | Se apoya en enclavamientos mecánicos o temporizadores; los ciclos fijos utilizan el Parameter 5106 (M5T) para insertar una parada antes de invertir el giro. | Presenta un bloque de sincronización determinista WAITS para pausar las interpolaciones de los ejes hasta que se verifique la velocidad exacta de cero RPM. | Requiere una parada M05 explícita y detección de flanco OFF a ON para salir de forma segura del modo eje C y permitir el corte de torneado. |
| Autonomía del Sistema de Piezas | Definida por el diseño del PMC y las configuraciones de mapeo de hardware. | El control sobre el spindle se define dinámicamente dentro de los bucles del programa utilizando el comando SETMS. | El parámetro #1300 ext36/bit1 determina si los comandos se comparten globalmente o si se manejan por separado para cada sistema. |
| Configuración de Polaridad de Rotación | El CNC invierte el signo del voltaje de salida D/A desde el Parameter 3706 (bits CWM/TCW) o 5600 (heredado). | Gestionado utilizando el modo predeterminado del spindle (MD35020) and los parámetros de máscara de función (MD35035). | El modo de arranque de Spindle vs eje C se configura mediante el parámetro #3129 cax_spec/bit2. |
Análisis Técnico
Un análisis comparativo de estos tres destacados sistemas de control revela enfoques de ingeniería distintos para la ejecución de los comandos del spindle. Aunque los tres realizan las funciones básicas de giro horario, antihorario y parada, las estructuras de datos subyacentes, los métodos de comunicación de hardware y la lógica de seguridad difieren significativamente. Comprender estas diferencias de ingeniería permite a los desarrolladores escribir programas de G-code más limpios y portables.
Siemens sobresale en flexibilidad de programación a través de su notación de dirección extendida y capacidades de sincronización nativas. Al permitir llamadas a múltiples spindles directamente en el bloque (como M2=3), Siemens elimina la necesidad de comandos de selección de spindle separados. Combinado con la instrucción determinista WAITS, el controlador asegura que el estado físico del spindle coincida con el estado lógico del programa antes de que se permita el avance de los ejes. Esto se maneja a nivel del intérprete, el cual lee el encoder directamente, evitando el retraso asociado con los handshakes del PLC externo.
Fanuc se centra en la parametrización de bajo nivel, brindando a los fabricantes de máquinas (builders) un control profundo sobre las señales de accionamiento analógicas y los comportamientos de los ciclos fijos (canned cycles). En lugar de utilizar reasignaciones dinámicas de husillo maestro (master spindle), Fanuc confía en parámetros fijos como 3706 y 5106 para controlar las polaridades de las señales y las secuencias de enclavamiento. Aunque este enfoque mantiene la sintaxis del programa simple, impone una carga más pesada sobre el técnico de configuración y el fabricante, quienes deben mapear estos parámetros para que coincidan con los cableados físicos del hardware de la máquina.
Mitsubishi ocupa un terreno intermedio, ofreciendo controles robustos de uso compartido de sistemas múltiples a través de parámetros como #1297 y #1300. Su característica definitoria es una lógica rígida de seguridad basada en detección de flancos para el cambio de modo. Al ignorar los comandos de arranque del spindle a menos que estén precedidos por un flanco de transición (de OFF a ON), Mitsubishi evita la aceleración accidental del spindle durante las interpolaciones en modo eje C. Esto protege el herramental físico, aunque requiere que los programadores sigan procedimientos de parada estrictos y secuenciales.
Ejemplos de Programas
Ejemplo de Programa Fanuc
O2001 (EJEMPLO DE VELOCIDAD Y REVERSA DE HUSILLO FANUC) ;
N10 G90 G21 G17 ;
N20 T0101 M06 (Cargar herramienta de fresado a derecha) ;
N30 G54 G00 X0 Y0 S1500 M03 (Arrancar rotacion adelante a 1500 RPM) ;
N40 G43 H01 Z20.0 M08 (Habilitar compensacion, encender coolant) ;
N50 G01 Z-5.0 F150. ;
N60 X100.0 ;
N70 G00 Z20.0 M09 (Retraer herramienta, apagar coolant) ;
N80 G04 X2.0 (Dwell para estabilizacion de transicion de spindle) ;
N90 M04 S800 (Reversa de spindle a 800 RPM para corte trasero) ;
N100 G01 Z-2.0 F100. ;
N110 X0 ;
N120 G00 Z50.0 M05 M09 (Retraccion, parada de spindle, apagar coolant) ;
N130 M30 ;
%
Análisis de ejecución en seco (dry run)
- Estados de la herramienta: En N30, el spindle acelera hacia adelante a 1500 RPM bajo M03. En N90, el spindle invierte su rotación a 800 RPM bajo M04. En N120, el spindle es detenido por M05 y el coolant se apaga.
- Acciones del operador: El operador carga el programa, verifica que la geometría de la herramienta sea compatible con el sentido de rotación horario y antihorario, y establece el override físico de velocidad al 100% en el panel.
- Respuestas del PLC: Al analizar N30, el PLC cierra los relés de marcha adelante del spindle. Al analizar N90, cambia la polaridad del voltaje analógico para invertir el sentido de rotación. Durante N120, el PLC abre los contactores del spindle, aplicando un frenado dinámico para detener el spindle por completo.
Ejemplo de Programa Siemens
; EJEMPLO SIEMENS DE HUSILLOS MULTIPLES Y WAITS
N10 G90 G71 G17
N20 T="FACE_MILL_80" D1 M6
N30 G54 S3000 M3 ; Arrancar spindle principal CW a 3000 RPM
N40 G0 X0 Y0 Z25.0 M8
N50 G1 Z-4.0 F300.
N60 Y120.0
N70 G0 Z50.0 M9
N80 M2=4 S2=800 ; Arrancar spindle secundario 2 CCW a 800 RPM
N90 M5 ; Parar spindle principal
N100 WAITS ; Forzar control a esperar hasta que spindle principal este a 0 RPM
N110 G53 X0 Y0 D0
N120 M30
Análisis de ejecución en seco
- Estados de la herramienta: El spindle principal gira en sentido CW a 3000 RPM en N30. El spindle secundario (spindle 2) se activa en sentido CCW a 800 RPM en N80. El spindle principal se detiene en N90.
- Acciones del operador: El operador monta herramientas tanto en el spindle principal como en la torreta (turret) de herramientas motorizadas, verifica que el spindle secundario no esté obstruido y monitorea la pantalla del control.
- Respuestas del PLC: El PLC recibe el comando M2=4 y aplica voltaje al spindle auxiliar. En N90, corta la energía al spindle principal. En N100, la instrucción WAITS monitorea el encoder hasta que se verifica una velocidad de cero, liberando el enclavamiento (interlock) de los ejes para que el retorno al cero de la máquina se ejecute de manera segura.
Ejemplo de Programa Mitsubishi
; TRANSICION DE EJE C A SPINDLE EN MITSUBISHI
N10 G90 G21
N20 M06 T0101 ; Cargar herramienta de torneado
N30 G54 G00 X50.0 Z5.0
N40 M05 ; Asegurar que spindle este parado antes del cambio de modo
N50 M15 ; Cambiar de modo Spindle a modo eje C
N60 G00 C90.0 ; Posicionar eje C
N70 M05 ; Detener rotacion del eje C
N80 M14 ; Cambiar de regreso a modo Spindle
N90 M03 S1000 ; Arrancar torneado adelante estandar a 1000 r/min
N100 G01 Z-20.0 F120.
N110 G00 X60.0 M05
N120 M30
Análisis de ejecución en seco
- Estados de la herramienta: La herramienta de torneado está posicionada. El modo Spindle cambia al modo eje C en N50, realiza el posicionamiento angular, luego cambia de regreso al modo Spindle en N80 antes de que comience la rotación de alta velocidad en N90.
- Acciones del operador: El operador verifica la sujeción de la pieza en el chuck y se asegura de que los parámetros de interpolación del eje C estén activos en el monitor.
- Respuestas del PLC: El PLC gestiona las señales de los relés de transición de modo. Cuando se analiza M05 en N70, detiene el motor del eje C. Al recibir M03 en N90, se verifica la señal de flanco ascendente OFF a ON, habilitando la rotación de velocidad del spindle a 1000 r/min.
Análisis de Errores
| Marca | Código de Alarma | Condición de Activación | Síntoma del Operador | Causa Raíz / Solución |
|---|---|---|---|---|
| Fanuc | PS5016 | Programar comandos M en conflicto del mismo grupo exacto (M03 y M04) dentro de un solo bloque. | El CNC detiene instantáneamente la ejecución y la luz de alarma parpadea con "ILLEGAL COMBINATION OF M CODE" en la pantalla. | Error de programación; divida los comandos en bloques separados o elimine el código en conflicto. |
| Fanuc | Er-01 | La señal de spindle adelante (SFR) o reversa (SRV) está activa mientras la Parada de Emergencia (*ESP) o la Máquina Lista (MRDY) no están satisfechas. | La pantalla del CNC muestra Er-01 y el amplificador físico del spindle muestra la indicación LED 00, deshabilitando el movimiento del spindle. | Falla de secuencia; compruebe las puertas de seguridad, los enclavamientos (interlocks) y el estado de la alimentación del amplificador del spindle para restaurar la señal MRDY. |
| Siemens | Alarm 16111 | La rotación del spindle adelante (M3) o reversa (M4) está activa o se comanda sin un valor de velocidad S. | Aparece "Sin velocidad programada" ("No speed programmed") en la pantalla y la ejecución se detiene antes de que se analice el bloque. | Programe una velocidad explícita (valor S) en el bloque o previamente en la secuencia del programa. |
| Siemens | Alarm 16751 | Deseleccionar el control de posición (SPCOF) mientras el spindle está funcionando en modo de posicionamiento o de eje. | La pantalla muestra "spindle/axis SPCOF no ejecutable" ("spindle/axis SPCOF not executable"), deteniendo las operaciones subsiguientes. | Retorne el spindle al modo de control de velocidad comandando un M3, M4 o M5 estándar antes de deseleccionar. |
| Mitsubishi | M01 1043 | Comandar M03 o M04 en el Control de Husillo Múltiple II antes de establecer un limitador de velocidad válido (G92/G50). | El controlador activa inmediatamente el error de operación M01 1043 y aborta el ciclo. | Establezca un limitador de velocidad máxima del spindle válido (G92 o G50) antes de emitir el bloque de rotación del spindle. |
| Mitsubishi | M01 1026 | Intentar la operación automática (M03/M04) mientras el eje está bloqueado en el modo eje C en lugar del modo Spindle. | Aparece la alarma "SP-C ax ctrl runs independently" y la aceleración del spindle se bloquea. | Desactive el modo eje C utilizando los códigos M correspondientes del fabricante (tales como M14/M15) para retornar al modo Spindle. |
Nota de Aplicación
Una costosa parada de producción y daños mecánicos severos en la torreta (turret) se desencadenan instantáneamente cuando el operador intenta realizar un corte de torneado pesado mientras la máquina permanece bloqueada en el modo eje C. Si se introduce un comando M03 o M04 sin haber desactivado previamente el eje C mediante el comando M14 o M15, el control Mitsubishi bloquea la rotación y genera una alarma M01 1026, lo que detiene el ciclo de trabajo de manera abrupta y provoca un prolongado tiempo de inactividad. La falta de inercia de corte provoca que la herramienta se estrelle contra el plato de garras (chuck) estacionario o contra una mordaza de tornillo (vise jaw) rígida, rompiendo la herramienta e incrementando el volumen de piezas rechazadas (scrap parts). De igual forma, en sistemas Siemens, retirar una herramienta de una cavidad estrecha mandando únicamente M05 sin pausar explícitamente los ejes con la instrucción WAITS permite que los ejes se desplacen mientras el husillo (spindle) aún desacelera, destruyendo la brida de sujeción (clamp). Para evitar estas consecuencias catastróficas, es imperativo establecer límites de seguridad como la velocidad de sujeción G92 o G50 en Mitsubishi antes de activar M03 o M04 en configuraciones de husillo múltiple (evitando la alarma M01 1043), y configurar el parámetro 5106 bit 6 (M5T) en controles Fanuc para insertar una parada controlada M05 entre inversiones de sentido durante el roscado rígido, protegiendo al motor de sobrecargas eléctricas.
Red de Comandos Relacionados
- Código S (Velocidad del Spindle): Declara la velocidad objetivo del spindle en RPM o el límite de velocidad de corte, trabajando en conjunto con M03 y M04 para establecer la velocidad de corte.
- M19 / SPOS (Orientación del Spindle): Posiciona el spindle en un punto de parada angular preciso, el cual debe ser desactivado mediante M03 o M04 para retornar el spindle al modo de control de velocidad.
- G96 / G97 (Velocidad de Corte Constante): Gobierna la aceleración del spindle basada en la posición de la herramienta (G96) o bloquea el spindle a RPM constantes (G97) durante el corte.
- SETMS (Selección de Husillo Maestro en Siemens): Define dinámicamente qué spindle se evalúa como el husillo maestro, dictando qué accionamiento responde a los comandos base M3/M4/M5.
- WAITS (Sincronización del Spindle en Siemens): Retiene las interpolaciones de los ejes subsiguientes hasta que el spindle ha alcanzado con éxito su velocidad programada o se ha detenido mediante M5.
Conclusión
La recomendación de producción más eficaz en el taller de mecanizado es auditar rigurosamente los parámetros de sincronización del husillo (spindle) y la lógica de enclavamiento antes de iniciar cualquier ciclo automático de alta velocidad. Implementar tiempos de espera deterministas —como la instrucción WAITS en Siemens o dwells G04 adecuados en Fanuc y Mitsubishi— y configurar correctamente los bits de polaridad del parámetro 3706 en Fanuc elimina cualquier riesgo de colisión destructiva contra mordazas de tornillo (vise jaws) o platos de garras (chuck). Esta práctica preventiva de control de parámetros optimiza los tiempos de ciclo en procesos exigentes como el roscado rígido y garantiza que cada movimiento de los ejes se realice bajo condiciones de rotación seguras y verificadas, maximizando la eficiencia operativa y reduciendo a cero el índice de piezas rechazadas.
Preguntas Frecuentes (FAQ)
¿Por qué se produce una colisión de la herramienta si ya he programado el comando de parada de husillo M05?
El comando M05 desactiva la potencia del motor del husillo (spindle), pero el control CNC no detiene automáticamente el avance de los ejes geométricos mientras el cabezal desacelera por inercia. Si los ejes se desplazan de inmediato hacia el cambio de herramienta, el cortador en movimiento chocará contra una mordaza de tornillo (vise jaw) o una brida (clamp), arruinando la pieza. Acción práctica: Agregue siempre una instrucción de sincronización de parada total, como la función WAITS en Siemens o un retardo G04 Dwell explícito de al menos 2 segundos en Fanuc y Mitsubishi, garantizando que el husillo alcance las 0 RPM antes del movimiento de retracción de los ejes.
¿Cómo se elimina la alarma M01 1043 en tornos de cabezal múltiple Mitsubishi?
La alarma de operación M01 1043 se activa de forma instantánea en controles Mitsubishi con la función Multiple-Spindle Control II si se intenta activar el husillo principal o secundario mediante M03 o M04 sin haber definido previamente un límite máximo de velocidad. Esto es una medida de seguridad del fabricante para evitar velocidades centrífugas peligrosas en el plato de garras (chuck). Acción práctica: Escriba siempre un comando de limitación de velocidad G50 (para tornos) o G92 (para fresadoras) especificando la velocidad máxima en RPM (por ejemplo, G50 S2500) en una línea anterior o en el mismo bloque donde se mande la rotación del husillo.
¿Qué causa la alarma PS5016 en controles Fanuc al cambiar la dirección del husillo?
Esta falla crítica se genera cuando el programador intenta cambiar el sentido de giro del husillo de horario (M03) a antihorario (M04) en un solo bloque de código, o cuando escribe ambos comandos simultáneamente, lo que provoca un conflicto en el intérprete CNC. Además, realizar una inversión brusca de dirección sin detener el motor genera picos de tensión eléctrica severos en el variador. Acción práctica: Programe siempre un código M05 independiente para detener la rotación antes del bloque M03 o M04, o configure el bit 6 del parámetro 5106 (M5T) en el control Fanuc para que el sistema inyecte de manera automática una pausa transitoria de seguridad durante los ciclos de roscado.
¿Aún no se ha resuelto?
Pregunta a nuestro asistente de IA sobre este tema en lenguaje natural. Basado en fuentes verificadas, sin alucinaciones.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2005)
- Ö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
Giro de Plano CYCLE800 en Siemens: Alineación de Herramientas y G-Code
Aprenda el mecanizado 3+2 ejes con el CYCLE800 de Siemens. Compare su uso con Fanuc y Mitsubishi, configure el retroceso y evite las Alarmas 61190 y 61153.
Fresado de Contornos con Siemens CYCLE72: Guía de Parametrización
Optimice el fresado de contornos en controles Siemens Sinumerik con CYCLE72. Evite la alarma de simulación 61123, colisiones en el plato y paradas críticas.
Guía de Programación del Ciclo de Torneado de Contornos Siemens CYCLE952
Aprenda a programar el ciclo Siemens CYCLE952 en Sinumerik. Evite alarmas, optimice tiempos de ciclo y compare con Fanuc y Mitsubishi para evitar colisiones.
Guía de Programación de los Ciclos de Ranurado Siemens SLOT1 y SLOT2
Aprenda a programar ranuras en controles Siemens Sinumerik con los ciclos SLOT1 y SLOT2. Compare diferencias con Fanuc y Mitsubishi para evitar alarmas.