Acerca de la escritura de programas de macro de torno del sistema FANUC
Personalmente, creo que no es necesario utilizar programas macro al procesar líneas rectas ordinarias y piezas de tipo arco en máquinas CNC, pero al procesar algunas formas especiales como elipses, hipérbolas, curvas de ecuaciones y roscas en forma de arco (como rodamientos de bolas) husillo) no se considera programado hasta que sea difícil de procesar con instrucciones ordinarias.
La siguiente es una cita:
De hecho, las macros usan fórmulas para procesar partes, como elipses. Si no hay macros, tenemos que calcular los puntos en la curva punto por punto y luego usarlos lentamente. líneas rectas para aproximarlas, si se trata de una pieza de trabajo con altos requisitos de suavidad, entonces es necesario calcular muchos puntos. Sin embargo, después de aplicar la macro, ingresamos la fórmula de la elipse en el sistema y luego le damos la coordenada Z. Y agregue 10um cada vez, luego la macro calculará automáticamente las coordenadas X y realizará el corte. De hecho, las macros desempeñan principalmente una función informática en el programa. Las macros generalmente se dividen en macros de tipo A y macros de tipo B. el formato de G65 Hxx P#xx Q#xx R#xx, mientras que los programas de macro de categoría B se ingresan con fórmulas y lenguaje directos, que son muy similares al lenguaje C y se usan ampliamente en sistemas 0i.
Contenidos
Clasificación de macros Macros Categoría B
Macros tipo A
Instrucciones básicas de aplicación
Instrucciones de funciones trigonométricas
Instrucciones de raíz cuadrada
Instrucciones de transferencia incondicional
Instrucciones de transferencia condicional
Definición del programa de macros de usuario
Representación y uso de variables
p>Instrucciones de operación
Instrucciones de transferencia y bucle
Clasificación de macros Macros clase B
Macros clase A
Aplicación básica instrucciones
Instrucciones de funciones trigonométricas
p>Instrucción de raíz cuadrada
Instrucción de transferencia incondicional
Instrucción de transferencia condicional
Definición del programa de macros de usuario
Representación de variables y uso
Instrucciones aritméticas
Instrucciones de transferencia y bucle
Ampliar y editar la clasificación de macros en esta sección
Macros tipo B
Debido al uso extensivo de programas de macros de Clase B ahora, muchos libros los han presentado aquí. Sin embargo, no los repetiré aquí. algunos sistemas antiguos, como el sistema Frank OTD, debido a que no hay símbolos de fórmula en su teclado MDI, ni siquiera el signo igual más simple existe. Por esta razón, si usamos el programa macro tipo B, solo podemos programarlo. en la computadora y luego transmitirlo al sistema CNC a través de la interfaz RSN-32, pero ¿qué pasa si no tenemos una PC y un cable RSN-32? ¿Qué hacer? Entonces la programación de macros solo se puede realizar a través de una macro tipo A. Permítanme presentarles la referencia de las macros tipo A;
Macros tipo A
Las macros tipo A utilizan G65 Hxx P#xx Q#xx R#xx o G65 Hxx P#xx. La entrada Qxx Rxx xx significa valor numérico, que se ingresa en el nivel um. Por ejemplo, si ingresa 100, es 0,1 MM ~~~~~ #xx es el número de variable. Es decir, no tengo idea. Pero enseñémoslo. El número de variable es sustituir el valor en una dirección fija. Generalmente, los sistemas OTD son #0~~~#100~#149~~. ~#500~#531. Cuando se apaga la alimentación, las variables #100~#149 se inicializan en "vacío", mientras que las variables #500~#531 retienen los datos. Si decimos # 100=30, entonces los datos. en la dirección # 100 ahora es 30, así de simple, ahora déjame hablar sobre el código H. Puedes ver que #xx y xx son valores numéricos en el formato estándar de las macros de Clase A, y G65 significa cuando se usa tipo. En una macro, la H se utiliza para representar la operación a realizar entre cada valor y el valor en el número de variable, o entre el valor en cada número de variable y los valores en otros números de variable. Se puede decir que entiendes. el código H tipo A. Básicamente puedes aplicar el programa macro. Bien, ahora hablemos sobre los significados de los códigos H:
Edita esta sección para aplicar
Los siguientes son el número 100. , #101 y #102. Tome los valores 10 y 20 como ejemplos. No los trate como formatos cuando los use.
Instrucciones básicas
Asignación H01; formato: G65H01P#101Q#102: ponga #102 en Asigne el valor a #101 G65H01P#101Q#10: asigne 10 a H02 más comando en formato #101 G65 H02 P#101 Q#102 R#103, agregue el valor de #102 al valor de #103 y asigna # 101 G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10
R#103 G65 H02 P#101 Q10 R20 Los cuatro anteriores están todos en el formato de instrucciones de suma. Suman el valor después de Q o el valor en el número de variable al valor después de R o el valor en el número de variable y luego igualan. al valor después de P. Número de variable H03 menos el formato G65 H03 P#101 Q#102 R#103, reste el valor de #102 del valor de #103 y asígnelo a #101 G65 H03 P#101 Q. #102 R10 G65 H03 P#101 Q10 R#103 G65 H03 P#101 Q20 R10 Los 4 formatos anteriores son instrucciones de resta. Todos restan el valor después de Q o el valor en el número de variable del valor después de R o el valor. en el número de variable y luego igual al valor después de P. Instrucción de multiplicación de número H04 G65 H04 P#101 Q#102 R#103, multiplique el valor de #102 por el valor de #103; 101 G65 H04 P#101 Q#102 R10 G65 H04 P#101 Q10 R#103 G65 H04 P#101 Q20 R10 Los cuatro anteriores son todos formatos de instrucciones de multiplicación. Multiplican el valor después de Q o el valor en el número de variable por. valor después de R o el valor en el número de variable y luego igual al valor después de P. En el comando de división de número H05 G65 H05P#101 Q#102 R#103, divida el valor de #102 por el valor de; #103 y asígnelo a #101 G65 H05 P#101 Q#102 R10 G65 H05 P#101 Q10 R #103 G65 H05 P#101 Q20 R10 Los cuatro anteriores son formatos de instrucciones de división. Dividen el valor después de Q o el valor. en el número de variable por el valor después de R o el valor en el número de variable y luego igual al número de variable después de P. Medio (El resto no se almacena. Si el divisor es 0, se producirá una alarma 112)
Comando de función trigonométrica
H31 Comando de función ortogonal SIN: Formato G65 H31 P#101 Q#102 R#103; significa que #102 después de Q es la hipotenusa del triángulo detrás de R. el ángulo. El resultado es #101=#102*SIN#103, lo que significa que puedes usar esto directamente para encontrar la longitud del otro lado del triángulo. Al igual que las instrucciones anteriores, también puedes escribir valores numéricos directamente después. Q y R. H32 COS instrucción de función cox: Formato G65 H32 #101 Q#102 R#103; significa que #102 después de Q es la hipotenusa del triángulo después de que R #103 almacena el ángulo. El resultado es #101=#102*. COS#103, lo que significa que puedes usar esto directamente para encontrar la longitud del otro lado del triángulo. Al igual que las instrucciones anteriores, también puedes escribir valores directamente después de Q y R. Se supone que H33 y H34 son TAN. y ATAN, pero los números que utilicé no son exactos. Espero que alguien que sepa pueda decirme por qué.
Comando de raíz cuadrada
H21; Formato G65 H21 P#101 Q#102. ;Significa tomar la raíz cuadrada del valor en #102 y almacenarlo en #101 (este comando es muy importante. Si no hay un comando de raíz cuadrada al tallar una elipse, es imposible usarlo. Las macros lo hacen.
Instrucción de transferencia incondicional
H80; Formato: G65 H80 P10; saltar directamente al décimo segmento del programa
Instrucción de transferencia condicional
p>H81 H82 H83 H84 H85 H86, respectivamente H81, girar si es igual; H82, girar si es menor que; H84, girar si es mayor que; H85, girar si es menor o igual; igual H86; Formato: G65 H8x P10 Q#101 R#102; Compare el valor en #101 con el valor en #102 y llévelo a H8x de acuerdo con el código H8x anterior. Décimo segmento del programa, si no coincide, continúe ejecutando el siguiente segmento del programa.
Edite este programa de macro de usuario
Definición
Una serie de programas que puede completar una determinada función. Las instrucciones se almacenan en la memoria como subrutinas y se utiliza una instrucción general para acceder a ellas. Cuando se utilizan, solo se dan estas instrucciones generales para realizar su función.
l La serie de instrucciones almacenadas - programa macro de usuario l La instrucción para llamar al programa macro - Instrucción macro l Características: Uso de variables
Representación y uso de variables
(1) Variable representación #I (I=1,2,3,…) o #[
: ROUND → RO FIX → FI 6) Función de prioridad → multiplicación y división (*, 1, AND) → suma y resta (+, –, OR, XOR) Ejemplo: #1=#2+#3*SIN[#4] 7 ) Los corchetes son corchetes, hasta 5 veces. Los corchetes se utilizan para declaraciones de comentarios. Ejemplo: #1=SIN[[[#2+#3]*#4+#5]*#6]; 3 veces)
Instrucciones de transferencia y bucle
1. Formato de transferencia incondicional: IR A 1;
IR A #10; Formato de transferencia condicional: IF[<Expresión condicional>]GOTO n
Expresión condicional: #j EQ#k significa=
#j NE#k significa≠
#j GT#k significa>
#j LT#k significa<
#j GE#k significa ≥
#j LE#k significa ≤
Ejemplo: IF[#1GT 10]GOTO100;
…N100G00691X10;
Ejemplo: Calcula la suma de 1 a 10
O9500; #1=0
#2=1
N1IF [#2GT10]GOTO 2
#1=#1+# 2; >
#2=#2+1;
IR A 1
N2 M30
1. Formato de bucle: WHILE[
Instrucciones: 1. Cuando se cumpla la condición, ejecute DOm hasta ENDm, luego ejecute el segmento del programa desde DOm. Cuando no se cumpla la condición, ejecute el segmento del programa desde DOm hasta ENDm
2. Omitir la declaración WHILE y solo DOm...ENDm formará un bucle infinito desde DOm hasta ENDm
3. Anidamiento 4. EQ Cuando NE, vacío y "0" son diferentes. En otras condiciones, vacío y "0" son iguales. Ejemplo: Encuentre la suma de 1 a 10 O0001; ] DO1; #1=#1+#2; #2=#2+#1;