Programación paramétrica (CNC)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 12 de agosto de 2021; la verificación requiere 1 edición .

La programación paramétrica ( en inglés ,  programación paramétrica , también macroprogramación ) en el procesamiento de sistemas de control numérico (CNC) para equipos tecnológicos es un enfoque para aumentar el nivel de programación, implementado mediante la creación de lenguajes especializados o extensiones a las herramientas de programación existentes.

Históricamente, el primer lenguaje de programación para máquinas herramienta CNC, código G , es inherentemente un lenguaje para describir ciclogramas del movimiento de una herramienta de mecanizado, encender/apagar el husillo, suministrar fluidos de corte (refrigerante) y otras acciones y no tiene medios de comprobación actual del estado del proceso de mecanizado. Por ejemplo, si una herramienta de mecanizado se estropea o no hay refrigerante, el ciclograma descrito por el código G continuará inútilmente o se ejecutará peligrosamente para el equipo hasta que intervenga el operador o finalice el código G. Para eliminar este importante inconveniente del código G, se desarrollaron lenguajes de programación paramétricos.

Estos lenguajes tienen mucho en común con los lenguajes de programación convencionales de alto nivel como Fortran , C. La principal ventaja sobre el código G es la disponibilidad de instrucciones/operadores de bifurcación condicionales . Esta extensión le permite cambiar el progreso del mecanizado cuando cambia el estado del proceso, por ejemplo, detener el procesamiento con una alarma cuando se activa un sensor de desgaste o rotura de herramienta.

Una ventaja adicional de la programación paramétrica para máquinas CNC es la capacidad de organizar cálculos complejos de las coordenadas de la herramienta y sus movimientos para procesar superficies curvas especificadas matemáticamente en forma de splines 3D o superficies Bezier .

Características de la programación paramétrica

Los fabricantes de sistemas de control utilizan la programación paramétrica como una extensión del código G. Se puede comparar con lenguajes de programación de computadoras como Basic, pero se puede acceder a él a nivel de funciones G (códigos). A diferencia de la programación CNC, la programación paramétrica amplía las posibilidades comparables a la programación orientada a objetos. A través de sus sistemas de control CNC, se hace posible el cálculo de varianza, el uso de operadores lógicos, el trabajo con pases de herramienta, los movimientos del manipulador, la capacidad de organizar ciclos, seleccionar por condición, saltar, trabajar con subrutinas, elementos que ejercen un control total sobre el CNC son agregado: acceso a las variables del sistema y celdas del programa electroautomático, la capacidad de crear sus propios códigos G y funciones que implementan más completamente el control de todos los componentes de la máquina. Es posible acceder a los parámetros del CNC que almacenan información sobre la herramienta, la posición de los cuerpos de trabajo, los manipuladores, el sistema de coordenadas, los valores del código G del programa de control y los errores. Con la ayuda de la programación paramétrica, es posible desarrollar programas de control interactivos. Al igual que los lenguajes de programación informática, existen varias versiones de ellos en la programación paramétrica: Custom Macro, User Task (Okuma), Q Routine (Sodick), Advanced Programming Language (APL G&L). Por ejemplo, el lenguaje de programación de macros FMS-3000 de un subconjunto del lenguaje básico permite organizar ventanas de información adicionales, un sistema de seguimiento de parámetros, modos de control y registro de procesos de procesamiento. Dichos programas se ejecutan en segundo plano y en su tiempo libre de todas las demás tareas, con una gran carga, pueden suspender temporalmente su trabajo. Aprovechando estas oportunidades, tiene una de las formas más efectivas de controlar una máquina herramienta, un robot, un sistema CNC.

Estructura del programa

Un programa escrito con un lenguaje de programación de macros tiene una estructura de código G similar a la de un sistema de control. La unidad estructural es el marco. Un marco es una secuencia de caracteres en un lenguaje de programación. El elemento marco es una palabra que consta de una dirección y un valor numérico o una variable, una variable global.

Ejemplo de programa

Como ejemplo de un programa macro, puede escribir una subrutina de función G200 para el sistema de control FMS-3000 y usar esta función G como una herramienta de rebote y transición entre pasadas, como en el caso de un taladro que se mueve de una coordenada a otra.
Propiedades de la función:
1. Condiciones iniciales.
2. Rebote a W (en el caso de un rebote simple) o salga al punto de cambio de herramienta y continúe.
3. Elección de herramienta tomando el corrector de longitud.
4. Seleccione G54 G55 G56 G57 G58 G59.
5. Determine el ángulo de rotación de la parte A
6. Seleccione M3 M13 M4 M14.
7. Seleccione el número de revoluciones S.
8. Mueva la herramienta a la posición en XY (con compensación H).

a=(_a+obtenerparámetro(65)) definimos el parámetro A (ángulo de rotación) como la suma de una variable global (dada permanentemente, ángulo de rotación) y una variable local (devuelta de la función, ángulo de rotación)
g=obtenerparámetro(71) definir el parámetro (seleccione el punto G54 G55 G56 G57 G58 G59) G como variable (devuelto de la función)
m=obtenerparámetro(77) definir el parámetro (funciones adicionales) M como variable (devuelto de la función)
s=obtenerparámetro(83) definir el parámetro (número de revoluciones) S como una variable (devuelta de la función)
t=obtenerparámetro(84) definir el parámetro (número de herramienta) T como una variable (devuelta desde la función)
x=obtenerparámetro(88) definir el parámetro (coordenada) X como una variable (devuelta de la función)
y=obtenerparámetro(89) definir el parámetro (coordenada) Y como una variable (devuelta de la función)
w=obtenerparámetro(87) definir el parámetro (valor de rebote) W como una variable (devuelta por la función)
tt=getdatacadr(134) variable tt devuelve el valor de la anterior (número de herramienta anterior)

A diferencia de Custom Macro (sistema de control Fanuc), los parámetros de función en el FMS-3000 deben definirse al comienzo de la subrutina.

_t=t para organizar el trabajo de funciones posteriores, la herramienta actual T, la definimos como una variable global
hh=t+100 establecer el número de compensación para la longitud de la herramienta

La expresión hh=t+100 es una tabla de compensaciones de 1 a 200. Dividimos todas las compensaciones en dos partes de 1 a 100 compensaciones para el diámetro de la herramienta, de 101 a 201 para la longitud de la herramienta. La herramienta T1 tiene un número de compensación de diámetro de 1 y un número de compensación de longitud de 101. La herramienta T2 tiene un número de 2 y un número de 102, etc.

si paramactive(71)=0 entonces g=_g si en la función no se especifica G54 G55 G56 G57 G58 G59, la selección del punto se determinará a partir de la variable global

Si en la función G200 no se especifica el parámetro G200, el punto se tomará por defecto de la variable global en la función G201.

G37X0Y0A0 cancelar el ángulo de rotación previamente establecido
si paramactive(87)=0 entonces vaya a 500 si el parámetro W (rebote) no está configurado, vaya al punto de cambio de herramienta, vaya a la etiqueta 500
N100G1F2000G17G40G80G91Zw si el parámetro W (rebote) no está configurado, vaya al punto de cambio de herramienta, vaya a la etiqueta 500
G32M1 parada tecnológica
G90GgG37X0Y0Aa establecer el ángulo de rotación
ir a 600 si la función está configurada en rebote simple (sin cambio de herramienta), salte a la marca 600.

Rebote al punto de cambio de herramienta.

N500M9 apagado enfriamiento
G53G1F2000G90G40G49G80Z0 salir al punto de cambio de herramienta
M5 apagado vueltas

Las funciones de cambio de herramienta en cada máquina tienen sus propias características dependiendo del número de herramientas en el almacén. Por ejemplo, cuando hay muchas herramientas, a veces se utilizan algoritmos que organizan la herramienta en un orden aleatorio para no vincular la herramienta a ciertas celdas y reducir el tiempo de reemplazo. De gran importancia es el diseño de la mecánica de cambio de herramientas, varios tipos de manipuladores, deslizadores, etc.

rem S100 cambie el rango de velocidad para el cambio de herramienta manual
N502G32M0 parada tecnológica
hh1=obtenerdatosdelsistema(1000+hh) leer el valor del corrector de longitud
G1G91G43HhhZ-hh1F2000 trabajando en corrector
G90GgG37X0Y0Aa se toma el corrector, calculamos el ángulo de rotación
si paramactive(83)=0 entonces vaya a 600 si el parámetro S (revoluciones) no está configurado, salte cuadros y vaya a la etiqueta 600
si paramactive(77)><0 entonces m= la función auxiliar predeterminada M será M3
N520MmSs definir funciones adicionales M y S
tt seleccione el número de herramienta
N600si paramactive(88)=0 entonces vaya a 9999 si al menos una de las coordenadas XY de la posición no está configurada, no vamos a la posición, saltamos fotogramas y vamos a 9999
si paramactive(89)=0 entonces vaya a 9999 si al menos una de las coordenadas XY de la posición no está configurada, no vamos a la posición, saltamos fotogramas y vamos a 9999
G1F2000G1X(x+1)Y(y+1) ingresamos la preposición, damos un ajuste de interferencia a lo largo de XY 1mm
F100G9XxYy salida exacta a la posición XY con verificación
N9999G1F2000 establecer las condiciones iniciales para el contorno
G32 ralentizamos el cálculo del programa
M99 fin de función, regreso al programa

Véase también