Apr 15, 2023 Atstāj ziņu

Parunāsim par CNC makro programmām

 

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

Nosūtīt pieprasījumu

whatsapp

skype

E-pasts

Izmeklēšana