Publicado

Funciones avanzadas de macros personalizadas en CNC

Descubra cómo las macros personalizadas en CNC ofrecen acceso a funciones avanzadas, desde variables del sistema hasta códigos G y M definidos por el usuario.      

Compartir

Los argumentos pueden incorporarse en el comando de llamada con códigos G definidos por el usuario. Además, es factible generar códigos G modales personalizados.

Los argumentos pueden incorporarse en el comando de llamada con códigos G definidos por el usuario. Además, es factible generar códigos G modales personalizados.

En una columna anterior se describían las funciones de las macros personalizadas relacionadas con la programación de computadoras. Esta columna aborda las funciones de las macros personalizadas relacionadas con el CNC, que se dividen en dos temas: variables del sistema, y códigos G y M definidos por el usuario.

Variables del sistema en programación CNC

Las variables de sistema se especifican con variables numeradas de 1,000 en adelante. Cada tipo de variable de sistema tiene su propio grupo de números de variable de sistema. Todas proporcionan acceso a funciones del CNC que no están disponibles en la programación normal en código G. Esta columna repasa algunas de ellas, no secuencialmente, sino por orden de popularidad.

Puede resultar difícil apreciar la importancia de las variables del sistema y pensar en las implicaciones de cuándo pueden ser útiles. A continuación se presentan algunos ejemplos sencillos, pero solo son una muestra de lo que es posible.

Numeración de variables de sistema en CNC FANUC

La numeración de algunas variables de sistema varía entre los distintos CNC FANUC (especialmente en relación con los registros de desplazamiento), por lo que debe consultar la documentación de macros personalizadas de su CNC para determinar de qué variables de sistema se trata.

Además, los CNC FANUC más recientes proporcionan nombres de variables de sistema, así como números. Mostramos los números ya que funcionan en todos los CNC FANUC.

La macro personalizada les permite a los usuarios escribir y leer en y desde los registros de desplazamiento (que van en las series #2000 y #10000). Con la compensación de longitud de herramienta, por ejemplo, #2001 proporciona acceso al valor almacenado en el registro de desplazamiento de geometría de compensación de longitud de herramienta número uno. Con #2002 se accede al registro offset número dos, y así sucesivamente.

Considere estos comandos:

  • #100 = #2001 (coloca el valor que actualmente se encuentra en el desplazamiento número uno en la variable común #100)
  • #2001 = #101 (sobrescribe el valor del desplazamiento número uno con el valor de #101)
  • #2001 = #2001 + #101 (modificar el valor de offset número uno por el valor de #101).

Un ejemplo que pone a cero los desplazamientos 1-50:

  • .
  • #100 = 1 (contador)
  • WHILE [#100 LE 50] DO 1
  • #[2000 + #100] = 0 (poner a cero el registro de desplazamiento)
  • #100 = #100 + 1 (contador de pasos en uno)
  • FIN 1
  • .

Generación de alarmas en macros personalizadas

La macro personalizada también proporciona acceso a la generación de alarmas y a la parada con mensaje (#3000 y #3006). La generación de alarmas les permite a los usuarios configurar trampas de error. La parada con mensaje es como un comando de parada de programa (M00), pero se mostrará un mensaje para indicar a los operadores por qué se ha detenido el programa.

  • #3000 = 100 (EL OFFSET NO ESTÁ AJUSTADO)
  • #3006 = 100 (DAR LA VUELTA A LA PIEZA EN EL CHUCK)

El número a la izquierda del paréntesis (100 en nuestro caso) es el número de alarma o mensaje. Este mensaje se mostrará si se ejecuta el comando de alarma o mensaje. Considere este comando:

  • IF [#2001 LT 3.0] THEN #3000 = 100 (LA HERRAMIENTA ES DEMASIADO CORTA)

El comando de generación de alarma solo se ejecutará si el valor del registro número uno de desviación de geometría de compensación de longitud de herramienta es inferior a 3.0. Si es verdadero, la máquina entrará en estado de alarma y se mostrará este mensaje en la pantalla de visualización:

  • LA HERRAMIENTA MC100 ES DEMASIADO CORTA

Posición del eje en programación CNC

Los usuarios también pueden acceder a la posición del eje (rango en la serie #5000). Estas variables de sistema, solo de lectura, le permiten acceder a la posición actual de cada eje de varias maneras. Aquí hay tres maneras para los ejes X, Y y Z:

  • #5001: posición del eje X respecto al programa cero
  • #5002: posición del eje Y relativa al programa cero
  • #5003: posición del eje Z relativa al programa cero
  •  
  • #5021: posición del eje X relativa a la posición de referencia (inicio)
  • #5022: posición del eje Y respecto a la posición de referencia (inicio)
  • #5023: posición del eje Z relativa a la posición de referencia (inicio)
  •  
  • #5061: posición del eje X tras señal de salto (utilizado con palpadores)
  • #5062: posición del eje Y tras señal de salto (utilizado con palpadores)
  • #5063: posición del eje Z tras señal de salto (utilizado con palpadores)

Ejemplo de utilización de un palpador de aristas como palpador:

  • .
  • G90 G00 X-0.5 Y0.5 (mover el buscador de bordes con 0.5-in del lado izquierdo de la pieza)
  • Z-0.2 (desplazar el palpador de bordes por debajo de la parte superior de la pieza)
  • #100 = 0.1 (radio del buscador de bordes)
  • #3006 = 100 (TOCAR LADO IZQUIERDO DE LA PIEZA EN X)
  • #101 = #5021 + #100 (localización de la superficie en X desde la posición de referencia)
  • G91 G00 X-0.5 (aléjese 0.5-in)
  • .

Cuando la máquina se detiene y aparece el mensaje en el comando #3006, los operadores cambiarán del modo automático al modo de volante, llevarán el buscador de bordes a ras con el lado izquierdo de la pieza, volverán a seleccionar el modo automático y reiniciarán el ciclo. La localización de la superficie será entonces almacenada en la variable común #101. Esta podría ser la superficie cero del programa que ahora puede ser colocada en el registro del eje X del offset de la fijación.

Con los códigos G y M definidos por el usuario, los usuarios pueden crear nuevos códigos G y M o redefinir la forma en que funcionan los códigos G y M actuales. Esto implica la configuración de parámetros, y los números de parámetros implicados varían según los modelos de CNC FANUC. El usuario debe consultar la documentación de macros personalizadas para su CNC.

En esencia, configurará una especie de tabla de referencias cruzadas para que cuando el CNC se encuentre con el código G o M definido por el usuario en un programa, ejecute una macro personalizada predeterminada.

Ejemplo que redefine la función del comando de cambio de herramienta M06:

En un modelo popular de CNC FANUC, el parámetro número 6071 se utiliza para especificar el número de código M que llamará al programa número O9001. Fijaremos este parámetro a un valor de 6. A partir de entonces, siempre que el CNC lea un M06, ejecutará el programa O9001. En lugar de limitarnos a realizar un cambio de herramienta, cambiaremos la función de M06 para que primero desplace los ejes de la máquina a la posición de cambio de herramienta y oriente el cabezal:

  • O9006
  • G91 G28 Z0 M19
  • M06
  • M99

Los códigos G definidos por el usuario funcionan de forma muy parecida, aunque se trata de un grupo diferente de parámetros y números de programa. Con los códigos G definidos por el usuario se pueden incluir argumentos en el comando de llamada. También es posible crear códigos G modales definidos por el usuario.

Lo que hemos mostrado es básico. Sin embargo, debería empezar a ver cómo las funciones relacionadas con CNC podrían ayudarle en sus propias aplicaciones.

CONTENIDO RELACIONADO