¿Quién dice que los programas macro son inútiles? ¡Eso es porque no puedes compensarlo!
Muchos técnicos de CNC hoy en día no entienden los programas macro. Creen que con el software de programación automática no es necesario aprender programas de macros. De hecho, las funciones de los programas macro son muy poderosas. Por ejemplo, al escribir programas por lotes y repetitivos, el uso de programas macro solo requiere modificar unos pocos puntos de datos, sin necesidad de una programación repetitiva extensa. Esto puede simplificar enormemente las operaciones y mejorar la eficiencia del trabajo.
Los programas macro pueden usar variables para operaciones aritméticas, operaciones lógicas y operaciones mixtas de funciones, y también proporcionar declaraciones de bucle, declaraciones de rama y declaraciones de llamada de subrutina.
En general, los programas de macros son adecuados para programar series de piezas con los mismos gráficos pero de diferentes tamaños; Adecuado para programar piezas en serie con la misma ruta de proceso pero diferentes parámetros posicionales; Adecuado para programación de curvas sin instrucciones de interpolación como parábolas, elipses, hipérbolas, etc.
1.
Representación y uso de variables
1, representación de variables
#I (I=1,2,3,...) o # [
Ejemplo: # 5, # 109, # 501, # [# 1+# 2-12]
2, el uso de variables.
1. Especifique un número variable o una fórmula después de la palabra de dirección
Formato:# I
La "I" aquí representa el número de variable.
Ejemplo: F#103, si #103=15, es F15
Z - # 110, asumiendo # 110=250, es Z-250
X [# 24+# 18 * COS [# 1]]
2. Los números variables se pueden reemplazar por variables.
Ejemplo: # [# 30], si # 30=3, es el # 3
3. Las variables no pueden usar las direcciones O, N, I
Ejemplo: Bajo los siguientes métodos, está permitido
O # 1;
I # 2 6.00 × 100.0;
N # 3 Z200.0;
4. La variable correspondiente al número de variable tiene un rango numérico específico para cada dirección
Ejemplo: Cuando # 30=1100, entonces M # 30 no está permitido
5. # 0 es una variable vacía y las variables sin valores de variable definidos también son variables vacías
6. Definición de valor de variable:
Los puntos decimales se pueden omitir al definir el programa, por ejemplo: # 123=149
2.
Tipos de variables

1. Variables locales # 1 ~ # 33
Una variable que se usa localmente en un programa macro y el resultado de su operación no puede ser utilizado por otros programas.
Ejemplo: Un programa de macro B Programa de macro
#10=20 X # 10 no representa X20
Borrar después de un corte de energía, ingresar valores de variables al llamar a programas macro
2. Variables comunes # 100 ~ # 199, # 500 ~ # 999
Las variables comunes dentro del programa macro de cada usuario tienen el mismo resultado de operación que cualquier llamada de programa.
Ejemplo: En el ejemplo anterior, cuando # 10 se cambió a # 100, el programa de macro B
X # 100 representa X20
#Borrar después de un corte de energía de 100~# 149
#500~# 531 Variable de tipo de retención (no se pierde después de un corte de energía)
3. Variables del sistema
Una variable de propósito fijo cuyo valor depende del estado del sistema.
Ejemplo: el valor # 2001 es el valor de compensación del eje X para la compensación de la herramienta 1
#El valor 5221 es el valor de compensación del origen de la pieza de trabajo G54 del eje X
Al ingresar se debe ingresar un punto decimal. Si se omite el punto decimal, la unidad es μ M
tres
Instrucción aritmética
A la derecha de una expresión pueden haber constantes, variables, funciones y fórmulas.
En la fórmula, # j y # k también pueden ser constantes
En el lado derecho de la ecuación están el número de variable y la expresión
1, definición
#I=# j
2, operación aritmética
#I=# j+# k
#I=# j - # k
#I=# j * # k
#I=# j/# k
3, operación lógica
#I=#broma#k
#I=#JXOK#k
#I=#JAND#k
4, función

#I=SIN [# j] seno
#I=COS [# j] coseno
#I=TAN [# j] tangente
#I=ATAN [# j] arcotangente
#I=SQRT [# j] raíz cuadrada
#I=Valor absoluto de ABS [# j]
#I=ROUND [# j] Redondear al número entero más cercano
#Ronda I=FIX [# j]
#Ronda I=FUP [# j]
#I=BIN [# j] BCD → BIN (binario)
#I=BCN [# j] BIN → BCD
1) Ángulo en grados
Ejemplo: 90 grados y 30 minutos equivalen a 90,5 grados
2) Las longitudes de los dos lados después de la función ATAN deben estar separadas por "/"
Ejemplo: Cuando # {{0}}ATAN [1]/[-1], # 1 es 35,0
3) ROUND se usa para direcciones en declaraciones, redondeadas a la unidad de conjunto más pequeña de cada dirección
Ejemplo: establezca # 1=1.2345, # 2=2.3456 y establezca la unidad 1 μ M
G91 X - # 1; X-1.235
X - # 2 F300; X-2.346
X [# 1+# 2]; X3.580
No se devuelve a su ubicación original, debe cambiarse a
X [REDONDA [# 1]+REDONDA [# 2]];
4) Si el valor absoluto después del redondeo es mayor que el valor original, se redondea hacia arriba; en caso contrario, se redondea hacia abajo
Ejemplo: Cuando # 1=1.2, # 2=-1.2
Si # {{0}}FUP [# 1], entonces # 3=2.0
Si # {{0}}FIX [# 1], entonces # 3=1.0
Si # {{0}}FUP [# 2], entonces # 3=-2.0
Si # {{0}}FIX [# 2], entonces # 3=-1.0
5) Al indicar una función, solo se pueden escribir las dos primeras letras
Ejemplo: REDONDA → RO
FIJAR → FI
6) Prioridad
Función → Multiplicación y división (*, 1, AND) → Suma y resta (+, -, OR, XOR)
Ejemplo: # 1=# 2+# 3 * PECADO [# 4];
7) Los corchetes son corchetes, hasta 5 veces, que se utilizan para comentar declaraciones.
Ejemplo: # 1=SIN [[[# 2+# 3] * # 4+# 5] * # 6]; (Triple)
cuatro
Instrucciones de transferencia y bucle
1. Transferencia incondicional
Formato: IR A n;
Transferencia incondicional al segmento del programa n
n: número de segmento del programa (1-99999)
N también se puede reemplazar por variables o expresiones.
IR A 10;
IR A # 10;
2. Transferencia condicional
SI [
Si el
Si no está satisfecho, ejecute el siguiente segmento del programa.
SI [
Si el
SI [#1EQ#2] EL #3=0;
Fórmula condicional:

#J y #k también se pueden reemplazar por
Ejemplo: SI [# 1 GT 10] IR A 100;
N100 G00 G91 X10;
Ejemplo: encontrar la suma de 1 a 10
O9500;
#1=0
#2=1
N1 SI [# 2 GT10] IR A 2
#1=# 1+# 2;
#2=# 2+1;
IR A 1
N2 M30
3. ciclo
Formato: MIENTRAS [
FIN m
Cuando se cumplan las condiciones, ejecute desde DOm hasta ENDm, luego desde el segmento de programa de DOm
Cuando no esté satisfecho, ejecute el segmento del programa después de ENDm
Si se omite la instrucción WHILE y solo está presente DOm... ENDm, se forma un bucle muerto entre DOm y ENDm.
3. Anidación
Cuando EQ NE está presente, null y "0" son diferentes
En otras condiciones, nulo y "0" son lo mismo
Ejemplo: encontrar la suma de 1 a 10
O0001;
#1=0;
#2=1;
MIENTRAS [# 2LE10] HACER1;
#1=# 1+# 2;
#2=# 2+# 1;
FIN1;
M30;
¡La comprensión más completa y detallada de la tecnología de fundición! ¿Lo has recogido?

