Red de conocimientos turísticos - Información de alquiler - Acerca de la escritura de programas de macro de torno del sistema FANUC

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 #[] Ejemplo: #5, #109, #501, #[#1+#2-12] (2) Uso variable de 1. Especifique el número de variable o el formato de fórmula después de la palabra de dirección: #I | 110, suponiendo que #110=250 entonces es Z-250X[#24+#18*COS[#1]] 2. El número de variable se puede reemplazar por una variable. Ejemplo: #[#30], suponiendo que #30=3, es #3. Las variables no pueden utilizar las direcciones O, N, I. Ejemplo: Se permite el siguiente método: O#1; I#2 6.00×100.0; La variable correspondiente al número de variable tiene un rango de valores específico para cada dirección. Por ejemplo: cuando #30=1100, entonces M#30 no está permitido. # 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 variable: el punto decimal se puede omitir al definir el programa, por ejemplo: #123=149 Ingrese uno en el teclado MDI. Tipos de variables 1. Variables locales #1~#33 Un ejemplo de una variable utilizada localmente en un programa de macro: Un programa de macro B programa de macro... #10=20 Ingrese el valor de la variable 2 en el programa Variables públicas #100. ~#149, #500~#531. Ejemplos de variables comunes en cada programa de macro de usuario: Cuando #10 se cambia a #100 en el ejemplo anterior, la X en el programa de macro B #100 significa La compensación de herramienta número 1. El lado derecho de #j en la fórmula puede ser una constante, variable, función o expresión. El lado derecho de la fórmula también puede ser una constante. El lado derecho de la fórmula es un número variable o una fórmula de operación 1. Definición #I=#j 2. Operaciones aritméticas #I=#j+#k #I=#j-#k #I=#j*#k #I=#j/#k 3. Operación lógica#I=#JOK#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] Arctangente#I=SQRT[#j] Raíz cuadrada#I= ABS[#j] Valor absoluto #I=ROUND[#j] Redondeo #I=FIX[#j] Redondeo hacia arriba #I=FUP[#j] Redondeo hacia abajo #I=BIN[#j] BCD→ BIN (binario) #I=BCN[#j] BIN→BCD 1. Nota 1) La unidad del ángulo es grado. Ejemplo: 90 grados y 30 grados se dividen en 90,5 grados. 2) Las longitudes de los dos lados después de la función ATAN deben estar separadas por "1". /[-1], #1 es 35.0 3) ROUND se utiliza para la dirección en la declaración y se redondea según la unidad de configuración mínima de cada dirección. Ejemplo: supongamos que #1 = 1.2345, #2 = 2.3456, la configuración. la unidad es 1μm G91 -#1; X-1.235 X-#2 F300; ]]; 4) Si el valor absoluto después del redondeo es mayor que el valor original, se redondea hacia arriba; de lo contrario, se redondea hacia abajo. 1=1.2, #2=-1.2, si #3=FUP[# 1], entonces #3=2.0 Si #3=FIX[#1], entonces #3=1.0 Si #3=FUP[#2], entonces #3=-2.0 Si # Cuando 3=FIX[#2], entonces #3=-1.0 5) Al ordenar una función, solo puedes escribir las dos primeras letras.

: 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[]DO m (m=1, 2, 3) … … …ENDm 

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;