Saltar al contenido

Módulo 12 de 15

Los códigos de seguridad

El bloque que va al principio de todo programa y deja la máquina en un estado conocido.

Unos 15 minutos

Lo que vas a ver

  • Por qué la máquina recuerda el estado anterior
  • Qué cancela cada código del bloque
  • La línea que usamos y por qué
  • Qué pasa si la omites

De qué se trata

La máquina se acuerda de lo anterior

Casi todos los códigos de un programa son modales: se quedan activos hasta que otro código los cambie. Escribes G01 una vez y las siguientes líneas siguen siendo corte, aunque no lo repitas. Eso hace los programas cortos y legibles, y también es de donde salen los choques.

Porque la memoria de la máquina no se borra cuando termina un programa. Lo que dejó activo el trabajo anterior, lo que alguien tecleó en MDI para revisar algo, o el estado en el que quedó la máquina después de una alarma, sigue ahí cuando tú presionas Cycle Start. Tu programa no arranca en blanco: arranca en el estado en el que alguien más lo dejó.

G90 — absoluto0estabas aquíX2 Y2G01 X2. Y2.G91 — incremental0estabas aquíX3 Y3G01 X2. Y2.
El mismo bloque, dos destinos. Lo único que cambia es un código que venía activo de antes.

Esos son dos destinos distintos con el mismo bloque. Multiplícalo por un programa entero y ya no es un error de una pieza: es la herramienta buscando un punto que está fuera de la mesa.

La solución

La línea que va al principio de todo programa

La solución es no suponer nada: al empezar, el programa declara el estado en el que quiere trabajar. Esta es la línea que usamos aquí, tal como sale en nuestros programas:

O0001 (CONTORNO 3 X 2)
(MATERIAL - ALUMINIO 6061)
(T1 | 1/2 CORTADOR PLANO 3 FILOS | H1)
N100 G20
N102 G17 G40 G49 G80 G90

Arriba van el número de programa y los comentarios que necesita el operador. Abajo, seis códigos que no mueven nada: solo dejan la máquina en un estado conocido.

Qué hace cada código del bloque de seguridad
CódigoQué asegura
G20Pone el programa en pulgadas. Si la máquina quedó en milímetros del trabajo anterior, todas tus coordenadas valdrían 25.4 veces menos.
G17Elige el plano XY para los arcos. En otro plano, un G02 que tú dibujaste acostado se ejecuta parado.
G40Cancela la compensación de diámetro. Si venía activa, la máquina corre la trayectoria el radio de otra herramienta hacia un lado.
G49Cancela la compensación de largo. Sin esto puedes arrancar con la longitud de la herramienta anterior metida en la Z.
G80Cancela los ciclos enlatados. Un ciclo que se quedó activo convierte el siguiente posicionamiento en un barreno.
G90Pone las coordenadas en absoluto, medidas desde el cero pieza. En incremental, cada número se suma a donde estabas.

No es una fórmula mágica

Vas a ver variantes: hay talleres que agregan G94 para el avance por minuto, G54 para fijar el cero desde arriba, o G61. Lo importante no es copiar esta línea exacta, sino entender qué estado está declarando cada código, y que todos los programas del taller usen la misma: cuando son todas iguales, cualquiera puede leer un programa ajeno sin preguntarse qué se dio por sentado.

Lo que se evita

Qué pasa si no está

La línea de seguridad no se nota. Un programa sin ella corre perfecto noventa y nueve veces, porque la máquina ya venía en el estado correcto por casualidad. La vez cien es la que cuenta:

Se quedó G91 del programa anterior
Cada coordenada se interpreta como una distancia desde donde está la máquina, no como un punto. El programa completo se ejecuta corrido y creciendo, y lo primero que encuentra es la prensa.
Se quedó un G43 con otra H
La máquina baja creyendo que trae una herramienta que no trae. Si la de antes era más larga, tu herramienta se clava esa diferencia dentro de la pieza.
Se quedó un ciclo enlatado activo
El siguiente movimiento en XY ya no es un posicionamiento: es un barreno. La máquina taladra en cada punto por el que ibas pasando.
Se quedó G41 o G42 activo
Toda la trayectoria sale corrida hacia un lado el valor de un D que no es el tuyo. La pieza sale fuera de medida de una manera que parece un error de programación.

Por eso también se revisa en MDI

El MDI es cómodo para probar cosas, y todo lo que tecleas ahí queda activo en la máquina. Si revisaste algo en incremental, o encendiste una compensación para medir, eso sigue puesto cuando arranques el programa. La línea de seguridad te cubre; acordarte de lo que dejaste puesto te cubre mejor.

La otra mitad

Cómo se cierra un programa

Si el principio existe para no heredar el estado de otro, el final existe para no heredárselo a nadie. Nuestros programas cierran así:

N134 M09
N136 M05
N138 G91 G28 Z0.
N140 G28 X0. Y0.
N142 M30
Qué hace cada línea del cierre
M09Apaga el refrigerante.
M05Detiene el husillo.
G91 G28 Z0.Manda la Z a home antes que nada, para que la herramienta salga de la pieza antes de cualquier movimiento en XY.
G28 X0. Y0.Manda la mesa a home, ya con la herramienta arriba y fuera de peligro.
M30Termina el programa y lo regresa al principio, listo para la siguiente pieza.

El orden del final es tan importante como el del principio: primero sale la herramienta en Z y después se mueve la mesa. Al revés, la herramienta atraviesa la pieza, la prensa o las bridas de camino a home.

Antes de pasar al siguiente módulo

Abre tres programas distintos del taller y compara sus primeras y últimas líneas. Si no son iguales entre sí, ahí tienes un trabajo pendiente que vale más que cualquier optimización de trayectoria. Lo que sigue son los ciclos de taladrado, que son el ejemplo perfecto de un código modal que hay que cancelar.

Material de capacitación propio de Sonora Precision. Cada máquina y cada control tienen sus particularidades: el manual del fabricante manda sobre lo que leas aquí, y nada de esto sustituye la supervisión de alguien con experiencia en piso.