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




