Једноставно речено, макро је да користи формуле за обраду делова. На пример, елипса, ако нема макроа, треба да израчунамо тачке на кривој тачку по тачку, а затим је полако апроксимирамо правом линијом. Ако се ради о радном комаду са високим захтевима за глаткоћу, онда треба да израчунамо много тачака, али након примене макроа, уносимо формулу елипсе у систем, а затим дајемо З координату и додајемо износ сваки пут, а затим макро ће аутоматски израчунати Кс координате и извршити сечење. У ствари, главна функција макроа у програму је прорачун.
слика
01
О макро програмима
Шта је макро програм
Када програмирамо, ми ћемо складиштити низ инструкција које могу да доврше одређену функцију у меморију попут потпрограма и позвати их са општом инструкцијом. Када га користимо, потребно је само да дамо ову општу инструкцију да извршимо сачувану функцију. Ова серија инструкција се назива тело макро програма корисника или скраћено макро програм.
Ова општа команда се зове наредба корисничког макро позива. Приликом програмирања, програмери треба да упамте само макро инструкције, али не и макро програме.
Када ће се користити макро програмирање?
1) Ручно програмирана крива формуле за обраду (једноставна калкулација, брз унос)
2) Редовна путања сечења (као модул за сечење)
3) Међупрограмска контрола (програмско заказивање)
4) Управљање алатом (хабање алата)
5) Аутоматско мерење (сонда у машини)
Разлика између макро програма и нормалног програма
1) У телу макро програма могу се користити променљиве, вредности се могу доделити променљивим, прорачуни се могу вршити између променљивих, а програми се могу скакати.
2) У обичним програмима могу се специфицирати само константе, а операције између константи се не могу изводити. Програми се могу извршавати само секвенцијално и не могу се прескакати, тако да су функције фиксне и не могу се мењати.
3) Макро функција је посебна функција за корисника да побољша перформансе ЦНЦ алатне машине, а вешта употреба макро програма у обради сличних обрадака ће постићи двоструко већи резултат уз пола труда.
02
Променљиве и формати макро програма
Карактеристике макро програма
Макро програм може да користи променљиву, а променљива се може користити за обављање одговарајућих операција; стварна вредност променљиве може се доделити променљивој инструкцијом макро програма.
Три врсте променљивих
Форма за представљање променљивих ЦНЦ система је „#“ праћена 1 до 4 цифре, а постоје три типа променљивих:
(1) Локалне променљиве: #1~#33 су променљиве које се користе локално у макро програму, које се користе за пренос независних променљивих.
(2) Заједничка варијабла: корисник је може слободно користити, а заједничка је за сваки потпрограм и сваки макро програм који позива главни програм. #100~#149, након искључивања напајања, све вредности променљивих ће бити обрисане, док #500~#509, након искључивања напајања, вредности променљивих се могу сачувати.
(3) Системска променљива: Дефинисана је са 4 цифре праћена, може да добије информације само за читање или читање/уписивање садржане у процесору алатке машине или НЦ меморији, укључујући параметре размене који се односе на процесор машине алатке, аквизицију стања алатке машине параметри, системске информације као што су параметри обраде.
Једноставан формат позивања макро програма
Једноставан позив макро програма значи да се у главном програму макро програм може позвати једним блоком.
Формат позива:
Г65 П (број макро програма) Л (број понављања) (додељивање променљиве).
Међу њима: Г65—команда позива макро програма;
П (број програма макроа) - код макро програма који се позива;
Л (број понављања) - број поновљених покретања макро програма, када је број понављања 1, може се изоставити;
(Додељивање променљиве) – Додели вредности променљивим које се користе у макро програму.
Иста ствар између макро програма и потпрограма је да један макро програм може позвати други макро програм, до 4 пута.
Формат писања макро програма
Формат писања макро програма је исти као и потпрограм. Његов формат је:
0-(0001-8999 је број макро програма)
Н10 команда
N-M99
У садржају наведеног макро програма, поред уобичајених инструкција за програмирање, могу се користити и променљиве, инструкције аритметичких операција и друга контролна упутства. Вредност променљиве се додељује у инструкцији позива макро програма.
03
ФАНУЦ системска апликација макро програма
(1) Макро програм за урезивање
слика
1) изјава ВХИЛЕ
G00 X52 Z2;
#2=-14;
То је почетна тачка алата у правцу з (јер је ширина алата 4 мм, почетна тачка је постављена на З-14)
ВХИЛЕ [#2 ГЕ -30] ДО2;
То је ограничење у правцу з. Када је з једнако -30, правац з се више неће померати
G00 Z〔#2〕;
Тренутна позиција у правцу з
#2=#2-2;
Корак померања у правцу з, померајући се за 2 мм сваки пут
#1=52;
је почетна тачка ножа у правцу к
ДОК [#1 ГЕ 20] ДО1;
Ограничења у правцу Кс, када је пречник једнак 20, више неће сећи
G01 X〔#1〕F0.2;
Дубина сечења у правцу к
Г00 Кс〔#1 плус 1〕;
Релативна количина повлачења у правцу к
#1=#1-1;
Растојање корака у правцу к (сваки пут исећи 1 мм)
ЕНД1;
G00 X52;
ЕНД2;
Комплетан програм:
O1234;
G40 G97 G99;
T0101;
S1000 M3;
G00 X52 Z2;
#2=-14;
ВХИЛЕ〔#2ГЕ-30〕ДО2; ЕНД1;
G00 Z〔#2〕;
#2=#2-2;
#1=52
ВХИЛЕ〔#1ГЕ20〕ДО1;
G01X〔#1〕F0.2;
Г00Кс〔#1 плус 1〕;
#1=#1-1;
G00 X52;
ЕНД2;
G00 X150 Z150;
M30;
2) ИФ изјава
G00 X52 Z-2;
#1=-14;
То је почетна тачка алата у з-смеру (ширина алата је 4 мм)
N2 #1=#1-2;
је корак кретања у правцу з
#2=52;
је почетна тачка алата у правцу к
N1#2=#2-1;
је растојање корака у правцу к (дубина сечења 1 мм сваки пут)
G01 X〔#2〕F0.2;
Тренутна позиција у правцу Кс
Г00 Кс〔#2 плус 1〕;
Релативна количина повлачења у правцу Кс
ИФ [#2 ГЕ 21] ГОТО1;
Ограничења у правцу к (када се вредност к смањи на 20, извршиће се следећа процедура и неће бити враћања)
G00 X52;
Кс се повлачи у позицију 52
G00 Z〔#1〕;
Тренутна позиција у З правцу
ИФ [#1 ГЕ -30] ГОТО2;
Ограничења у правцу З, када је з једнако -30, правац з се неће померати
Комплетан програм:
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;
Г00 Кс〔#2 плус 1〕;
ИФ〔#2ГЕ21〕ГОТО1;
G00X52;
G00Z〔#1〕;
ИФ[#1ГЕ-30]ГОТО2;
G00X200;
Z200;
M5;
M30;
(2) Програмирање елипсе
1) Стандардни формат наредбе ВХИЛЕ елипсе:
#1=a;
а: Почетна тачка алата је у позитивном смеру а мм у односу на осу З елипсе
ВХИЛЕ [#1 ГЕ б] ДО1;
б: Крајња тачка обраде елипсе је у негативном правцу б мм у односу на осу З елипсе (ако се обрађује потпуна полуелипса, онда су а и б две вредности са истом вредношћу и различитим предзнацима)
#2= ц*СКРТ[1-#1*#1/д*д];
ц: полуоса елипсе
д: велика полуоса елипсе (израчунајте #2 према формули елипсе, велика полуоса је д, мала полуоса је ц, #2 представља вредност Кс, #1 је вредност З , а СКРТ значи квадратни корен)
Г01 Кс〔±2*#2 плус е〕З〔#1±ф〕;
е: Помак (вредност пречника) Кс осе елипсе у односу на координатни систем радног предмета
ф: Помак З осе елипсе у односу на координатни систем обратка
#1=#1-1; растојање корака (померање 1 мм сваки пут)
ЕНД1;
Напомена: Приликом окретања конкавне елипсе, "±" у загради иза Кс узима се као "-"; при окретању конвексне елипсе, "±" у загради иза Кс узима се као " плус ".
Када се Кс-оса елипсе помери у позитиван смер, „±“ у заградама после З узима „плус“; када се Кс-оса елипсе помери у негативан смер, "±" у заградама после З узима "-"
2) Стандардни формат елиптичног ИФ исказа
#1=a;
а: Почетна тачка алата је у позитивном смеру а мм у односу на осу З елипсе
Н1#2=б*СКРТ〔1-#1*#1/ц*ц〕;
б: полукратка оса елипсе ц: велика полуоса елипсе (према формули елипсе Кс/ц плус И/б=1, СКРТ значи квадратни корен)
Г01Кс〔±2*#2 плус д〕З〔#1±е〕Ф0.2; д: помак (вредност пречника) Кс осе елипсе у односу на координатну нулту тачку е: З оса елипсе у односу на нулту раван Помак
#1=#1-1;
Растојање корака (померање 1 мм сваки пут)
ИФ [#1 ГЕ -ф] ГОТО1
ф: Завршетак обраде елипсе
Напомена: Приликом окретања конкавне елипсе, "±" у загради иза Кс узима се као "-"; при окретању конвексне елипсе, "±" у загради иза Кс узима се као " плус ". Када Кс-оса елипсе одступи у позитивном смеру, „±“ у загради после З узима „плус“; када Кс-оса елипсе одступи у негативном правцу, "±" у загради после З узима "-".
слика
ВХИЛЕ изјава
#1=20;
ВХИЛЕ〔#1ГЕ-20〕ДО1;
#2=10*СКРТ〔1-#1*#1/400〕;
Г01Кс〔-2*#2 плус 50〕З〔#1-25〕;
#1=#1-1;
ЕНД1;
ИФ изјава
#1=20;
Н1#2=10*СКРТ〔1-#1*#1/400〕;
Г01Кс〔-2*#2 плус 50〕З〔#1-25〕Ф0.2;
#1=#1-1;
ИФ[#1ГЕ-20]ГОТО1;
комплетан програм
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;
ВХИЛЕ〔#1ГЕ-20〕ДО1;
#2=10*СКРТ〔1-#1*#1/400〕;
Г01Кс〔-2*#2 плус 50〕З〔#1-25〕Ф0.2;
#1=#1-1;
ЕНД1;
G00 X50;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
Комплетан формат ИФ наредбе је изостављен (исто важи и за ИФ наредбу, све док се циклус додаје). У систему ФАНУЦ-0и, макро програм се може додати само у Г73.
(3) Обрада параболе
1) Стандардни формат параболичног ВХИЛЕ исказа:
#1=a;
а: Почетна тачка алата је мм у правцу параболичне осе З
ВХИЛЕ [#1 ГЕ -б] ДО1;
б: је дужина обраде елипсе у правцу з
#2=СКРТ〔-#1*5/3〕;
(Према параболичној формули З=-3/5*Кс*Кс, пронађите вредност Кс, што је #2, где СКРТ значи квадратни корен)
Г01 Кс〔±2*#2 плус ц〕З〔#1〕;
ц: је помак (вредност пречника) Кс осе параболе у односу на координатни систем радног предмета, "±"
Приликом узимања "плус" је конвексан, а када се узима "-" конкавно
#1=#1-1; Растојање корака (померање 1 мм сваки пут)
ЕНД1;
2) Стандардни формат параболичног ИФ исказа
#1=a;
а: Почетна тачка алата је мм у правцу параболичне осе З
Н1 #2=СКРТ〔-#1*5/3〕;
(Према параболичној формули З=-3/5*Кс*Кс, пронађите вредност Кс, што је #2, где СКРТ значи квадратни корен)
Г01 Кс〔±2*#2 плус б〕З〔#1〕;
б: То је помак (вредност пречника) осе параболе у правцу Кс у односу на координатну нулту тачку. Када "±" узима "плус", то је конвексно, а када се "-" узима, конкавно
#1=#1-1;
(раздаљина корака у правцу З, сваки покрет је 1 мм)
ИФ〔#1 ГЕ -ц〕ГОТО1; ц: дужина обраде елипсе у правцу з
Параболиц ИФ
други облик реченице
#1=a;
Н1 #2=СКРТ〔( плус )#1*5/3〕;
Знак " плус " може бити изостављен
Г01 Кс〔2*#2 плус б〕З〔-#1〕;
#1=#1 плус 1;
ИФ [#1 ЛЕ ц] ГОТО1;
Под претпоставком да је парабола у позитивном правцу од З, онда користите З〔-#1〕; да парабола буде симетрична негативном правцу
слика
ВХИЛЕ изјава
#1=0;
ВХИЛЕ [#1 ГЕ -15] ДО1;
#2=СКРТ〔-#1*5/3〕;
Г01 Кс〔2*#2 плус 30〕З〔#1〕;
#1=#1-1;
ЕНД1;
ИФ изјава
#1=0;
Н1 #2=СКРТ〔-#1*5/3〕;
Г01Кс〔2*#2 плус 30〕З〔#1〕;
#1=#1-1;
ИФ [#1 ГЕ -15] ГОТО1;
комплетан програм
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;
ВХИЛЕ [#1 ГЕ -15] ДО1;
#2=СКРТ〔-#1*5/3〕;
Г01 Кс〔2*#2 плус 30〕З〔#1〕;
#1=#1-1;
ЕНД1;
G00 X42;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
(4) Разлика између наредбе ВХИЛЕ и наредбе ИФ
1) Правци ова два исказа су различити
Наредба ВХИЛЕ се враћа уназад
Пример: ВХИЛЕ〔#1 ГЕ 20〕ДО1;
G01 X〔#1〕F0.2;
Под претпоставком да када машина алатка изврши ову реченицу, #1=20, она ће наставити да се извршава. Након извршења #1=#1-1, вредност #1 постаје 19, што више не испуњава услове ограничења, тако да се неће вратити. (Исеците на 20 у правцу Кс)
Г00 Кс〔#1 плус 1);
#1=#1-1;
ЕНД1;
2) ИФ изјава се враћа унапред
Пример: Н1 #2=#2-1;
Г01Кс〔#2〕Ф0.2; Под претпоставком да #2=20 када машина алатка изврши ову реченицу, наставиће да се извршава до ИФ〔#2 ГЕ 20〕ГОТО1; ако је услов и даље задовољен, наставиће да се враћа на Н1# 2=#2-1; а тренутна вредност Кс ће постати 19, која више не испуњава услове ограничења, а затим извршити другу
Г01Кс〔#2〕Ф0.2; Коначно, извршите следећи програм (Кс правац је смањен на 19)
Г00Кс〔#2 плус 1);
ИФ [#2 ГЕ 20] ГОТО1;
3) Као што се може видети из горњег програма за урезивање, број речи у ИФ наредби је много мањи од броја речи у ВХИЛЕ наредби.
4) Због различитих праваца враћања, прочитајте једну реченицу мање за ВХИЛЕ наредбу и још једну реченицу за ИФ наредбу током обраде.
04
Апликација макро програма СИЕМЕНС систем (струг).
Напомена: Макро програм је програмиран са варијаблама, а број променљиве Сименсовог система је представљен са Р.
На пример, написано уобичајеним методом програмирања: Г01Кс-10
Макро програм се може изразити као:
R1=-10
G01 X=R1
Условни трансфер:
ИФ ГОТОБ: скочити уназад
АКО ГОТОФ: скочи напред
написан у уобичајеном програмирању
ГО1Кс100
Променљиве се могу изразити као:
R1=0
АА: Р1=Р1 плус 1
G01X=R1
ИФ Р1<100 GOTOB AA
Р1 је независна променљива, почетна вредност је 0, Р1=Р1 плус 1 значи да је инкрементална вредност независне променљиве 1, када програм сваки пут пролази кроз овај ред, вредност Р1 се повећава за 1, Р1<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
Ако је Р1 већи или једнак 100, програм се спушта.
Макро програми се могу користити и у режимима Г90 и Г91, али њихова значења су различита, на пример;
Р1=0, Г90Р1=Р1 плус 1, Г1Кс=Р1, вредност Кс после другог пролаза овог програма је 2.
Р1=0, Г91Р1=Р1 плус 1, Г1Кс=Р1, вредност Кс после другог пролаза програма је 3. Објашњење: Вредност Р1 је 1 после првог пролаз програма, а вредност Р1 је други пролаз. То је 2, али у режиму Г91 се заснива на претходном.
(1) Урезивање
слика
T1
ТЦ
T1D1
G0G40X100Z100
M03S1000
G0X54Z2
Брзо дођите до почетне тачке
Z-10
R1=3
Дефинишите ширину сечива као 3 мм
R2=-10-R1-0.2
Почетна тачка алатке је -10, а лева страна сечива се користи приликом подешавања алатке;
Подешавање алата, тако да ширину сечива треба одузети, 0.2 је додатак за завршну обраду
G1Z=R2F0.1
Алат достиже почетну тачку З осе
АА:Р2=Р2-2.5
R3=50
Кс оса жлеба достиже тачку
ББ: Р3=Р3-2
Дефинишите дубину сечења сваког ножа као 2 мм
G1X=R3
Кс=Р3 плус 1
0.5 мм уклањање струготине на једној страни на сваких 2 мм дубине реза
IF R3>30 плус 0,4 ГОТОБ ББ
Define the groove depth as 10mm, if R3>30мм, програм скаче уназад до ознаке ББ, а 0,4 је додатак за завршну обраду
G0X50
Алат достиже почетну тачку Кс осе
G1Z=R2
IF R2>{{0}} плус 0,2 ГОТОБ АА
Дефинишите ширину жлеба као 20мм, а 0,2 је додатак за завршну обраду
G0X50
G01Z-13
дорада
X30
Z-16
G0X50
Z-30
G01X30
Z-16
G0X50
Повуци се
G0X100
Z100
M05
M30
(2) Елипса
1) Основни формат
R1=0
Дефинишите променљиву Р1 са почетном вредношћу 0
АА:Р2=б×СКРТ(1-Р1×Р1/а×а)
Према једначини елипсе, а је велика полуоса елипсе, б је мала полу оса елипсе, а СКРТ је симбол квадратног корена.
Г1Кс=±2×Р2 плус КСЗ=Р1-З
Подесите положај и облик елипсе, плус 2 је конвексно, -2 је конкавно, Кс, З су растојања између осе радног предмета и осе елипсе (систем пречника).
R1=R1-1
Подесите корак обраде
IF R1>=н ГОТОБ АА
Ако је променљива Р1
2) Пример програмирања:
слика
T1D1
G0G40X100Z100
M3S1000
G0X52Z2
Z-20
ЦИЦЛЕ95 ( )
G42S1500
ОО:
R1=20
АА:Р2=5×СКРТ(1-Р1×Р1/400)
Г1Кс=-2×Р2 плус 50 З=Р1-40
R1=R1-2
IF R1>=-20 ГОТОБ АА
ПП:Кс42
G0G40X100Z100
M05
M09
M30
(3) Парабола
1) Основни формат:
R1=0
Поставите почетну вредност променљиве Р1 на 0
АА: Р2=СКРТ(-Р1×н)
Добија се према основном формату параболе, где је СКРТ симбол квадратног корена, а н коефицијент
Г01Кс=2×Р2 плус н
Z=R1
Путања обраде, плус 2 је конвексна, н је вредност почетне тачке Кс осе
R1=R1-1
Вредност променљивог прираштаја је 1 мм
IF R1>-30 ГОТОБ АА
If the variable R1>-30, програм скаче уназад до ознаке: АА
2) Пример програмирања:
слика
T1
Тц
T1D1
G0G40X100Z100
M03S1000
G0X52Z2
ЦИЦЛЕ95 ( )
G0G42
ОО:
R1=0
АА:Р2=СКРТ(-Р1×5/3)
Г01Кс=2×Р2 плус 30 З=Р1
R1=R1-2
IF R1>-60 ГОТОБ АА
ПП: Кс52
G0X100Z100
M05
M30




