Saltar al contenido

Programación paramétrica en CNC

Índice

¿Qué es programar con parámetros?

La programación paramétrica consiste en utilizar parámetros o variables, en lugar de valores fijos, en el código, lo que hace que los programas sean más flexibles y adaptables a diferentes situaciones.

Dichas variables están nombradas con una referencia, (en el caso de Fagor 8055 es P100, P101…) la cual podremos hacer leer a la máquina todas las veces que queramos.

Por ejemplo:

(P100 = 2); Definición del parámetro nº100.
(P110 = 5); Definición del parámetro nº110.

G1 XP100 Y-P110;  Esto sería: G1 X2 Y-5

Reglas básicas:

  • Todos los parámetros deben haber sido definidos previamente a su uso (entre paréntesis).
  • Para usar el valor asignado lo haremos sin paréntesis. Ojo no olvidarse de poner la P.
  • En Fagor podremos usar de la P100 a la P299. Cada control tiene los suyos y no siempre es una P.
  • Siempre que puedas, acostúmbrate a definir los valores en positivo. Ya has visto en el ejemplo que luego se pueden convertir a negativo al usarlos (Y-P110).
  • Aunque entre controles cambie la sintaxis, la lógica es la misma. Si entiendes como funciona vas a saber hacerlo en cualquier control consultando su sintaxis en el manual.

Operaciones:

Sumar: (P120 = 2+3)
Restar: (P121 = 9-2)
Dividir: (P122 = 18/3)
Multiplicar: (P123 = 3*5)

Operaciones con variables: (P130 = P121 / 2)
Operaciones entre variables: (P130 = P121 + P122)
Igualar parámetros: (P140 = P130)


Ejemplo de programación variable

En este caso vamos a hacer un rectángulo de 90x50x15. Todo de 1 pasada y el 0 pieza en el centro del bruto. Haciéndolo así podremos modificar el tamaño cambiando solo 1 valor y no todo el programa:

(P100 = 90); LARGO (X)
(P101 = 50); ANCHO (Y)
(P102 = 15); ALTO (Z)
;
T1 D1 M6; .............. MINIMILL D20
G5 G17 G71 G90 G94
F800 S2000 M3
;
; Ahora vamos a dividir largo y ancho para poder usarlo de coordenadas
; Recuerda, variables en positivo y luego les cambiaremos el signo si precisa
;
(P110 = P100 / 2); Dividimos el largo (X) (90 / 2 = 45)
(P111 = P101 / 2); Dividimos el ancho (Y) (50 / 2 = 25)
;
G0 X0 Y-100; Punto de posicionamiento
G0 Z10
;
G1 Z-P102; Profundizar en Z
;
G1 G41 X0 Y-P111; Punto de inicio del perfil
G1 X-P110 Y-P111
G1 X-P110 YP111
G1 XP110 YP111
G1 XP110 Y-P111
G1 X0 Y-P111; Punto final del perfil
G1 G40 X0 Y-P112; Punto de posicionamiento
;
G0 Z100
M30

📍 Si queremos hacer el rectángulo más largo cambiaremos el valor de P100.

📍 Si queremos hacerlo más ancho P101.

📍 Diferente altura P102.

¿Sabrías cómo hacer para que el control calcule automáticamente el punto de posicionamiento y así se adapte siempre al tamaño que pongas? Te dejo este reto para que lo resuelvas en los comentarios.


Sentencia IF en CNC

La función «if» en CNC se utiliza para tomar decisiones basadas en condiciones específicas. Esto permite que la máquina realice diferentes acciones según se cumplan o no ciertos requisitos.

(IF P100 LT P102 GOTO N10)

«Si P100 es MENOR QUE P102, ves a la línea con la etiqueta N10».

Podemos cambiar el tipo de comparación cambiando «LT» por cualquiera de los siguientes:

EQ: Igual.
NE: Distinto.
GT: Mayor que.
GE: Mayor o igual que.
LT: Menor que.
LE: Menor o igual que.


Ajuste en Z automático

Lo bueno de hacerlo variable es que la Z final ahora puede ser decimal y sí o sí va a acabar en esa altura. Ya que cuando detecte que en la siguiente pasada se pasaría, igualará el parámetro al nivel que le hemos dicho y esa será su última vuelta. Veamos:

(P100 = 0); Z INICIAL
(P101 = 1); INCREMENTO
(P102 = 6.3); Z FINAL
;
T1 D1 M6; .............. MINIMILL D20
G5 G17 G71 G90 G94
F800 S2000 M3
;
G0 X0 Y-75; Punto de posicionamiento
G0 Z10
;
N10 G1 Z-P100; Profundizar en Z
;
G1 G41 X0 Y-25; Punto de inicio del perfil
G1 X-45 Y-25
G1 X-45 Y25
G1 X45 Y25
G1 X45 Y-25
G1 X0 Y-25; Punto final del perfil
N20 G1 G40 X0 Y-100; Punto de posicionamiento
;
(P100 = P100 + P101); SUMATORIO
(IF P100 LT P102 GOTO N10); COMPARACIÓN
(P100 = P102); IGUALACIÓN
(RPT N10, N20); REPETICIÓN
;
G0 Z100
M30

📍 El parámetro P100 se convierte en la memoria de la posición Z en la que estamos. Cada vez que hace una pasada se suma a si mismo el incremento (P101) y pasa a comprobar si se ha pasado del límite que le hemos dicho (P102). En caso de estar por debajo, GOTO a la N10.

📍 Cuando el valor de P100 supere el de P102, NO realizará el GOTO y saltará a la siguiente línea, ya que ahora no cumple la condición que le hemos puesto: «Siempre que sea más pequeño vuelve a la N10».

📍 Recuerda que en este punto P100 tiene un valor que supera P102 pero todavía no ha hecho el mecanizado a ese nivel, ya que si lo hiciera se pasaría y la pieza no valdría. Por lo tanto el siguiente punto es igualar P100 a P102 para ahora sí poder hacer el mecanizado correcto.


Configuración