Red de conocimiento informático - Conocimiento informático - Programación de macros 5221

Programación de macros 5221

Todo el mundo pregunta sobre los programas de macros. De hecho, las macros utilizan fórmulas para procesar partes, como elipses. Sin macros, tendríamos que calcular los puntos de la curva punto por punto y luego aproximarlos lentamente con líneas rectas. Si se trata de una pieza de trabajo con altos requisitos de suavidad, es necesario calcular muchos puntos, pero después de aplicar la macro, ingresamos la fórmula de la elipse en el sistema y luego agregamos 10um a la coordenada Z cada vez, luego la macro automáticamente Calcule la coordenada X y corte. De hecho, las macros desempeñan principalmente un papel operativo en los programas. Las macros generalmente se dividen en macros de tipo A y macros de tipo B. Las macros de tipo A se ingresan en el formato G65HXP # XX Q # XX R # XX, mientras que las macros de tipo B lo son.

La fórmula directa y la entrada de lenguaje son similares al lenguaje C y se usan ampliamente en sistemas 0i. Dado que ahora hay una gran cantidad de programas macro de Clase B,

No entraré en detalles aquí, pero en algunos sistemas antiguos, como el sistema Frank OTD, debido a que no hay símbolos de fórmula en el Teclado MDI, incluso el más simple, etc. No hay número, por lo que si aplica un programa macro de Clase B, solo podrá programarlo en la computadora y luego transmitirlo a través de la interfaz RSN-32. Pero si no tenemos PC y cable RSN-32, sólo podremos programar macros Clase A como se muestra a continuación.

Las macros de tipo A se ingresan en el formato G65HXP # xx Q # XX R # XX o G65HXP # XX QXX RXX, que representa un valor numérico y se ingresa en cantidades de nivel um. Por ejemplo, ingrese 100, que significa 0,1 mm ~ ~ ~. # XX es el número de variables. No sé qué significa el número de variables. El número de variables es sustituir el valor en la dirección fija, y la dirección fija es la variable. Generalmente, los sistemas OTD tienen variables #0~~#100~#149~~#500~#531 cuando se apagan. Las variables #500~#531 almacenan datos. Si decimos #100=30, entonces los datos en la dirección #100 ahora son 30, así de simple. Bien, ahora déjame hablar sobre el código H. Como puede ver, #xx y xx son valores numéricos en el formato estándar de macros de tipo A, y G65 significa usar macros de tipo A. Entonces, esta H representa qué operaciones se deben realizar entre cada valor y el valor en el número de variables, o entre el valor en cada número de variables y los valores en el número de otras variables. Se puede decir que básicamente puedes usar el programa de macro H code A. Bien, ahora hablemos del significado del código H:

Los siguientes ejemplos son #100 y #101 y #102, así como los valores 10 y 20. No pienses en ellos como formatos al aplicarlos.

Descripción básica:

Asignación H01; formato: g65h 01p#101q#102: Asigna el valor en #101.

g65h 01p #101q #10: Dale 10 al #101.

H02 más comando; formato g65h 02 p#101Q#102 r#103. Agregue el valor de #102 al valor de #103 para obtener #101.

g65 H02 P# 101 Q# 102 r 10

g65 H02 P# 101q 10 R# 103

g65 H02 P# 101q 10 R20

Las cuatro instrucciones anteriores están todas en el formato de instrucciones de suma, sumando el número después de Q o el número en la variable número al número después de r.

El valor en el valor o número de variable es igual al número de variable después de p.

H03 menos instrucción; formato g65h 03 p#101Q#102 r#103, resta el valor de #103 del valor de #102 para obtener #101.

g65 H03 P# 101 Q# 102 r 10

g65 H03 P# 101q 10 R# 103

g65 H03 P# 101 Q20 r 10

Las cuatro instrucciones anteriores están todas en forma de instrucciones de resta, que consisten en restar el número después de R del número después de Q o el número en el número variable.

El valor en el valor o número de variable es igual al número de variable después de p.

Instrucción de multiplicación H04; formato g65h 04p # 101Q # 102 r #103, multiplica el valor de # 102 por el valor de # 103 para obtener # 101.

g65 H04 P# 101 Q# 102 r 10

g65 H04 P# 101q 10 R# 103

g65 H04 P# 101 Q20 r 10

Las cuatro anteriores son todas instrucciones de multiplicación, y el formato es multiplicar el valor después de q o el valor en la variable número por el número después de r.

El valor en el valor o número de variable es igual al número de variable después de p.

Instrucción de división H05; formato g65h 05 p#101Q#102 r#103, divide el valor de #102 por el valor de #103 para obtener #101.

g65 H05 P# 101 Q# 102 r 10

g65 H05 P# 101q 10 R# 103

g65 H05 P# 101 Q20 r 10

Los cuatro métodos anteriores se suman al formato de instrucción, que consiste en dividir el valor después de q o el valor en el número de variable por el número después de r.

Entonces el valor en valor o número de variable es igual al número de variables después de p (el resto no existe, y si el divisor es 0, aparecerá una alarma en 112).

Instrucciones de función trigonométrica:

H31 SIN instrucciones de función ortogonal: formato g65h 31P#101Q#102 r#103; es decir, #102 después de Q es la hipotenusa del triángulo, la hipotenusa# 103 después de R es el ángulo. El resultado es # 101 = # 102 * SIN # 103, lo que significa que puedes usar esto directamente para encontrar el otro lado del triángulo.

Un lado es largo. Al igual que en las instrucciones anteriores, también puedes escribir el valor directamente después de Q y r.

Instrucción de función de cofundación H32 COS: formato g65h 32 # 101Q # 102 r # 103; el significado de q después de #102 es hipotenusa; de un triángulo.

La memoria del #103 después de R es el ángulo. El resultado es #101 = #102 * COS #103, lo que significa que puedes usar esto directamente para encontrar el triángulo.

El otro lado es largo. Al igual que en las instrucciones anteriores, también puedes escribir valores directamente después de Q y r.

H33 y H34 deberían ser Tan He, pero los números que utilicé no son exactos. Espero que alguien que sepa pueda decirme por qué.

Comando de raíz cuadrada:

h 21; formatear g65h 21P # 101Q # 102; significa encontrar la raíz cuadrada del valor en #102 y guardarlo en #101 (este comando es muy importante, las instrucciones sin raíces cuadradas al conducir elipses no se pueden realizar con macros

Instrucciones de transferencia incondicionales:

Formato H80: G65 H80 p 10; salte directamente a la parte 10.

Instrucciones de rama condicional:

H81 H82 H83 H84 H85 H86, respectivamente igual a h 81; H82 no significa dirección H83, dirección cuando es menor que H84, dirección cuando es mayor que; ; Menor o igual a H85H86, gire cuando sea mayor o igual a;

Formato: g 65 h8 p 10Q # 101R # 102; Compare el valor en #101 con el valor en #102, como arriba El código se lleva a H8x. Si se cumple la condición, salte al segmento de programa 10. De lo contrario, continúe ejecutando el siguiente segmento de programa.

Secuencia de macros de usuario

Una serie de instrucciones que pueden realizar una determinada función se almacenan en la memoria como subrutinas y se almacenan en una instrucción general. Cuando se utiliza, sólo se dan estas instrucciones generales para realizar su función.

l se almacena en esta serie de instrucciones - programa macro de usuario

lInstrucciones para llamar programas macro - instrucciones macro

l Características: uso de variables

I. Representación y uso de variables

(1) Representación de variables

# I (I = 1, 2, 3,...) o # []

Por ejemplo: # 5, # 109, # 501, [# 1 # 2-12]

(2) Uso de variables

1. palabra Luego especifique el número de variable o fórmula.

Formato: # i

-# I

[]

Ejemplo: F # 103, sea # 103 = 15 F15 .

Z-# 110, si # 110 = 250, entonces Z-250.

X[#24 #18*COS[#1]]

2. El número de variable se puede reemplazar por una variable.

Ejemplo: # [# 30], sea # 30 = 3 el # 3.

3. Las variables no pueden utilizar las direcciones o, n e I.

Ejemplo: Se permiten los siguientes métodos.

o #1;

I #2 6.00×100.0;

N#3 Z200.0

4. variable Las variables numeradas tienen un rango específico de valores para cada dirección.

Ejemplo: Cuando #30 = 1100, M#30 no está permitido.

5.# 0 es una variable vacía, y las variables sin valor de variable definido también son variables vacías.

6. Definición de valores de variables:

El punto decimal se puede omitir al definir el programa, por ejemplo # 123 = 149.

Entrada de teclado MDI 1. Tipos de variables

1. Variables locales #1 ~ #33

Variables utilizadas localmente en programas macro.

Ejemplo: un programa de macro b programa de macro

… …

# 10 = 20 x # 10 no representa X20.

… …

Se borra después del apagado, ingresa el valor de la variable al llamar al programa macro.

2. Variables públicas #100 ~ #149, #500 ~ #531.

Variables comunes a cada programa de macros de usuario.

Ejemplo: Cuando el número 10 en el ejemplo anterior se cambia al número 100.

X#100 significa X20.

# 100 ~ # 149 estarán vacíos después del corte de energía.

# 500 ~ # 531 variables retenidas (no se pierden 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 de 1 herramienta del eje X.

El valor de #5221 es el valor de compensación del origen de la pieza de trabajo G54 del eje X.

Se debe ingresar un punto decimal al ingresar. Cuando se omite el punto decimal, la unidad es micras.

1. Instrucciones de operación

El lado derecho de la expresión puede ser una constante, variable, función o expresión.

Donde #j y #k también pueden ser constantes.

En el lado derecho de la fórmula hay números variables y expresiones.

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

Seno, 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] Redondea un número entero hacia arriba.

# I = redondear a valor fijo [# j]

# I = entero sobre fup[# j]

# I = bin [ # j] BCD → bin (binario)

#I=BCN[#j] BIN→BCD

1. Descripción

1) La unidad del ángulo es el grado.

Ejemplo: 90 grados y 30 minutos se dividen en 90,5 grados.

Las longitudes de los dos lados después de la función atan deben estar separadas por "1"

Por ejemplo: # 1 = atan[1]/[-1], # 1 es 35,0.

3) ROUND se utiliza para la dirección en la declaración y se redondea de acuerdo con la unidad de configuración mínima de cada dirección.

Ejemplo: Supongamos # 1 = 1.2345, # 2 = 2.3456 y la unidad es 1 μ m.

g 91x-# 1; X-1.235

x-# 2 F300;

Si no se vuelve a colocar en su lugar original, se debe cambiado a

x[ROUND[# 1] ROUND[# 2]];

4) Después del redondeo, el valor absoluto es mayor que el valor original, redondee hacia arriba; de lo contrario, redondee abajo.

Por ejemplo: Sea #1 = 1.2, y #2 =-1.2.

Si #3 = fup [#1], #3 = 2.0.

Si #3 = arreglar [#1], #3 = 1.0.

Si #3 = fup [#2], #3 = -2.0.

Si #3 = arreglar [#2], entonces #3 = -1.0.

5) Al instruir una función, sólo se pueden escribir las dos primeras letras.

Ejemplo: Círculo → Círculo

Reparación →FI

6) Prioridad

Función → Multiplicación y División (*, 1, Y ) → suma y resta ( , -, O, 5 veces, los paréntesis se utilizan para comentar declaraciones.

Por ejemplo: # 1 = sin[[[# 2 # 3]* # 4 # 5]* # 6] (tres veces)

I.

1. Transferencia incondicional

Formato: ir a 1;

Ir al # 10;

2.

Formato: if [>]ir a n

Expresión condicional:

# j eq # k representa =

# j ne # k representa ≠

# jgt # k significa >

# jlt # k significa

# j ge # k significa≥

# j le # k significa ≤

Ejemplo: if[# 1gt 10]goto 100;

n 100 G00 691 x 10;

Ejemplo: Encuentra la suma del 1 al 10.

O9500

#1=0

#2=1

N1 SI [#2 GT10]Ir a 2

#1=#1 #2;

#2=#2 1;

Ir a 1

N2 M301. Bucle

Formato: while []do m; (m=1, 2, 3)

ENDm

Descripción: 1. Cuando se cumpla la condición, ejecute DOm hasta ENDm y luego comience desde el segmento del programa de DOm.

En caso contrario, ejecute el segmento del programa desde DOm hasta ENDm.

2. Omita la declaración WHILE y solo DOm...ENDm, entonces se forma un bucle infinito entre DOm y ENDm.

Construyendo un nido

4. EQ NE, nulo y "0" son diferentes.

De lo contrario, nulo y "0" son lo mismo.

Ejemplo: Calcula la suma del 1 al 10.

o 0001;

#1=0;

#2=1;

Y [# 2le 10]hacer 1;

#1=#1 #2;

#2=#2 #1

final 1; p>p>