Apr 15, 2023 Hagyjon üzenetet

Beszéljünk a CNC makróprogramokról

 

Egyszerűen fogalmazva, a makró képleteket használ az alkatrészek feldolgozására. Például ellipszis, ha nincs makró, akkor pontról pontra ki kell számítanunk a görbe pontjait, majd lassan közelíteni kell egy egyenessel. Ha nagy simasági igényű munkadarabról van szó, akkor sok pontot kell számolnunk, de a makró alkalmazása után beírjuk az ellipszis képletet a rendszerbe, majd megadjuk a Z koordinátát és minden alkalommal hozzáadunk egy összeget, majd a A makró automatikusan kiszámítja az X koordinátát és végrehajtja a vágást. Valójában a makró fő funkciója a programban a számítás.

kép

01

A makróprogramokról

Mi az a makróprogram

A programozás során egy sor utasítást eltárolunk a memóriában, amelyek egy bizonyos funkciót befejezhetnek, mint egy szubrutin, és egy általános utasítással hívjuk meg őket. Használatakor csak ezt az általános utasítást kell megadnunk a tárolt függvény végrehajtásához. Ezt az utasítássort hívjuk felhasználói makróprogram törzsnek, vagy röviden makróprogramnak.

Ezt az általános parancsot felhasználói makróhívási parancsnak nevezik. A programozás során a programozóknak csak a makró utasításokat kell megjegyezniük, de a makróprogramokat nem.

Mikor használják a makróprogramozást?

1) Kézzel programozott feldolgozási képlet görbe (egyszerű számítás, gyors bevitel)

2) Szabályos vágási út (vágómodulként)

3) Programközi vezérlés (programütemezés)

4) Szerszámkezelés (szerszámkopás)

5) Automatikus mérés (gépen belüli szonda)

A makróprogram és a normál program közötti különbség

1) A makró programtörzsben változók használhatók, a változókhoz értékek rendelhetők, a változók között számítások végezhetők, a programok ugrálhatók.

2) A közönséges programokban csak konstansok adhatók meg, az állandók közötti műveletek nem hajthatók végre. A programok csak szekvenciálisan futtathatók, nem ugrálhatók, így a funkciók rögzítettek és nem módosíthatók.

3) A makró funkció egy speciális funkció a felhasználó számára a CNC szerszámgép teljesítményének javítására, és a makróprogram ügyes használatával hasonló munkadarabok megmunkálásakor a feleannyi erőfeszítéssel kétszeres eredmény érhető el.

02

Makróprogramok változói és formátumai

A makróprogramok jellemzői

A makróprogram használhatja a változót, és a változó használható a megfelelő műveletek végrehajtására; a változó aktuális értéke a makróprogram utasításával rendelhető a változóhoz.

Háromféle változó

A CNC rendszer változóábrázolási formája a "#", amelyet 1-4 számjegy követ, és háromféle változó létezik:

(1) Lokális változók: #1~#33 a makróprogramban helyileg használt változók, amelyek független változóátvitelre szolgálnak.


(2) Közös változó: a felhasználó szabadon használhatja, és minden szubrutinban és a főprogram által meghívott makróprogramban közös. #100~#149, az áram kikapcsolása után minden változó értéke törlődik, míg #500~#509 a táp lekapcsolása után a változó értékek menthetők.


(3) Rendszerváltozó: 4 számjegy követi, csak olvasható vagy olvasható/írható információkat kaphat a szerszámgép processzorában vagy az NC memóriában, beleértve a szerszámgép processzorral kapcsolatos csereparamétereket, a szerszámgép állapotfelvételét paraméterek, rendszerinformációk, például feldolgozási paraméterek.

A makróprogram egyszerű hívási formátuma

A makróprogram egyszerű meghívása azt jelenti, hogy a főprogramban a makróprogram egyetlen mondattal hívható meg.

Felhívás formátuma:

G65 P (makró program száma) L (ismétlések száma) (változó hozzárendelés).

Közülük: G65 – makró programhívási parancs;

P (makróprogram száma) - a meghívandó makróprogram kódja;

L (ismétlések száma) - a makróprogram ismételt futtatásának száma, ha az ismétlések száma 1, akkor elhagyható;

(Variable Assignment) – Értékek hozzárendelése a makróprogramban használt változókhoz.

Ugyanez a makróprogram és egy szubrutin között az, hogy egy makróprogramot egy másik makróprogram hívhat meg, legfeljebb 4 alkalommal.

Makró programírási formátum

A makróprogram írási formátuma megegyezik egy szubrutinéval. A formátuma a következő:

0-(0001-8999 a makróprogram száma)

N10 parancs

N-M99

A fenti makróprogram tartalmában az általánosan használt programozási utasításokon kívül változók, aritmetikai műveleti utasítások és egyéb vezérlő utasítások is használhatók. A változó értékét a makróprogram hívási utasítása adja.

03

FANUC rendszer makró program alkalmazás

(1) Makróprogramos barázda

kép

1) WHILE állítás

G00 X52 Z2;

#2=-14;

Ez a szerszám kezdőpontja a z irányban (mivel a szerszám szélessége 4 mm, a kezdőpont Z-14)

MIközben [#2 GE -30] DO2;

Ez egy megkötés a z irányban. Ha z egyenlő a -30 értékkel, a z irány többé nem mozog

G00 Z〔#2〕;

Az aktuális pozíció a z irányban

#2=#2-2;

A mozgó lépés z irányban, minden alkalommal 2 mm-rel

#1=52;

a kés kezdőpontja x irányban

WHILE [#1 GE 20] DO1;

X irányú megszorítások, ha az átmérő 20, akkor már nem fog vágni

G01 X〔#1〕F0.2;

Vágásmélység x irányban

G00 X〔#1 plusz 1〕;

Relatív visszahúzás mértéke x irányban

#1=#1-1;

Lépéstávolság x irányban (minden alkalommal 1 mm-t vágva)

END1;

G00 X52;

END2;

Teljes program:

O1234;

G40 G97 G99;

T0101;

S1000 M3;

G00 X52 Z2;

#2=-14;

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

G00 Z〔#2〕;

#2=#2-2;

#1=52

MÍG 〔#1GE20〕DO1;

G01X〔#1〕F0.2;

G00X〔#1 plusz 1〕;

#1=#1-1;

G00 X52;

END2;

G00 X150 Z150;

M30;

2) IF nyilatkozat

G00 X52 Z-2;

#1=-14;

Ez a szerszám z irányú kezdőpontja (a szerszám szélessége 4 mm)

N2 #1=#1-2;

a z irányú mozgáslépés

#2=52;

a szerszám kezdőpontja x irányban

N1#2=#2-1;

a lépéstávolság az x irányban (a vágási mélység minden alkalommal 1 mm)

G01 X〔#2〕F0.2;

Jelenlegi helyzet X irányban

G00 X〔#2 plusz 1〕;

Relatív visszahúzás mértéke X irányban

HA [#2 GE 21] GOTO1;

Az x irányú megszorítások (ha az x értékét 20-ra vágjuk, a következő eljárás kerül végrehajtásra, és nem történik visszaadás)

G00 X52;

X visszahúzódik az 52-es pozícióba

G00 Z〔#1〕;

Jelenlegi helyzet Z irányban

HA [#1 GE -30] GOTO2;

Megszorítások a Z irányban, ha z egyenlő a -30 értékkel, a z irány nem mozdul el

Teljes program:

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 plusz 1〕;

IF〔#2GE21〕GOTO1;

G00X52;

G00Z〔#1〕;

IF[#1GE-30]GOTO2;

G00X200;

Z200;

M5;

M30;

(2) Ellipszis programozás

1) Az ellipszis WHILE utasítás szabványos formátuma:

#1=a;

a: A szerszám kezdőpontja az ellipszis Z tengelyéhez képest egy mm pozitív irányban van

MIközben [#1 GE b] DO1;

b: Az ellipszisfeldolgozás végpontja az ellipszis Z tengelyéhez képest b mm negatív irányban van (ha egy teljes félellipszist dolgozunk fel, akkor a és b két azonos értékű és eltérő előjelű érték)

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

c: az ellipszis féltengelye

d: az ellipszis fél-nagy tengelye (az ellipszis képlet alapján számítsa ki a #2-t, a fél-nagy tengely d, a fél-nagytengely c, a #2 az X értéke, a #1 a Z értéke , az SQRT pedig négyzetgyököt jelent)

G01 X〔±2*#2 plusz e〕Z〔#1±f〕;

e: Az ellipszis X tengelyének eltolása (átmérő értéke) a munkadarab koordinátarendszeréhez képest

f: Az ellipszis Z tengelyének eltolása a munkadarab koordinátarendszeréhez képest

#1=#1-1; lépéstávolság (minden alkalommal 1 mm-t mozog)

END1;

Megjegyzés: Konkáv ellipszis forgatásakor az X utáni zárójelben lévő "±"-t "-"-nek veszi; konvex ellipszis forgatásakor az X utáni zárójelben lévő "±"-t "plusz"-nak vesszük.

Amikor az ellipszis X-tengelye pozitív irányba tolódik el, a Z utáni zárójelben lévő "±" értéke "plusz"; amikor az ellipszis X tengelye negatív irányba tolódik el, a Z utáni zárójelben lévő "±" értéke "-"

2) Az elliptikus IF utasítás szabványos formátuma

#1=a;

a: A szerszám kezdőpontja az ellipszis Z tengelyéhez képest egy mm pozitív irányban van

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

b: az ellipszis félig rövid tengelye c: az ellipszis félig nagy tengelye (az X/c plusz Y/b=1 ellipszisképlet szerint az SQRT négyzetgyököt jelent)

G01X〔±2*#2 plusz d〕Z〔#1±e〕F0.2; d: az ellipszis X tengelyének eltolása (átmérő értéke) a koordináta nullpontjához képest e: az ellipszis Z tengelye a nullasíkhoz képest Eltolás

#1=#1-1;

Lépéstávolság (minden alkalommal 1 mm-t mozog)

HA [#1 GE -f] GOTO1

f: Ellipszis feldolgozás befejezése

 

Megjegyzés: Konkáv ellipszis forgatásakor az X utáni zárójelben lévő "±"-t "-"-nek veszi; konvex ellipszis forgatásakor az X utáni zárójelben lévő "±"-t "plusz"-nak vesszük. Amikor az ellipszis X-tengelye eltér a pozitív irányba, a Z utáni zárójelben lévő "±" értéke "plusz"; amikor az ellipszis X tengelye negatív irányba tér el, a Z utáni zárójelben lévő "±" "-"-t veszi fel.

kép

WHILE nyilatkozat

#1=20;

WHILE〔#1GE-20〕DO1;

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

G01X〔-2*#2 plusz 50〕Z〔#1-25〕;

#1=#1-1;

END1;

IF nyilatkozat

#1=20;

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

G01X〔-2*#2 plusz 50〕Z〔#1-25〕F0,2;

#1=#1-1;

IF[#1GE-20]GOTO1;

komplett program

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;

MÍG 〔#1GE-20〕DO1;

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

G01X〔-2*#2 plusz 50〕Z〔#1-25〕F0,2;

#1=#1-1;

END1;

G00 X50;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;

Az IF utasítás teljes formátuma kimarad (ugyanez igaz az IF utasításra is, mindaddig, amíg a ciklus hozzá van adva). A FANUC{0}}i rendszerben a makróprogram csak a G73-ban adható hozzá.

(3) Parabola feldolgozása

1) A parabolikus WHILE utasítás szabványos formátuma:

#1=a;

a: A szerszám kezdőpontja egy mm a parabola tengely Z irányában

MÍG [#1 GE -b] DO1;

b: az ellipszis feldolgozási hossza z irányban

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

(A Z=-3/5*X*X parabolaképlet szerint keresse meg X értékét, ami #2, ahol az SQRT a négyzetgyököt jelenti)

G01 X〔±2*#2 plusz c〕Z〔#1〕;

c: a parabola X tengelyének eltolása (átmérő értéke) a munkadarab koordinátarendszeréhez képest, "±"

A "plusz" felvételekor domború, a "-" felvételénél homorú

#1=#1-1; Lépéstávolság (minden alkalommal 1 mm-t mozog)

END1;

2) A parabolikus IF utasítás szabványos formátuma

#1=a;

a: A szerszám kezdőpontja egy mm a parabola tengely Z irányában

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

(A Z=-3/5*X*X parabolaképlet szerint keresse meg X értékét, ami #2, ahol az SQRT a négyzetgyököt jelenti)

G01 X〔±2*#2 plusz b〕Z〔#1〕;

b: A parabola X irányú tengelyének eltolása (átmérő értéke) a koordináta nullapontjához képest. Ha a "±" értéke "plusz", akkor konvex, és ha a "-" értéke homorú

#1=#1-1;

(Lépéstávolság Z irányban, minden mozgás 1mm)

IF〔#1 GE -c〕GOTO1; c: az ellipszis feldolgozási hossza z irányban

Parabolikus IF

egy másik mondatforma

#1=a;

N1 #2=SQRT〔( plusz )#1*5/3〕;

A „plusz” jel elhagyható

G01 X〔2*#2 plusz b〕Z〔-#1〕;

#1=#1 plusz 1;

IF [#1 LE c] GOTO1;

Feltételezve, hogy a parabola Z pozitív irányban áll, akkor használja a Z〔-#1〕; hogy a parabola a negatív irányra szimmetrikus legyen

kép

WHILE nyilatkozat

#1=0;

MIközben [#1 GE -15] DO1;

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

G01 X〔2*#2 plusz 30〕Z〔#1〕;

#1=#1-1;

END1;

IF nyilatkozat

#1=0;

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

G01X〔2*#2 plusz 30〕Z〔#1〕;

#1=#1-1;

HA [#1 GE -15] GOTO1;

komplett program

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;

MIközben [#1 GE -15] DO1;

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

G01 X〔2*#2 plusz 30〕Z〔#1〕;

#1=#1-1;

END1;

G00 X42;

N20 G00 G40 Z2;

G70 P10 Q20;

G00 X200;

Z200;

M5;

M30;

(4) A WHILE utasítás és az IF utasítás közötti különbség

1) A két állítás iránya eltérő

A WHILE utasítás visszafelé tér vissza

Példa: WHILE〔#1 GE 20〕DO1;

G01 X〔#1〕F0.2;

Feltéve, hogy amikor a szerszámgép végrehajtja ezt a #1=20 mondatot, akkor továbbra is végrehajtja. A #1=#1-1 végrehajtása után az #1 értéke 19 lesz, ami már nem felel meg a kényszerfeltételeknek, így nem tér vissza. (Vágás 20-ra X irányban)

G00 X〔#1 plusz 1);

#1=#1-1;

END1;

2) Az IF utasítás előre tér vissza

Példa: N1 #2=#2-1;

G01X〔#2〕F0.2; Feltételezve, hogy a #2=20, amikor a szerszámgép végrehajtja ezt a mondatot, addig folytatja a végrehajtást, amíg IF〔#2 GE 20〕GOTO1; ha a feltétel továbbra is teljesül, akkor továbbra is visszatér N1# 2=#2-1; és az aktuális X érték 19 lesz, ami már nem felel meg a kényszerfeltételeknek, majd hajts végre egy másikat

G01X〔#2〕F0.2; Végül futtassa a következő programot (az X irány 19-re lett vágva)

G00X〔#2 plusz 1);

HA [#2 GE 20] GOTO1;

3) Amint a fenti barázdáló programból látható, az IF utasításban a szavak száma jóval kevesebb, mint a WHILE utasításban.

4) Az eltérő visszatérési irányok miatt a WHILE utasításhoz egy mondattal kevesebbet, az IF utasításhoz pedig egy mondattal többet olvassunk be a feldolgozás során.

04

SIEMENS rendszer (eszterga) makró program alkalmazás

Megjegyzés: A makróprogram változókkal van programozva, és a Siemens rendszer változószámát R jelöli.

Például általános programozási módszerrel írva: G01X-10

A makróprogram a következőképpen fejezhető ki:

R1=-10

G01 X=R1

Feltételes átutalás:

HA GOTOB: ugorj hátra

IF GOTOF: ugorj előre

közös programozással írva

GO1X100

A változók a következőképpen fejezhetők ki:

R1=0

AA: R1=R1 plusz 1

G01X=R1

HA R1<100 GOTOB AA

R1 független változó, kezdeti értéke 0, R1=R1 plusz 1 azt jelenti, hogy a független változó növekményes értéke 1, amikor a program minden alkalommal átmegy ezen a soron, a R1 1-gyel nő, 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

Ha R1 nagyobb vagy egyenlő, mint 100, a program leáll.

A makróprogramok G90 és G91 módban is használhatók, de jelentésük például eltérő;

R1=0, G90R1=R1 plusz 1, G1X=R1, az X értéke a program második lépése után 2.

R1=0, G91R1=R1 plusz 1, G1X=R1, X értéke a program második lépése után 3. Magyarázat: R1 értéke 1 az első után a program áthaladása, az R1 értéke pedig a második lépés Ez 2, de G91 módban az előzőre épül.

(1) Hornyolás

kép

T1

TC

T1D1

G0G40X100Z100

M03S1000

G0X54Z2

Gyorsan elérje a kiindulási pontot

Z-10

R1=3

Határozza meg a penge szélességét 3 mm-ben

R2=-10-R1-0.2

Az eszköz kezdőpontja -10, és a penge bal oldala kerül felhasználásra a szerszám beállításánál;

Szerszámbeállítás, tehát a fűrészlap szélességét ki kell vonni, 0.2 a simítási ráhagyás

G1Z=R2F0.1

A szerszám eléri a Z tengely kezdőpontját

AA:R2=R2-2.5

R3=50

A horony X tengelye eléri a pontot

BB: R3=R3-2

Határozza meg az egyes kések vágási mélységét 2 mm-ben

G1X=R3

X=R3 plusz 1

0,5 mm-es forgács eltávolítása az egyik oldalon 2 mm-es vágási mélységenként

IF R3>30 plusz 0,4 GOTOB BB

Define the groove depth as 10mm, if R3>30mm, a program visszaugrik a BB jelig, és 0,4 a befejezési ráhagyás

G0X50

A szerszám eléri az X tengely kezdőpontját

G1Z=R2

IF R2>{{0}} plusz 0,2 GOTOB AA

Határozza meg a horony szélességét 20mm-ben, és 0,2 a simítási ráhagyás

G0X50

G01Z-13

végső

X30

Z-16

G0X50

Z-30

G01X30

Z-16

G0X50

Visszavonás

G0X100

Z100

M05

M30

(2) Ellipszis

1) Alapformátum

R1=0

Határozza meg az R1 változót 0 kezdeti értékkel

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

Az ellipszis egyenlet szerint a az ellipszis fél-nagy tengelye, b az ellipszis fél-kistengelye, az SQRT pedig a négyzetgyök szimbólum.

G1X=±2×R2 plusz XZ=R1-Z

Állítsa be az ellipszis helyzetét és alakját, plusz 2 konvex, -2 konkáv, X, Z a munkadarab tengelye és az ellipszis tengelye közötti távolságok (átmérőrendszer).

R1=R1-1

Állítsa be a feldolgozási lépést

IF R1>=n ​​GOTOB AA

Ha az R1 változó

2) Programozási példa:

kép

T1D1

G0G40X100Z100

M3S1000

G0X52Z2

Z-20

CIKLUS95 ( )

G42S1500

OO:

R1=20

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

G1X=-2×R2 plusz 50 Z=R1-40

R1=R1-2

IF R1>=-20 GOTOB AA

PP:X42

G0G40X100Z100

M05

M09

M30

(3) Parabola

1) Alapformátum:

R1=0

Állítsa az R1 változó kezdeti értékét 0-ra

AA: R2=SQRT(-R1×n)

A parabola alapformátuma szerint kapott, ahol SQRT a négyzetgyök szimbólum, n pedig az együttható

G01X=2×R2 plusz n

Z=R1

Feldolgozási út, plusz 2 konvex, n az X tengely kezdőpontjának értéke

R1=R1-1

A változó növekmény értéke 1 mm

IF R1>-30 GOTOB AA

If the variable R1>-30, a program visszaugrik a jelig: AA

2) Programozási példa:

kép

T1

Tc

T1D1

G0G40X100Z100

M03S1000

G0X52Z2

CIKLUS95 ( )

G0G42

OO:

R1=0

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

G01X=2×R2 plusz 30 Z=R1

R1=R1-2

IF R1>-60 GOTOB AA

PP: X52

G0X100Z100

M05

M30

A szálláslekérdezés elküldése

whatsapp

skype

E-mailben

Vizsgálat