Red de conocimiento informático - Aprendizaje de código fuente - Operación lógica del programa macro del programa CNC

Operación lógica del programa macro del programa CNC

Macro G65 puede realizar funciones macro ricas, incluidas operaciones aritméticas, operaciones lógicas y otras funciones de procesamiento.

Forma general: G65 Hm P#i Q#j R#k

En la fórmula:

m--Función de programa macro, rango de valores 01~ 99 ;

#i--El nombre de la variable donde se almacena el resultado de la operación;

#j--La primera variable a operar, que también puede ser una constante;

#k--La segunda variable que se opera también puede ser una constante.

Por ejemplo, cuando la función del programa es suma:

Programa P#100 Q#101 R#102... El significado es #100=#101+#102

Programa P#100 Q-#101 R#102... El significado es #100=-#101+#102

Programa P#100 Q#101 R15.. .... El significado es #100=#101+15

1. Instrucciones de función macro

(1) Instrucciones de operación aritmética (Tabla 4.4)

Tabla 4.4 Operación aritmética instrucciones

Definición de función de código G código H

Definición de G65 H01, reemplazar # i=# j

G65 H02 agregar # i=# j+# k < / p>

G65 H03 Restar # i=# j-# k

G65 H04 Multiplicar # i=# j × # k

G65 H05 Dividir # i=# j / # k

G65 H21 Raíz cuadrada# i=√# j

G65 H22 Valor absoluto# i=|# j|p>

G65 H23 Encontrar el resto# i =# j-trunc﹙# j/# k﹚· # k

Trunc; descartar la fracción menor que 1

G65 H24 Código BCD→Código binario# i=BIN﹙# j﹚

G65 H25 código binario→código BCD# i=BCD﹙# j﹚

G65 H26 multiplicación/división compuesta# i=﹙# i × # j﹚÷# k

G65 H27 raíz cuadrada compuesta 1 # i=√# j2+# k2

G65 H28 raíz cuadrada compuesta 2 # i=√# j2-# k2

1) Definición y sustitución de variables #i=#j

Formato de programación G65 H01 P#i Q#j

Ejemplo G65 H01 P#101 Q1005 (#101=1005)

G65 H01 P#101 Q-#112; (#101=-#112)

2) Suma #i=#j+#k

Programación formato G65 H02 P#i Q#j R#k

Ejemplo G65 H02 P#101 Q#102 R#103 (#101=#102+#103)

3) Resta# i=#j-#k

Formato de programación G65 H03 P#i Q#j R#k

Ejemplo G65 H03 P#101 Q#102 R#103; #101 =#102-#103)

4) Multiplicación #i=#j×#k

Formato de programación G65 H04 P#i Q#j R#k

Ejemplo G65 H04 P#101 Q#102 R#103; (#101=#102×#103)

5) División #i=#j / #k

Formato de programación G65 H05 P#i Q#j R#k

Ejemplo G65 H05 P#101 Q#102 R#103; (#101=#102/#103)

6) Raíz cuadrada #i=

Formato de programación G65 H21 P#i Q#j

Ejemplo G65 H21 P#101 Q#102; (#101= )

7) Valor absoluto #i=│#j│

Formato de programación G65 H22 P#i Q#j

Ejemplo G65 H22 P#101 Q#102; (#101 =│#102│)

8) Raíz cuadrada compuesta 1 #i=

Formato de programación G65 H27 P#i Q#j R#k

Ejemplo G65 H27 P#101 Q#102 R#103 (#101=

9) Raíz cuadrada compuesta 2 # i=

Formato de programación G65 H28 P#i Q#j R#k

Ejemplo G65 H28 P#101 Q#102 R#103(#101=

(2) Instrucciones de operación lógica (Tabla 4.5)

Tabla 4.5 Instrucciones de operación lógica

Definición de función de código G código H

G65 H11 lógico "OR " # i=# j · OR · # k

G65 H12 Lógico "AND" # i=# j · AND · # k

G65 H13 Exclusivo OR # i=# j · XOR · # k

1) OR lógico #i=#j OR #k

Formato de programación G65 H11 P#i Q#j R#k

Ejemplo G65 H11 P#101 Q#102 R#103; (#101=#102 OR #103)

2) AND lógico #i=#j AND #k

Formato de programación G65 H12 P#i Q#j R#k

Ejemplo G65 H12 P#101 Q#102 R#103 (#101=#102 Y #103)

( 3) Instrucciones de funciones trigonométricas (Tabla 4.6)

Tabla 4.6 Instrucciones de funciones trigonométricas

Definición de función de código G código H

G65 H31 Seno # i=# j · SIN ﹙# k﹚

G65 H32 Coseno# i=# j · COS ﹙# k﹚

G65 H33 Tangente# i=# j · TAN﹙# k﹚

G65 H34 arco tangente #i=ATAN﹙# j/# k﹚

1) Función seno #i=#j×SIN(#k)

Programación formato G65 H31 P#i Q#j R#k (unidad: grado)

Ejemplo G65 H31 P#101 Q#102 R#103 (#101=#102×SIN(#103))

2) Función coseno #i=#j×COS(#k)

Formato de programación G65 H32 P#i Q#j R#k (unidad: grado)

Ejemplo G65 H32 P#101 Q#102 R#103; (#101=#102×COS(#103))

3) Función tangente #i=#j×TAN#k

Formato de programación G65 H33 P#i Q#j R#k (unidad: grado)

Ejemplo G65 H33 P#101 Q#102 R#103 (#101=#; 102 ×TAN(#103))

4) Arco tangente #i=ATAN(#j/#k)

Formato de programación G65 H34 P#i Q#j R#k ( Unidad: grado, 0o≤ #j ≤360o)

Ejemplo G65 H34 P#101 Q#102 R#103; (#101=ATAN(#102/#103))

(4) Instrucciones de control (Tabla 4.7)

Tabla 4.7 Instrucciones de control

Definición de función de código G código H

G65 H80 transferencia incondicional IR A n

G65 H81 transferencia condicional 1 IF # j=# k, GOTOn

G65 H82 transferencia condicional 2 IF # j≠# k, GOTOn

G65 H83 transferencia condicional 3 SI#j>#k, GOTOn

G6

5 H84 transferencia condicional 4 IF # j<# k, GOTOn

G65 H85 transferencia condicional 5 IF # j≥# k, GOTOn

G65 H86 transferencia condicional 6 IF # j≤# k, GOTOn

G65 H99 genera alarma PS y aparece el número de alarma PS 50n

1) Transferencia incondicional

Formato de programación G65 H80 Pn (n es el número de segmento de programa)

Ejemplo G65 H80 P120; (Transferencia a N120)

2) Transferencia condicional 1 #j EQ #k(=)

Formato de programación G65 H81 Pn Q #j R#k (n es el número de bloque)

Ejemplo G65 H81 P1000 Q#101 R#102

Cuando #101=#102, transfiera a N1000 bloquear; si #101≠ #102, ejecute el siguiente segmento del programa.

3) Transferencia condicional 2 #j NE #k (≠)

Formato de programación G65 H82 Pn Q#j R#k (n es el número de segmento del programa)

Ejemplo G65 H82 P1000 Q#101 R#102

Cuando #101≠ #102, transfiera al bloque N1000; si #101=#102, ejecute el siguiente bloque.

4) Transferencia condicional 3 #j GT #k (> )

Formato de programación G65 H83 Pn Q#j R#k (n es el número de segmento del programa)

Ejemplo G65 H83 P1000 Q#101 R#102

Cuando #101 > #102, transfiera al bloque N1000; si #101 ≤ #102, ejecute el siguiente bloque.

5) Transferencia condicional 4 #j LT #k (<)

Formato de programación G65 H84 Pn Q#j R#k (n es el número de segmento del programa)

Ejemplo G65 H84 P1000 Q#101 R#102

Cuando #101 < #102, transfiera a N1000; si #101≥ #102, ejecute el siguiente bloque.

6) Transferencia condicional 5 #j GE #k(≥)

Formato de programación G65 H85 Pn Q#j R#k (n es el número de segmento del programa)

Ejemplo G65 H85 P1000 Q#101 R#102

Cuando #101≥ #102, transfiera a N1000; si #101<#102, ejecute el siguiente bloque.

7) Transferencia condicional 6 #j LE #k (≤)

Formato de programación G65 H86 Pn Q#j Q#k (n es el número de segmento del programa)

Ejemplo G65 H86 P1000 Q#101 R#102

Cuando #101≤#102, transfiera a N1000; si #101>#102, ejecute el siguiente bloque.

2. Notas sobre el uso

Para garantizar el funcionamiento normal de los programas de macros, debe prestar atención a los siguientes puntos cuando utilice programas de macros de usuario;

>(1 ) El código H especificado por G65 no afecta ninguna selección de compensación;

(2) Si no se especifica Q o R utilizado para cada operación aritmética, se trata como 0;

(3) En la dirección de destino de la transferencia de rama, si el número de secuencia es un valor positivo, el proceso de recuperación es buscar primero el número de programa grande; si el número de secuencia es un valor negativo, el proceso de recuperación es buscar; primero el número de programa pequeño.

(4) El número de secuencia del objetivo de transferencia puede ser una variable. [em24][em27][em24] Tengo miedo de dañar a Banxiang