![](https://g0z100.com/wp-content/uploads/2023/09/programacion-parametrica-fagor-cnc-8055-1024x576.png)
¿Qué es programar con parámetros?
La programación paramétrica, también conocida como lenguaje de alto nivel, consiste en utilizar parámetros o variables en lugar de valores fijos en el código. Esto permite que los programas sean más flexibles y se adapten a diferentes situaciones.
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)
![](https://g0z100.com/wp-content/uploads/2023/09/Parametricas-cnc-fagor-1024x682.webp)
Ejemplo de programación paramétrica
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, en lugar de no todo el programa:
(P100 = 90); LARGO (X)
(P101 = 50); ANCHO (Y)
(P102 = 15); ALTO (Z)
;
T1 D1 M6
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.
![](https://g0z100.com/wp-content/uploads/2021/07/matriceria-de-corte.webp)
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.
Antes de ver el ajuste en Z, quizás pueda interesarte ver primero esta entrada que habla sobre que significa rpt en un control.
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
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.