Apr 15, 2023 Deixa un missatge

Parlem dels programes de macro CNC

 

En poques paraules, una macro és utilitzar fórmules per processar peces. Per exemple, el·lipse, si no hi ha una macro, hem de calcular els punts de la corba punt per punt i, a continuació, aproximar-lo lentament amb una línia recta. Si es tracta d'una peça amb alts requisits de suavitat, hem de calcular molts punts, però després d'aplicar la macro, introduïm la fórmula de l'el·lipse al sistema i, a continuació, donem la coordenada Z i afegim una quantitat cada vegada, després la macro calcularà automàticament la coordenada X i realitzarà el tall. De fet, la funció principal de la macro al programa és el càlcul.

imatge

01

Sobre els programes macro

Què és un programa macro

Quan programem, emmagatzemarem una sèrie d'instruccions que poden completar una determinada funció a la memòria com una subrutina, i les cridarem amb una instrucció general. Quan l'utilitzem, només hem de donar aquesta instrucció general per executar la funció emmagatzemada. Aquesta sèrie d'instruccions s'anomena cos del programa macro d'usuari, o programa macro per abreujament.

Aquesta ordre general s'anomena ordre de trucada de macro d'usuari. Quan programen, els programadors només necessiten memoritzar instruccions macro, però no programes macro.

Quan s'utilitzarà la programació macro?

1) Corba de fórmula de processament programada manualment (càlcul senzill, entrada ràpida)

2) Trajecte de tall regular (com a mòdul de tall)

3) Control entre programes (programació de programes)

4) Gestió d'eines (desgast de l'eina)

5) Mesura automàtica (sonda a la màquina)

La diferència entre programa macro i programa normal

1) Al cos del programa macro, es poden utilitzar variables, es poden assignar valors a variables, es poden realitzar càlculs entre variables i es poden saltar els programes.

2) En els programes normals, només es poden especificar constants i no es poden realitzar operacions entre constants. Els programes només es poden executar seqüencialment i no es poden saltar, de manera que les funcions són fixes i no es poden canviar.

3) La funció macro és una funció especial perquè l'usuari millori el rendiment de la màquina-eina CNC, i l'ús hàbil del programa macro en el processament de peces similars aconseguirà el doble del resultat amb la meitat de l'esforç.

02

Variables i formats dels programes macro

Característiques dels programes macro

El programa macro pot utilitzar la variable, i la variable es pot utilitzar per realitzar les operacions corresponents; el valor real de la variable es pot assignar a la variable mitjançant la instrucció del programa macro.

Tres tipus de variables

La forma de representació de variables del sistema CNC és "#" seguit d'1 a 4 dígits, i hi ha tres tipus de variables:

(1) Variables locals: #1~#33 són variables utilitzades localment al programa macro, que s'utilitzen per a la transferència de variables independents.


(2) Variable comuna: l'usuari la pot utilitzar lliurement, i és comú a cada subrutina i a cada macro programa cridat pel programa principal. #100~#149, després d'apagar l'alimentació, s'esborraran tots els valors variables, mentre que #500~#509, després d'apagar l'alimentació, es poden desar els valors variables.


(3) Variable del sistema: es defineix seguida de 4 dígits, pot obtenir informació de només lectura o lectura/escriptura continguda al processador de la màquina-eina o a la memòria NC, inclosos els paràmetres d'intercanvi relacionats amb el processador de la màquina-eina, l'adquisició de l'estat de la màquina-eina. paràmetres, informació del sistema com ara paràmetres de processament.

Format de trucada simple del programa macro

La simple crida del programa macro significa que al programa principal, el programa macro pot ser cridat per un sol bloc.

Format d'invocació:

G65 P (número de programa macro) L (nombre de repeticions) (assignació variable).

Entre ells: G65: comanda de trucada de programa macro;

P (número de programa macro): el codi del programa macro que s'ha d'anomenar;

L (nombre de repeticions): el nombre d'execucions repetides del programa macro, quan el nombre de repeticions és 1, es pot ometre;

(Assignació de variables) - Assigna valors a les variables utilitzades al programa macro.

El mateix entre un programa macro i una subrutina és que un altre programa macro pot cridar un programa macro, fins a 4 vegades.

Format d'escriptura del programa macro

El format d'escriptura d'un programa macro és el mateix que el d'una subrutina. El seu format és:

0-(0001-8999 és el número del programa macro)

Comandament N10

N-M99

En el contingut del programa macro anterior, a més de les instruccions de programació d'ús habitual, també es poden utilitzar variables, instruccions d'operació aritmètica i altres instruccions de control. El valor de la variable s'assigna a la instrucció de trucada del programa macro.

03

Aplicació del programa macro del sistema FANUC

(1) Ranc de programa de macro

imatge

1) Declaració WHILE

G00 X52 Z2;

#2=-14;

És el punt inicial de l'eina en la direcció z (com que l'amplada de l'eina és de 4 mm, el punt inicial s'estableix a Z-14)

MENTRE [#2 GE -30] DO2;

És una restricció en la direcció z. Quan z és igual a -30, la direcció z ja no es mourà

G00 Z〔#2〕;

La posició actual en la direcció z

#2=#2-2;

El pas en moviment en la direcció z, movent-se 2 mm cada vegada

#1=52;

és el punt de partida del ganivet en la direcció x

MENTRE [#1 GE 20] DO1;

Restriccions en la direcció X, quan el diàmetre és igual a 20, ja no es tallarà

G01 X〔#1〕F0.2;

Profunditat de tall en direcció x

G00 X〔#1 més 1〕;

Quantitat de retracció relativa en direcció x

#1=#1-1;

Distància de pas en direcció x (talla 1 mm cada vegada)

FI1;

G00 X52;

FI2;

Programa complet:

O1234;

G40 G97 G99;

T0101;

S1000 M3;

G00 X52 Z2;

#2=-14;

MENTRE〔#2GE-30〕DO2; END1;

G00 Z〔#2〕;

#2=#2-2;

#1=52

MENTRE〔#1GE20〕DO1;

G01X〔#1〕F0.2;

G00X〔#1 més 1〕;

#1=#1-1;

G00 X52;

FI2;

G00 X150 Z150;

M30;

2) Declaració IF

G00 X52 Z-2;

#1=-14;

És el punt de partida de la direcció z de l'eina (l'amplada de l'eina és de 4 mm)

N2 #1=#1-2;

és el pas del moviment en la direcció z

#2=52;

és el punt de partida de l'eina en la direcció x

N1#2=#2-1;

és la distància de pas en la direcció x (profunditat de tall 1 mm cada vegada)

G01 X〔#2〕F0.2;

Posició actual en direcció X

G00 X〔#2 més 1〕;

Quantitat de retracció relativa en direcció X

IF [#2 GE 21] GOTO1;

Restriccions en la direcció x (quan el valor de x es redueix a 20, es realitzarà el procediment següent i no es farà cap retorn)

G00 X52;

X es retrau a la posició 52

G00 Z〔#1〕;

Posició actual en direcció Z

IF [#1 GE -30] GOTO2;

Restriccions en la direcció Z, quan z és igual a -30, la direcció z no es mourà

Programa complet:

O1234;

G40G97G99;

T0101;

S1000M3;

G00 X52 Z-2;

#1=-14;

N2 #1=#1-2;

#2=52;

N1#2=#2-1;

G01 X〔#2〕F0.2;

G00 X〔#2 més 1〕;

IF〔#2GE21〕GOTO1;

G00X52;

G00Z〔#1〕;

IF[#1GE-30]GOTO2;

G00X200;

Z200;

M5;

M30;

(2) Programació d'el·lipse

1) El format estàndard de la declaració el·lipse WHILE:

#1=a;

a: El punt de partida de l'eina és en la direcció positiva a mm respecte a l'eix Z de l'el·lipse

MENTRE [#1 GE b] DO1;

b: El punt final del processament de l'el·lipse es troba en la direcció negativa b mm en relació amb l'eix Z de l'el·lipse (si es processa una semiel·lipse completa, aleshores a i b són dos valors amb el mateix valor i signes diferents)

#2= c*SQRT[1-#1*#1/d*d];

c: el semieix menor de l'el·lipse

d: semieix major de l'el·lipse (calculeu el #2 segons la fórmula de l'el·lipse, el semieix major és d, el semieix menor és c, #2 representa el valor de X, #1 és el valor de Z , i SQRT significa arrel quadrada)

G01 X〔±2*#2 més e〕Z〔#1±f〕;

e: El desplaçament (valor del diàmetre) de l'eix X de l'el·lipse en relació amb el sistema de coordenades de la peça

f: El desplaçament de l'eix Z de l'el·lipse en relació amb el sistema de coordenades de la peça

#1=#1-1; distància de pas (movent 1 mm cada vegada)

FI1;

Nota: Quan es gira una el·lipse còncava, el "±" del parèntesi després de X es pren com "-"; quan es gira una el·lipse convexa, el "±" del parèntesi després de X es pren com a "plus".

Quan l'eix X de l'el·lipse es desplaça cap a la direcció positiva, el "±" dels claudàtors després de Z pren "plus"; quan l'eix X de l'el·lipse es desplaça cap a la direcció negativa, el "±" entre claudàtors després de Z pren "-"

2) El format estàndard de la instrucció IF el·líptica

#1=a;

a: El punt de partida de l'eina és en la direcció positiva a mm respecte a l'eix Z de l'el·lipse

N1#2=b*SQRT〔1-#1*#1/c*c〕;

b: eix semicurt de l'el·lipse c: semi-eix major de l'el·lipse (segons la fórmula de l'el·lipse X/c més Y/b=1, SQRT significa arrel quadrada)

G01X〔±2*#2 més d〕Z〔#1±e〕F0.2; d: el desplaçament (valor del diàmetre) de l'eix X de l'el·lipse en relació amb el punt zero de coordenades e: l'eix Z de l'el·lipse en relació amb el pla zero.

#1=#1-1;

Distància de pas (movent 1 mm cada vegada)

SI [#1 GE -f] GOTO1

f: Finalització del processament de l'el·lipse

 

Nota: Quan es gira una el·lipse còncava, el "±" del parèntesi després de X es pren com "-"; quan es gira una el·lipse convexa, el "±" del parèntesi després de X es pren com a "plus". Quan l'eix X de l'el·lipse es desvia cap a la direcció positiva, el "±" entre parèntesis després de Z pren "plus"; quan l'eix X de l'el·lipse es desvia cap a la direcció negativa, el "±" entre parèntesis després de Z pren "-".

imatge

Declaració WHILE

#1=20;

MENTRE〔#1GE-20〕DO1;

#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2 més 50〕Z〔#1-25〕;

#1=#1-1;

FI1;

Declaració SI

#1=20;

N1#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2 més 50〕Z〔#1-25〕F0.2;

#1=#1-1;

IF[#1GE-20]GOTO1;

programa complet

O1234;

G40G97G99;

T0101;

S1000 M3;

G00 X50 Z2;

G73 U5 R5;

G73 P10 Q20 U0.5 F0.2;

N10 G0 G42 Z-5;

#1=20;

MENTRE〔#1GE-20〕DO1;

#2=10*SQRT〔1-#1*#1/400〕;

G01X〔-2*#2 més 50〕Z〔#1-25〕F0.2;

#1=#1-1;

FI1;

G00 X50;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;

S'omet el format complet de la instrucció IF (el mateix passa amb la instrucció IF, sempre que s'afegeixi el cicle). Al sistema FANUC-0i, el programa de macro només es pot afegir a G73.

(3) Processament de la paràbola

1) El format estàndard de la sentència parabòlica WHILE:

#1=a;

a: El punt de partida de l'eina és un mm en la direcció de l'eix parabòlic Z

MENTRE [#1 GE -b] DO1;

b: és la longitud de processament de l'el·lipse en la direcció z

#2=SQRT〔-#1*5/3〕;

(Segons la fórmula parabòlica Z=-3/5*X*X, trobeu el valor de X, que és #2, on SQRT significa l'arrel quadrada)

G01 X〔±2*#2 més c〕Z〔#1〕;

c: és el desplaçament (valor del diàmetre) de l'eix X de la paràbola en relació amb el sistema de coordenades de la peça, "±"

Quan es pren "plus", és convex, i quan es pren "-", és còncau

#1=#1-1; Distància de pas (movent 1 mm cada vegada)

FI1;

2) El format estàndard de la instrucció IF parabòlica

#1=a;

a: El punt de partida de l'eina és un mm en la direcció de l'eix parabòlic Z

N1 #2=SQRT〔-#1*5/3〕;

(Segons la fórmula parabòlica Z=-3/5*X*X, trobeu el valor de X, que és #2, on SQRT significa l'arrel quadrada)

G01 X〔±2*#2 més b〕Z〔#1〕;

b: És el desplaçament (valor del diàmetre) de l'eix de direcció X de la paràbola en relació amb el punt zero de coordenades. Quan "±" pren "plus", és convex, i quan es pren "-", és còncau

#1=#1-1;

(distància de pas en direcció Z, cada moviment és d'1 mm)

IF〔#1 GE -c〕GOTO1; c: la longitud de processament de l'el·lipse en direcció z

IF parabòlica

una altra forma de frase

#1=a;

N1 #2=SQRT〔( més )#1*5/3〕;

El signe " més " es pot ometre

G01 X〔2*#2 més b〕Z〔-#1〕;

#1=#1 més 1;

IF [#1 LE c] GOTO1;

Suposant que la paràbola està en la direcció positiva de Z, feu servir Z〔-#1〕; per fer la paràbola simètrica a la direcció negativa

imatge

Declaració WHILE

#1=0;

MENTRE [#1 GE -15] DO1;

#2=SQRT〔-#1*5/3〕;

G01 X〔2*#2 més 30〕Z〔#1〕;

#1=#1-1;

FI1;

Declaració SI

#1=0;

N1 #2=SQRT〔-#1*5/3〕;

G01X〔2*#2 més 30〕Z〔#1〕;

#1=#1-1;

IF [#1 GE -15] GOTO1;

programa complet

O1234;

G40 G97 G99;

T0101;

S1000 M3;

G00 X42 Z1;

G73 U5 R5;

G73 P10 Q20 U0.5 F0.2;

N10 G00 G42 Z0;

#1=0;

MENTRE [#1 GE -15] DO1;

#2=SQRT〔-#1*5/3〕;

G01 X〔2*#2 més 30〕Z〔#1〕;

#1=#1-1;

FI1;

G00 X42;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;

(4) La diferència entre la sentència WHILE i la declaració IF

1) Les direccions dels dos enunciats són diferents

La instrucció WHILE torna enrere

Exemple: WHILE〔#1 GE 20〕DO1;

G01 X〔#1〕F0.2;

Suposant que quan la màquina-eina executi aquesta frase, #1=20, es continuarà executant. Després d'executar #1=#1-1, el valor de #1 passa a ser 19, que ja no compleix les condicions de restricció, de manera que no tornarà. (Talleu a 20 en la direcció X)

G00 X〔#1 més 1);

#1=#1-1;

FI1;

2) La instrucció IF torna endavant

Exemple: N1 #2=#2-1;

G01X〔#2〕F0.2; Suposant que #2=20 quan la màquina-eina executi aquesta frase, continuarà executant-se fins que IF〔#2 GE 20〕GOTO1; si la condició encara es compleix, continuarà tornant a N1# 2=#2-1; i el valor X actual es convertirà en 19, que ja no compleix les condicions de restricció, i després n'executarem un altre

G01X〔#2〕F0.2; Finalment, executeu el programa següent (la direcció X s'ha retallat a 19)

G00X〔#2 més 1);

IF [#2 GE 20] GOTO1;

3) Com es pot veure al programa de grooving anterior, el nombre de paraules de la instrucció IF és molt inferior al de la sentència WHILE.

4) A causa de les diferents direccions de retorn, llegiu una frase menys per a la instrucció WHILE i una frase més per a la instrucció IF durant el processament.

04

Aplicació de programa macro del sistema SIEMENS (torn).

Nota: el programa macro es programa amb variables i el número de variable del sistema Siemens està representat per R.

Per exemple, escrit amb el mètode de programació comú: G01X-10

El programa macro es pot expressar com:

R1=-10

G01 X=R1

Transferència condicional:

SI GOTOB: saltar cap enrere

IF GOTOF: saltar endavant

escrit en programació comuna

GO1X100

Les variables es poden expressar com:

R1=0

AA: R1=R1 més 1

G01X=R1

SI R1<100 GOTOB AA

R1 és una variable independent, el valor inicial és 0, R1=R1 més 1 significa que el valor incremental de la variable independent és 1, quan el programa passa per aquesta línia cada vegada, el valor de R1 augmenta en 1, R1<100 is a conditional expression, IF R1<100 GOTOB AA This line means that if the argument R1<100, the program jumps backward to the mark: AA

Si R1 és superior o igual a 100, el programa baixa.

Els programes macro es poden utilitzar tant en els modes G90 com en G91, però els seus significats són diferents, per exemple;

R1=0, G90R1=R1 més 1, G1X=R1, el valor de X després de la segona passada d'aquest programa és 2.

R1=0, G91R1=R1 més 1, G1X=R1, el valor de X després de la segona passada del programa és 3. Explicació: el valor de R1 és 1 després de la primera. passada del programa, i el valor de R1 és la segona passada És 2, però en mode G91 es basa en l'anterior.

(1) Ranurat

imatge

T1

TC

T1D1

G0G40X100Z100

M03S1000

G0X54Z2

Arriba ràpidament al punt de partida

Z-10

R1=3

Definiu l'amplada de la fulla com a 3 mm

R2=-10-R1-0.2

El punt de partida de l'eina és -10, i el costat esquerre de la fulla s'utilitza quan es configura l'eina;

Configuració de l'eina, de manera que s'ha de restar l'amplada de la fulla, 0.2 és el marge d'acabat

G1Z=R2F0.1

L'eina arriba al punt inicial de l'eix Z

AA:R2=R2-2.5

R3=50

L'eix X de la ranura arriba al punt

BB: R3=R3-2

Definiu la profunditat de tall de cada ganivet com a 2 mm

G1X=R3

X=R3 més 1

0Retirada d'encenalls de 0,5 mm d'un costat cada 2 mm de profunditat de tall

IF R3>30 més 0,4 GOTOB BB

Define the groove depth as 10mm, if R3>30mm, el programa salta cap enrere fins a la marca BB i 0,4 és el marge d'acabat

G0X50

L'eina arriba al punt inicial de l'eix X

G1Z=R2

IF R2>{{0}} més 0,2 GOTOB AA

Definiu l'amplada de la ranura com a 20mm i 0,2 és el marge d'acabat

G0X50

G01Z-13

acabat

X30

Z-16

G0X50

Z-30

G01X30

Z-16

G0X50

Retirar

G0X100

Z100

M05

M30

(2) El·lipse

1) Format bàsic

R1=0

Definiu la variable R1 amb un valor inicial de 0

AA:R2=b×SQRT(1-R1×R1/a×a)

Segons l'equació de l'el·lipse, a és el semieix major de l'el·lipse, b és el semieix menor de l'el·lipse i SQRT és el símbol de l'arrel quadrada.

G1X=±2×R2 més XZ=R1-Z

Estableix la posició i la forma de l'el·lipse, més 2 és convex, -2 és còncau, X, Z són les distàncies entre l'eix de la peça de treball i l'eix de l'el·lipse (sistema de diàmetres).

R1=R1-1

Estableix el pas de processament

IF R1>=n ​​GOTOB AA

Si la variable R1

2) Exemple de programació:

imatge

T1D1

G0G40X100Z100

M3S1000

G0X52Z2

Z-20

CICLE 95 ( )

G42S1500

OO:

R1=20

AA:R2=5×SQRT(1-R1×R1/400)

G1X=-2×R2 més 50 Z=R1-40

R1=R1-2

IF R1>=-20 GOTOB AA

PP: X42

G0G40X100Z100

M05

M09

M30

(3) Paràbola

1) Format bàsic:

R1=0

Estableix el valor inicial de la variable R1 a 0

AA: R2=SQRT(-R1×n)

S'obté segons el format bàsic de la paràbola, on SQRT és el símbol de l'arrel quadrada, i n és el coeficient

G01X=2×R2 més n

Z=R1

El camí de processament, més 2 és convex, n és el valor del punt inicial de l'eix X

R1=R1-1

El valor d'increment variable és d'1 mm

IF R1>-30 GOTOB AA

If the variable R1>-30, el programa salta enrere a la marca: AA

2) Exemple de programació:

imatge

T1

Tc

T1D1

G0G40X100Z100

M03S1000

G0X52Z2

CICLE 95 ( )

G0G42

OO:

R1=0

AA:R2=SQRT(-R1×5/3)

G01X=2×R2 més 30 Z=R1

R1=R1-2

IF R1>-60 GOTOB AA

PP: X52

G0X100Z100

M05

M30

Enviar la consulta

whatsapp

skype

Correu electrònic

Investigació