Los programas de macros son demasiado difíciles. ¿Alguien tiene consejos para estudiar? Gracias por tu ayuda. Aprender un buen programa macro no es difícil. La gente gasta mucho dinero para desarrollarlo sólo por su comodidad de uso. Aquí, le daré una introducción detallada a las diferencias entre sus sistemas y cómo usarlos: Diferentes sistemas tienen diferentes sintaxis de programación. Siemens es obviamente diferente de Mitsubishi, Fanuc, Huazhong, Haas y otros sistemas. Pero las ideas de programación son similares. Su pregunta es demasiado amplia, yo comenzaría desde el mismo lugar (excepto Siemens): 1. Variables: al igual que las variables en la programación de computadoras, los programas CNC también necesitan usar variables. Las variables son esenciales para el control del flujo del programa. Las variables en la programación CNC están representadas por el símbolo # seguido de un número entero. Por ejemplo, el número 1 es una variable. La asignación de un valor a una variable se realiza de la misma manera que en la programación de computadoras, por ejemplo #1=5. (Las variables en la programación CNC se pueden dividir en tres categorías según su alcance: variables locales, variables globales y variables del sistema. # #1~#33 son variables locales, que solo funcionan en este programa; #100~#199, #500 ~#599 (muchos sistemas ahora son 599 o superiores) son variables globales, que funcionan en todos los programas; #1000 y superiores son variables del sistema, que controlan varios estados operativos de la máquina herramienta. No modifique las variables locales fácilmente mientras el programa está en ejecución. en ejecución no se pueden modificar y solo pueden ser controlados por el programa. Cuando se usan variables locales, sus valores iniciales deben asignarse en el programa. Las variables globales se pueden modificar manualmente cuando el programa se está ejecutando. se ingresa durante el procesamiento sin ingresar en el programa. Asigne un valor inicial. El desplazamiento es esencialmente una variable #0 es una variable vacía (equivalente a nil en Pascal, NULL en lenguaje C). a 0. Los dos programas siguientes son diferentes: p:=nil, p^:=0 (o p=NULL, *p=0 en lenguaje C Cuando #1 es 0, G1X100Y#1 es equivalente a Para G1X100Y0, cuando #1 está vacío, G1X100Y#1 es equivalente a G1X100. Cuando #1 es 0, G# 1X100 es equivalente a G0X100. Cuando #1 está vacío, G#1X100 es equivalente al signo # detrás de la variable. ser expresiones o variables Por ejemplo, si se sabe que #1=5, #2=30, #3=25, #4=0, #5=80, entonces #6=#[#1] es equivalente. Cuando #6=80; #[3+4]=128 es equivalente a #7=128; #8=#[#4] es equivalente a que #8 esté vacío; equivalente a # 9=80; G#4X#2*#1Y#[#4] es equivalente a G0X150. La variable se puede incrementar o disminuir y el valor de la variable después de la operación aritmética se puede asignar a sí misma. si el actual #1=3; #1=#1+1 El valor de #1 después de #1 es 4 (equivalente a INC AL en lenguaje ensamblador; i=i+1 en lenguaje básico; inc(i) en lenguaje pascal ; i++ en lenguaje C) Para otro ejemplo, si #1 = 3 actualmente, luego de ejecutar #1=#1EQ3, el valor de #1 será 1. 2. Operaciones aritméticas y operaciones lógicas: Las operaciones aritméticas incluyen suma y resta. , multiplicación y división (+-*/ ). Al calcular las cuatro operaciones mixtas, calcule primero la multiplicación y la división, y luego calcule primero los paréntesis. Por ejemplo: 1+2*(7-4)=7. se usa en programación de computadoras, pero en programación CNC los corchetes se usan en programación CNC para representar comentarios (equivalentes a punto y coma en lenguaje ensamblador, rem en lenguaje básico, {} o (*...*) en lenguaje pascal, /*. ..*/). Hay cuatro operaciones lógicas de uso común: and, or, not y xor. AND, OR, NOT son operaciones lógicas básicas, XOR no es una operación lógica básica. El resultado de A y B o es AB + AB. La regla de operación de "y" es que todos los 1 producirán 1 y 0 producirá 0, como 1 y 1 = 1; la regla de operación de "o" es que todos los 0 producirán 0, y 0 producirá 0.
La regla es que todos los 0 producen 0 y 1 produce 1, como 1 o 1 = 1; 0 o 1 = 1; "no" es un operador único, es decir, 0 a 1, 1 a 0. Valores lógicos en programación (también llamados valores booleanos, es decir, "verdaderos" y "falso" en las computadoras). ") está representado por 1 y 0 en las computadoras. Por lo general, 1 representa "verdadero" y 0 representa "falso". Si se realiza una operación lógica con dos números enteros, es una operación binaria con los dos números, como 5 y 6 = 4; 5 o 6 = 7. Puede recordar el uso específico Los cuatro operadores y, o, no, y xor también se utilizan en programación de computadoras y programación CNC, que son equivalentes a y, o, en ensamblaje, básico o pascal. . no, xor; C, y, no, xor; C, y, no, xor; y, no, xor, xor; o , no, xor en ensamblaje, básico o pascal, ! (iii) La programación CNC también puede usar la operación restante (mod), como por ejemplo 10 mod 3 = 1 mod es equivalente a mod en ensamblaje, básico o pascal, C. % de el lenguaje Los operadores de comparación en la programación CNC son los mismos que los del lenguaje ensamblador (es decir, el lenguaje ensamblador Intel80x86), a saber, EQ (igual), NE (diferente a), LT (menor que), LE (menor o igual a). ), GT (mayor que), GE (mayor o igual a =, <>, <=, >, >= y ==, ! =, <, <=, >, >= en básico). o pascal. Funciones matemáticas de uso común: las funciones de uso común en la programación CNC incluyen principalmente funciones matemáticas. Generalmente, los sistemas CNC proporcionan las siguientes funciones: función de valor absoluto abs (x); ); cos (x); tan (x) (la unidad es el grado, pero en el centro de China es la función trigonométrica inversa asin (x); función exponencial exp (x); función de redondeo round (x); función de truncamiento fix (x); función de redondeo fup (x) y código 8421BCD a función binaria (x) y binario a función de código 8421BCD bcd (x). Los sistemas CNC requieren que los nombres de las funciones estén en mayúsculas. Utilice corchetes para los corchetes. Por ejemplo, cuando # 1 = 20, G [# 1GT30] X [50 + 2 * ABS [# 1]] es equivalente a G0X90. control de flujo: el flujo del programa puede ser transferencia incondicional o transferencia condicional, bucle o llamada a subrutina o programa macro. El formato de transferencia incondicional es GOTO_. El número después de GOTO es la etiqueta de la línea del programa que se transferirá (es decir, N_). salta hacia atrás incondicionalmente, puede causar un bucle infinito (el programa no finalizará naturalmente). El formato de transferencia condicional es IF[...]GOTO_ o IF[...]THEN.......El cuadrado. Los corchetes son valores lógicos y generalmente se usan para representar expresiones de juicio. El formato del bucle es WHILE [expresión condicional] DO m... END m. La parte entre DO m y END m es el cuerpo del bucle, donde m es un número entero que indica qué END está emparejado con qué DO. Cuando el programa salta, puede saltar desde el cuerpo del bucle hacia fuera del bucle. m solo se puede reutilizar cuando los bucles están anidados y m solo debe cambiarse cuando el programa salta. Las principales diferencias entre programas macro (llamados por G65 o escritos directamente como GXX) y subprogramas (llamados por M98 o escritos directamente como MXX) son las siguientes: (1) Los programas macro pueden pasar parámetros, pero los subprogramas no. (2) La instrucción M98 puede especificar una etiqueta, por lo que la subrutina y el programa principal se pueden escribir en un programa (según el sistema, la instrucción G65 no puede especificar una etiqueta y el programa macro debe escribirse como un programa separado); .