Programación de macros CNC
Programación de macros
Una variable: los programas de mecanizado ordinarios utilizan directamente valores numéricos para especificar el código G y la distancia de movimiento, por ejemplo, GO1 y X100.0. Cuando se utiliza un programa de macro de usuario, el valor se puede especificar directamente o mediante una variable. Cuando se utilizan variables, el valor de la variable se puede cambiar mediante programación o mediante operaciones en el panel MDI. #1=#2+100G01 Las variables se especifican utilizando el símbolo de variable (#) seguido del número de variable. Por ejemplo: la expresión #1 se puede utilizar para especificar un número de variable. En este caso, la expresión debe estar entre paréntesis. Por ejemplo: #[#1 #2-12] Tipo de variable Las variables se pueden dividir en cuatro tipos según el número de variable Número de variable Tipo de variable función #0 Variable vacía Esta variable siempre está vacía y no se le puede asignar ningún valor. la variable. #1-# 33 Variables locales Las variables locales solo se pueden usar en programas macro para almacenar datos, por ejemplo, resultados de operación Cuando se apaga, las variables locales se inicializan para vaciar. Las variables asignan valores a las variables locales, #100-#199# 500-#999 Las variables públicas *** tienen el mismo significado en diferentes programas macro. Cuando se apaga, las variables #100-#199 se inicializan para vaciar. Los datos de las variables #500-#999 se guardan incluso si no se perderán incluso cuando se apague la alimentación. #1000 Variables del sistema Las variables del sistema se utilizan para leer y escribir cambios en varios datos cuando el CNC está en ejecución, por ejemplo. la posición actual de la herramienta y el valor de compensación. El rango de valores de variables locales y variables públicas puede ser un valor 0 o un valor en el siguiente rango: -1047 a -10-29 o -10-2 a. -1047 Si el resultado del cálculo excede el rango válido, se emite una alarma P/S NO.111. La omisión del punto decimal al definir variables en el valor del programa, se puede omitir el punto decimal. Ejemplo: Cuando la definición #1=123; el valor real de la variable #1 es 123.000. Una referencia a una variable consiste en utilizar el valor de la variable en el programa, especificando la dirección seguida del número de la variable. Al especificar una variable con una expresión, incluya la expresión entre paréntesis. Por ejemplo: G01X[#1 #2]F#3; el valor de la variable referenciada se redondea automáticamente según la unidad mínima de configuración de la dirección. Por ejemplo: Cuando se ejecuta G00X#/; en unidades de 1/1000mm, el CNC asigna 123456 a la variable #1, y el valor de comando real es G00X12346. Para cambiar el signo del valor de la variable de referencia, coloque el signo negativo (. -) Al frente. Por ejemplo: G00X-#1 Cuando se hace referencia a una variable no definida, se ignoran la variable y la dirección. Por ejemplo: cuando el valor de la variable #1 es 0 y el valor de la variable #2 está vacío, el resultado de la ejecución de G00X#1 Y#2 es G00X0. Variables comunes de vías duales (control de vía dual) Para el control de vía dual, el sistema proporciona macrovariables separadas para cada vía. Sin embargo, de acuerdo con la configuración de los parámetros N0.6036 y 6037, algunas variables públicas se pueden usar en ambas trayectorias. Variable indefinida Cuando el valor de una variable no está definido, dicha variable se convierte en una variable vacía. La variable #0 es siempre una variable vacía. No se puede escribir, sólo leer. Referencias Al hacer referencia a una variable no definida, la dirección misma también se ignora. Cuando #1= Cuando #1=0G90 Cuando #1= Cuando #1=0 #2=#1#2=#2=#1#2=0#2=#*5#2=0#2=#*5#2=0#2 =# 1 #1#2=0#2=#1 #1#2=0 (c) Las expresiones condicionales EQ y NE son diferentes de 0. Cuando #1= Cuando #1=0 #1EQ#0 sostiene #1EQ#0 no sostiene #1 NE #0 sostiene #1 NE #0 no sostiene #1 GE #0 sostiene #1 GE #0 no sostiene # 1 GT #0 No es verdadero #1 GT #0 No es verdadero El número de programa restringido, el número de secuencia y el número de salto de bloque opcional no pueden utilizar variables.
Ejemplo: Las variables no se pueden utilizar en las siguientes situaciones: 0#1; /#2G00X100.0; N#3Y200.0; 2 Operaciones aritméticas y lógicas Las operaciones enumeradas en la siguiente tabla se pueden realizar en variables. La expresión del lado derecho del operador puede contener constantes y variables o variables compuestas de funciones u operadores. A las variables #j y #k en las expresiones se les pueden asignar valores constantes. A la variable de la izquierda también se le puede asignar una expresión.
Nota: La unidad angular de las funciones de unidad angular SIN, COS, ASIN, ACOS, TAN y ATAN son grados. Por ejemplo, 90°30' se expresa como 90,5 grados.
ARCSIN # i= ASIN[#j] (1) El rango de valores es el siguiente: Cuando el bit NAT del parámetro (NO.6004#0) se establece en 0, 270°~90° Cuando el bit NAT del parámetro (NO. .6004#0) está configurado Cuando es 1, -90°~90° (2) Cuando #j excede el rango de -1 a 1, se emite la alarma P/S NO.111 (3) Variable reemplazable constante #. jARCCOS #i=ACOS[#j ] El rango de valores es de 180° a 0° Cuando #j excede el rango de -1 a 1, se emite la alarma P/S NO.111. La constante puede reemplazar la variable #j. Tres ejemplos de programas para fresar elipses:
Trayectoria:
El código del programa de elipses es el siguiente: N10 G54 G90 G0 S1500 M03N12 X0 Y0 Z20.N14 G0 Z1N16 G1 Z-5. F150.N18 G41 D1N20 #1=0N22 #2=34N24 #3=24N26 # 4=#2*COS[#1]N28 #5=#3*SIN[#1]N30 #10=#4*COS[45 ]-#5*SIN[45]N32 #11=#4*SIN[ 45] #5*COS[45]N34 G1 #102=0.N3#100=0.#101=0.#103=200. #104=400.G91G28Z0.G0G90G54X0.Y0.G43H1Z20.M3S2000.N4G0X#100Y#101G01Z#102F200.#102=#102- 2.IF[#102EQ-50.]GOTO1GOTO2N2N4X#104F500.Y #103X#100Y#101 #100=#100 10.#101=#101 10.#103=#103-10.#104=#104-10 .IF[#100EQ100.]GOTO3GOTO4N3N1M5M9G91G28Z0.G28Y0.M30 Fresado de una superficie inclinada a 3 grados:
Trayectoria:
El código para fresar una superficie inclinada a 3 grados es el siguiente: O0001#[#1 1*2]=1G65P9012L1A0B0.1C4I100J3K0M30 El código del macro programa O9012 es el siguiente: G54 G90 G00 X[#3] Y0 Z100S500 M3G01 Z0 F300WHILE[#1LE10]DO1#7= #1/TAN[#5] #3G1Z-#1 X# 7#8=#6/2-ROUND[#6/2 ]IF[#8EQ0]GOTO10G1Y0 GOTO20N10 Y#4N20#1=#1 #2#6=#6 1END1G0 Z100 hemisferio de fresado:
Trayectoria:
El código de fresado del hemisferio es como sigue: G90G0G54X-10.Y0M3S4500G43Z50.H1M8#1=0.5WHILE[#1LE50.]DO1#2=50.-#1#3=SQRT[2500.-[# 2*#2]]G1Z-#1F20X-# 3F500G2I#3#1=#1 0.5END1G0Z50.M5M30 altavoz de fresado: El código del altavoz de fresado es el siguiente: M03 S500M06 T01#1=0#2=0G0 Z15X150 Y0N11#2=30* SIN[#1]#3=30 30*[1-COS[#1]]G01 Z-#2 F40G41 X#3 D01G03 I-#3G40 G01 X150 Y0#1=#1 1IF [#1 LE 90] GOTO 11
G0 Z30M30