Vienkārši sakot, makro ir izmantot formulas, lai apstrādātu detaļas. Piemēram, elipse, ja nav makro, mums ir jāaprēķina līknes punkti pa punktam un pēc tam lēnām jātuvina ar taisnu līniju. Ja tā ir apstrādājamā detaļa ar augstām gluduma prasībām, tad jāaprēķina daudz punktu, bet pēc makro pielietošanas sistēmā ievadām elipses formulu un tad dodam Z koordinātu un katru reizi pievienojam summu, tad makro automātiski aprēķinās X koordinātu un veiks griešanu. Faktiski galvenā makro funkcija programmā ir aprēķins.
bilde
01
Par makro programmām
Kas ir makro programma
Programmējot, mēs atmiņā saglabāsim virkni instrukciju, kas var izpildīt noteiktu funkciju, piemēram, apakšprogrammā, un izsauksim tās ar vispārīgu norādījumu. Lietojot to, mums ir jāsniedz tikai šis vispārīgais norādījums, lai izpildītu saglabāto funkciju. Šo instrukciju sēriju sauc par lietotāja makro programmas pamattekstu vai saīsināti makro programmu.
Šo vispārīgo komandu sauc par lietotāja makro izsaukuma komandu. Programmējot programmētājiem ir jāiegaumē tikai makro instrukcijas, bet ne makro programmas.
Kad tiks izmantota makro programmēšana?
1) Manuāli ieprogrammēta apstrādes formulas līkne (vienkāršs aprēķins, ātra ievade)
2) Regulārs griešanas ceļš (kā griešanas modulis)
3) Starpprogrammu vadība (programmu plānošana)
4) Instrumentu pārvaldība (instrumentu nodilums)
5) Automātiska mērīšana (iekārtas zonde)
Atšķirība starp makro programmu un parasto programmu
1) Makro programmas pamattekstā var izmantot mainīgos lielumus, var piešķirt vērtības mainīgajiem, veikt aprēķinus starp mainīgajiem un programmām lēkāt.
2) Parastās programmās var norādīt tikai konstantes, un nevar veikt darbības starp konstantēm. Programmas var izpildīt tikai secīgi, un tās nevar pārlēkt, tāpēc funkcijas ir fiksētas un tās nevar mainīt.
3) Makro funkcija ir īpaša funkcija lietotājam, lai uzlabotu CNC darbgalda veiktspēju, un, prasmīgi izmantojot makro programmu līdzīgu sagatavju apstrādē, ar pusi pūles tiks sasniegts divreiz lielāks rezultāts.
02
Makro programmu mainīgie un formāti
Makro programmu iezīmes
Makro programma var izmantot mainīgo, un mainīgo var izmantot, lai veiktu atbilstošas darbības; mainīgā faktisko vērtību var piešķirt mainīgajam ar makroprogrammas instrukciju.
Trīs mainīgo veidu veidi
CNC sistēmas mainīgā attēlojuma forma ir "#", kam seko 1 līdz 4 cipari, un ir trīs veidu mainīgie:
(1) Vietējie mainīgie: #1~#33 ir makro programmā lokāli izmantotie mainīgie, kurus izmanto neatkarīgai mainīgo pārsūtīšanai.
(2) Kopējais mainīgais: lietotājs var to brīvi izmantot, un tas ir kopīgs katrai apakšprogrammai un katrai makroprogrammai, ko izsauc galvenā programma. #100~#149, pēc strāvas izslēgšanas tiks notīrītas visas mainīgās vērtības, savukārt #500~#509 pēc strāvas izslēgšanas mainīgās vērtības var tikt saglabātas.
(3) Sistēmas mainīgais: tam seko 4 cipari, tas var iegūt tikai lasāmu vai lasāmu/rakstīšanas informāciju, kas atrodas darbgalda procesorā vai NC atmiņā, tostarp apmaiņas parametrus, kas saistīti ar darbgalda procesoru, darbgalda stāvokļa iegūšanu. parametri, sistēmas informācija, piemēram, apstrādes parametri.
Vienkāršs makro programmas izsaukšanas formāts
Vienkāršs makroprogrammas izsaukums nozīmē, ka galvenajā programmā makro programmu var izsaukt ar vienu bloku.
Izsaukuma formāts:
G65 P (makro programmas numurs) L (atkārtojumu skaits) (mainīgā piešķiršana).
Starp tiem: G65 — makro programmas izsaukšanas komanda;
P (makro programmas numurs) - izsaucamās makro programmas kods;
L (atkārtojumu skaits) - makro programmas atkārtoto palaišanas reižu skaits, kad atkārtojumu skaits ir 1, to var izlaist;
(Mainīgo piešķiršana) — piešķiriet vērtības makro programmā izmantotajiem mainīgajiem.
Tas pats, kas starp makro programmu un apakšprogrammu ir tāds, ka vienu makro programmu var izsaukt cita makro programma līdz pat 4 reizēm.
Makro programmu rakstīšanas formāts
Makro programmas rakstīšanas formāts ir tāds pats kā apakšprogrammai. Tās formāts ir:
0-(0001-8999 ir makro programmas numurs)
N10 komanda
N-M99
Iepriekš minētās makroprogrammas saturā papildus parasti lietotajām programmēšanas instrukcijām var izmantot arī mainīgos lielumus, aritmētisko darbību instrukcijas un citas vadības instrukcijas. Mainīgā vērtība tiek piešķirta makro programmas izsaukuma instrukcijā.
03
FANUC sistēmas makro programmas lietojumprogramma
(1) Makro programmas gropi
bilde
1) WHILE paziņojums
G00 X52 Z2;
#2=-14;
Tas ir instrumenta sākuma punkts z virzienā (jo instrumenta platums ir 4 mm, sākuma punkts ir iestatīts uz Z-14)
LAIKĀ [#2 GE -30] DO2;
Tas ir ierobežojums z virzienā. Ja z ir vienāds ar -30, z virziens vairs nepārvietosies
G00 Z〔#2〕;
Pašreizējā pozīcija z virzienā
#2=#2-2;
Kustības solis z virzienā, katru reizi pārvietojoties par 2 mm
#1=52;
ir naža sākuma punkts x virzienā
WHILE [#1 GE 20] DO1;
Ierobežojumi X virzienā, kad diametrs ir vienāds ar 20, tas vairs netiks griezts
G01 X〔#1〕F0.2;
Griešanas dziļums x virzienā
G00 X〔#1 plus 1〕;
Relatīvais ievilkšanas apjoms x virzienā
#1=#1-1;
Soļa attālums x virzienā (katru reizi nogriezt 1 mm)
END1;
G00 X52;
END2;
Pilnīga programma:
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
WHILE〔#1GE20〕DO1;
G01X〔#1〕F0.2;
G00X〔#1 plus 1〕;
#1=#1-1;
G00 X52;
END2;
G00 X150 Z150;
M30;
2) IF paziņojums
G00 X52 Z-2;
#1=-14;
Tas ir instrumenta sākuma punkts z virzienā (instrumenta platums ir 4 mm)
N2 #1=#1-2;
ir kustības solis z virzienā
#2=52;
ir instrumenta sākuma punkts x virzienā
N1#2=#2-1;
ir soļa attālums x virzienā (griešanas dziļums katru reizi 1 mm)
G01 X〔#2〕F0.2;
Pašreizējā pozīcija X virzienā
G00 X〔#2 plus 1〕;
Relatīvais ievilkšanas apjoms X virzienā
JA [#2 GE 21] GOTO1;
Ierobežojumi x virzienā (kad x vērtība tiek samazināta līdz 20, tiks veikta šāda procedūra un atgriešana netiks veikta)
G00 X52;
X ievelkas 52. pozīcijā
G00 Z〔#1〕;
Pašreizējā pozīcija Z virzienā
JA [#1 GE -30] GOTO2;
Ierobežojumi Z virzienā, kad z ir vienāds ar -30, z virziens nepārvietosies
Pilnīga programma:
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 plus 1〕;
IF〔#2GE21〕GOTO1;
G00X52;
G00Z〔#1〕;
IF[#1GE-30]GOTO2;
G00X200;
Z200;
M5;
M30;
(2) Elipses programmēšana
1) Elipses WHILE priekšraksta standarta formāts:
#1=a;
a: Instrumenta sākuma punkts ir pozitīvā virzienā a mm attiecībā pret elipses asi Z
WHILE [#1 GE b] DO1;
b: Elipses apstrādes beigu punkts atrodas negatīvā virzienā b mm attiecībā pret elipses asi Z (ja tiek apstrādāta pilnīga puselipse, tad a un b ir divas vērtības ar vienādu vērtību un dažādām zīmēm)
#2= c*SQRT[1-#1*#1/d*d];
c: elipses pusmazākā ass
d: elipses puslielā ass (aprēķiniet #2 pēc elipses formulas, puslielā ass ir d, daļēji mazā ass ir c, #2 apzīmē X vērtību, #1 ir Z vērtība , un SQRT nozīmē kvadrātsakne)
G01 X〔±2*#2 plus e〕Z〔#1±f〕;
e: elipses X ass nobīde (diametra vērtība) attiecībā pret sagataves koordinātu sistēmu
f: elipses Z ass nobīde attiecībā pret sagataves koordinātu sistēmu
#1=#1-1; soļa attālums (katru reizi pārvietojas 1 mm)
END1;
Piezīme. Pagriežot ieliektu elipsi, "±" iekavās aiz X tiek pieņemts kā "-"; pagriežot izliektu elipsi, "±" iekavās aiz X tiek pieņemts kā " plus ".
Kad elipses X-ass nobīdās pozitīvā virzienā, "±" iekavās aiz Z ir "pluss"; kad elipses X-ass nobīdās negatīvā virzienā, "±" iekavās aiz Z ieņem "-"
2) Eliptiskā IF paziņojuma standarta formāts
#1=a;
a: Instrumenta sākuma punkts ir pozitīvā virzienā a mm attiecībā pret elipses asi Z
N1#2=b*SQRT〔1-#1*#1/c*c〕;
b: elipses daļēji īsa ass c: elipses daļēji galvenā ass (saskaņā ar elipses formulu X/c plus Y/b=1, SQRT nozīmē kvadrātsakni)
G01X〔±2*#2 plus d〕Z〔#1±e〕F0.2; d: elipses X ass nobīde (diametra vērtība) attiecībā pret koordinātes nulles punktu e: elipses Z ass attiecībā pret nulles plakni Nobīde
#1=#1-1;
Soļa attālums (katru reizi pārvietojas 1 mm)
JA [#1 GE -f] GOTO1
f: Elipses apstrādes pārtraukšana
Piezīme. Pagriežot ieliektu elipsi, "±" iekavās aiz X tiek pieņemts kā "-"; pagriežot izliektu elipsi, "±" iekavās aiz X tiek pieņemts kā " plus ". Kad elipses X-ass novirzās pozitīvā virzienā, "±" iekavās aiz Z ir "pluss"; kad elipses X-ass novirzās negatīvā virzienā, "±" iekavās aiz Z ieņem "-".
bilde
WHILE paziņojums
#1=20;
WHILE〔#1GE-20〕DO1;
#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 plus 50〕Z〔#1-25〕;
#1=#1-1;
END1;
IF paziņojums
#1=20;
N1#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 plus 50〕Z〔#1-25〕F0,2;
#1=#1-1;
IF[#1GE-20]GOTO1;
pilnīga programma
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;
WHILE〔#1GE-20〕DO1;
#2=10*SQRT〔1-#1*#1/400〕;
G01X〔-2*#2 plus 50〕Z〔#1-25〕F0,2;
#1=#1-1;
END1;
G00 X50;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
Pilns IF priekšraksta formāts ir izlaists (tas pats attiecas uz IF priekšrakstu, ja vien tiek pievienots cikls). FANUC{0}}i sistēmā makro programmu var pievienot tikai G73.
(3) Parabolas apstrāde
1) Paraboliskā WHILE priekšraksta standarta formāts:
#1=a;
a: Instrumenta sākuma punkts ir mm paraboliskās ass Z virzienā
WHILE [#1 GE -b] DO1;
b: ir elipses apstrādes garums z virzienā
#2=SQRT〔-#1*5/3〕;
(Saskaņā ar parabolisko formulu Z=-3/5*X*X atrodiet X vērtību, kas ir #2, kur SQRT nozīmē kvadrātsakni)
G01 X〔±2*#2 plus c〕Z〔#1〕;
c: ir parabolas X ass nobīde (diametra vērtība) attiecībā pret sagataves koordinātu sistēmu, "±"
Ņemot "plus", tas ir izliekts, un, ņemot "-", tas ir ieliekts
#1=#1-1; Soļa attālums (katru reizi pārvietojas 1 mm)
END1;
2) Paraboliskā IF paziņojuma standarta formāts
#1=a;
a: Instrumenta sākuma punkts ir mm paraboliskās ass Z virzienā
N1 #2=SQRT〔-#1*5/3〕;
(Saskaņā ar parabolisko formulu Z=-3/5*X*X atrodiet X vērtību, kas ir #2, kur SQRT nozīmē kvadrātsakni)
G01 X〔±2*#2 plus b〕Z〔#1〕;
b: tā ir parabolas X-virziena ass nobīde (diametra vērtība) attiecībā pret koordinātas nulles punktu. Ja "±" ir "pluss", tas ir izliekts, un, ja tiek ņemts "-", tas ir ieliekts
#1=#1-1;
(soļa attālums Z virzienā, katra kustība ir 1 mm)
IF〔#1 GE -c〕GOTO1; c: elipses apstrādes garums z virzienā
Parabolisks IF
cita teikuma forma
#1=a;
N1 #2=SQRT〔( plus )#1*5/3〕;
"Plus" zīmi var izlaist
G01 X〔2*#2 plus b〕Z〔-#1〕;
#1=#1 plus 1;
JA [#1 LE c] GOTO1;
Pieņemot, ka parabola atrodas Z pozitīvā virzienā, izmantojiet Z〔-#1〕; lai parabola būtu simetriska negatīvajam virzienam
bilde
WHILE paziņojums
#1=0;
LAIKĀ [#1 GE -15] DO1;
#2=SQRT〔-#1*5/3〕;
G01 X〔2*#2 plus 30〕Z〔#1〕;
#1=#1-1;
END1;
IF paziņojums
#1=0;
N1 #2=SQRT〔-#1*5/3〕;
G01X〔2*#2 plus 30〕Z〔#1〕;
#1=#1-1;
JA [#1 GE -15] GOTO1;
pilnīga programma
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;
LAIKĀ [#1 GE -15] DO1;
#2=SQRT〔-#1*5/3〕;
G01 X〔2*#2 plus 30〕Z〔#1〕;
#1=#1-1;
END1;
G00 X42;
N20 G00 G40 Z2;
G70 P10 Q20;
G00 X200;
Z200;
M5;
M30;
(4) Atšķirība starp paziņojumu WHILE un IF
1) Abu apgalvojumu virzieni ir atšķirīgi
Paziņojums WHILE atgriežas atpakaļ
Piemērs: WHILE〔#1 GE 20〕DO1;
G01 X〔#1〕F0.2;
Pieņemot, ka tad, kad darbgalds izpildīs šo teikumu #1=20, tas turpinās izpildīt. Pēc #1=#1-1 izpildes #1 vērtība kļūst par 19, kas vairs neatbilst ierobežojuma nosacījumiem, tāpēc tā neatgriezīsies. (Izgriezt līdz 20 X virzienā)
G00 X〔#1 plus 1);
#1=#1-1;
END1;
2) IF paziņojums atgriežas uz priekšu
Piemērs: N1 #2=#2-1;
G01X〔#2〕F0.2; Pieņemot, ka #2=20, kad darbgalds izpilda šo teikumu, tas turpinās izpildīt līdz IF〔#2 GE 20〕GOTO1; ja nosacījums joprojām ir izpildīts, tas turpinās atgriezties pie N1# 2=#2-1; un pašreizējā X vērtība kļūs 19, kas vairs neatbilst ierobežojuma nosacījumiem, un pēc tam izpildiet citu
G01X〔#2〕F0.2; Visbeidzot, izpildiet šo programmu (X virziens ir samazināts uz 19)
G00X〔#2 plus 1);
JA [#2 GE 20] GOTO1;
3) Kā redzams no iepriekš minētās rievošanas programmas, vārdu skaits IF priekšrakstā ir daudz mazāks nekā WHILE priekšrakstā.
4) Atšķirīgo atgriešanas virzienu dēļ apstrādes laikā izlasiet vienu teikumu mazāk priekšrakstam WHILE un vēl vienu teikumu priekšrakstam IF.
04
SIEMENS sistēmas (virpas) makro programmu aplikācija
Piezīme: Makro programma ir ieprogrammēta ar mainīgajiem, un Siemens sistēmas mainīgo numuru attēlo R.
Piemēram, rakstīts ar parasto programmēšanas metodi: G01X-10
Makro programmu var izteikt šādi:
R1=-10
G01 X=R1
Nosacīta pārsūtīšana:
JA GOTOB: lec atpakaļ
IF GOTOF: lec uz priekšu
rakstīts kopējā programmēšanā
GO1X100
Mainīgos var izteikt šādi:
R1=0
AA: R1=R1 plus 1
G01X=R1
JA R1<100 GOTOB AA
R1 ir neatkarīgs mainīgais, sākotnējā vērtība ir 0, R1=R1 plus 1 nozīmē, ka neatkarīgā mainīgā pieauguma vērtība ir 1, programmai katru reizi ejot cauri šai rindai, vērtība R1 palielinās par 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
Ja R1 ir lielāks vai vienāds ar 100, programma pazūd.
Makro programmas var izmantot gan G90, gan G91 režīmos, taču to nozīme ir atšķirīga, piemēram;
R1=0, G90R1=R1 plus 1, G1X=R1, X vērtība pēc šīs programmas otrās kārtas ir 2.
R1=0, G91R1=R1 plus 1, G1X=R1, X vērtība pēc otrās programmas darbības ir 3. Paskaidrojums: R1 vērtība ir 1 pēc pirmās programmas iet, un R1 vērtība ir otrā iet Tas ir 2, bet G91 režīmā tas ir balstīts uz iepriekšējo.
(1) Rievojums
bilde
T1
TC
T1D1
G0G40X100Z100
M03S1000
G0X54Z2
Ātri sasniedziet sākuma punktu
Z-10
R1=3
Nosakiet asmeņa platumu kā 3 mm
R2=-10-R1-0.2
Rīka sākuma punkts ir -10, un, iestatot rīku, tiek izmantota asmens kreisā puse;
Instrumenta iestatījums, tāpēc asmens platums ir jāatņem, 0.2 ir apdares pielaide
G1Z=R2F0.1
Instruments sasniedz Z ass sākuma punktu
AA:R2=R2-2.5
R3=50
Rievas X ass sasniedz punktu
BB: R3=R3-2
Katra naža griešanas dziļumu definējiet kā 2 mm
G1X=R3
X=R3 plus 1
0.5 mm skaidu noņemšana vienā pusē ik pēc 2 mm griezuma dziļuma
IF R3>30 plus 0,4 GOTOB BB
Define the groove depth as 10mm, if R3>30mm, programma pāriet atpakaļ līdz atzīmei BB, un 0,4 ir apdares pielaide
G0X50
Instruments sasniedz X ass sākuma punktu
G1Z=R2
IF R2>{{0}} plus 0,2 GOTOB AA
Definējiet rievas platumu kā 20mm, un 0,2 ir apdares pielaide
G0X50
G01Z-13
apdare
X30
Z-16
G0X50
Z-30
G01X30
Z-16
G0X50
Izņemt
G0X100
Z100
M05
M30
(2) Elipse
1) Pamatformāts
R1=0
Definējiet mainīgo R1 ar sākotnējo vērtību 0
AA:R2=b×SQRT(1-R1×R1/a×a)
Saskaņā ar elipses vienādojumu a ir elipses daļēji lielākā ass, b ir elipses daļēji mazā ass, un SQRT ir kvadrātsaknes simbols.
G1X=±2×R2 plus XZ=R1-Z
Iestatiet elipses pozīciju un formu, plus 2 ir izliekta, -2 ir ieliekta, X, Z ir attālumi starp sagataves asi un elipses asi (diametra sistēma).
R1=R1-1
Iestatiet apstrādes posmu
IF R1>=n GOTOB AA
Ja mainīgais R1
2) Programmēšanas piemērs:
bilde
T1D1
G0G40X100Z100
M3S1000
G0X52Z2
Z-20
CIKLS95 ( )
G42S1500
OO:
R1=20
AA:R2=5×SQRT(1-R1×R1/400)
G1X=-2×R2 plus 50 Z=R1-40
R1=R1-2
IF R1>=-20 GOTOB AA
PP:X42
G0G40X100Z100
M05
M09
M30
(3) Parabola
1) Pamatformāts:
R1=0
Iestatiet mainīgā R1 sākotnējo vērtību uz 0
AA: R2=SQRT(-R1×n)
Iegūts saskaņā ar parabolas pamatformātu, kur SQRT ir kvadrātsaknes simbols un n ir koeficients
G01X=2×R2 plus n
Z=R1
Apstrādes ceļš, plus 2 ir izliekts, n ir X ass sākuma punkta vērtība
R1=R1-1
Mainīgā pieauguma vērtība ir 1 mm
IF R1>-30 GOTOB AA
If the variable R1>-30, programma pāriet atpakaļ uz atzīmi: AA
2) Programmēšanas piemērs:
bilde
T1
Tc
T1D1
G0G40X100Z100
M03S1000
G0X52Z2
CIKLS95 ( )
G0G42
OO:
R1=0
AA:R2=SQRT(-R1×5/3)
G01X=2×R2 plus 30 Z=R1
R1=R1-2
IF R1>-60 GOTOB AA
PP: X52
G0X100Z100
M05
M30




