Prilikom programiranja dijelova na CNC mašinama u skladu sa DIN 66025 (ISO 6983) standardom, ranije poznatim kao ISO 7bit, koriste se sljedeći operateri:
- N - broj okvira;
- G - pripremne funkcije;
- X, Y, Z, A, B, C - informacije o kretanjima duž osi;
- M - dodatne funkcije;
- S - funkcije vretena;
- T - funkcije alata;
- F - funkcije napajanja;
- N - pomoćne funkcije (blokovi podataka o kompenzaciji alata u DIN-ISO modu). Ako postoji važeći D broj trenutnog alata, on se dodatno prikazuje.
Radi veće jasnoće strukture okvira, operatori u okviru treba da budu raspoređeni u sledećem redosledu: N, G, X, Y, Z, A, B, C, F, S, T, D, M, H.
Kontrolni program se sastoji od n-ti broj okvira koji se reprodukuje neprekidno ili sa određenim pauzama (pri velikoj brzini obrade delova izrađenih od legura aluminijuma visoke čvrstoće, čak i kratko zaustavljanje alata između susednih okvira je neprihvatljivo zbog opasnosti od pregrevanja ili topljenja obrađena površina zbog trenja). Osim toga, moguće je preskočiti pojedinačne okvire i ispraviti veličine povezivanjem pripremnih funkcija. Time se osigurava razvoj upravljačkih programa za standardne tehnološke procese.
Osoblje kontrolni program sastoji se od sljedećih komponenti:
- komande (operatori) prema DIN 66025;
- elementi CNC programskog jezika visokog nivoa;
- identifikatori (definisani nazivi) za:
- sistemske varijable;
- korisnički definirane varijable;
- potprogrami;
- kodne riječi;
- prelazne oznake;
- makroi;
- operatori poređenja;
- logički operatori;
- funkcije proračuna;
- kontrolne strukture.
Budući da skup komandi prema DIN 66025 nije dovoljan za programiranje složenih obradnih procesa na modernim multi-task mašinama, dopunjen je elementima CNC programskog jezika visokog nivoa.
Za razliku od naredbi prema DIN 66025, komande u CNC programskom jeziku visokog nivoa sastoje se od nekoliko adresnih slova, na primjer:
- OVR - za korekciju brzine (procenat);
- SPOS - za pozicioniranje vretena.
Struktura programa ima sljedeći oblik: “%” (samo za programe razvijene na PC-u), naziv programa “O” ili “:” iza kojeg slijedi broj programa koji ne sadrži više od četiri cifre. Svaki red u programu je okvir.
Svaki programski blok ima strukturu:
- N - redni broj okvira (ne više od četiri znaka, numerisanje se vrši kroz 5 ili 10 kako bi se omogućilo uvođenje dodatnih okvira prilikom izrade programa);
- pripremna funkcija G;
- koordinate X, Y, Z, A, C, B;
- dodatna funkcija M;
- funkcija vretena S;
- funkcija alata T;
- funkcija dovoda F;
- D - broj pomaka alata;
- H - blokovi podataka o kompenzaciji alata u DIN-ISO modu. Komande rade ili modalno ili okvir po okvir.
Modalno važeće naredbe zadržavaju svoj značaj u svim narednim blokovima sa programiranom vrijednošću sve dok se nova vrijednost ne programira na istoj adresi, poništavajući prethodno važeću naredbu.
Naredbe koje rade blok po blok zadržavaju svoj značaj samo u bloku u kojem su programirane.
Svaki okvir završava sa LF karakterom, LF karakter ne treba pisati, on se automatski kreira kada se linija prebaci. Program završava naredbama M2, M30 ili M99. Okvir se može sastojati od najviše 512 znakova (uključujući komentar i znak za kraj LF okvira).
Funkcije pripreme G osiguravaju sve funkcije stroja.
X, Y, Z - linearne koordinatne ose mašine, koordinata Z je uvek paralelna sa osi vretena mašine ili okomita na ravninu obratka za mašine sa dvostruko rotacionom glodalom; A, C, B - ugaone koordinate rotacije u odnosu na linearne koordinatne ose. Ako mašina ima više od dva vretena, kao i glave alata, tada se pojavljuju dodatne koordinatne ose X', Y', Z', A', C', B', itd.
Treba napomenuti da vam pripremne funkcije omogućuju prebacivanje na koordinatni sustav dijela, što vam u nekim slučajevima omogućava da napustite upotrebu posebnih uređaja.
Dodatne funkcije M su odgovorne za uključivanje i isključivanje vretena, pumpne stanice za dovod rashladnog sredstva, smjer rotacije vretena i završetak programa.
Funkcija vretena S postavlja brzinu vretena.
Funkcija alata T specificira broj alata ili postavke alata.
Funkcija uvlačenja F postavlja vrijednost uvlačenja.
Rice. 1.
Koordinatni sistem mašine i pravci pozitivnih kretanja prikazani su na slici 1.
Upravljački programi se mogu sastaviti u mašinskom koordinatnom sistemu, u tom slučaju korišćena mašinska oprema mora biti u skladu sa koordinatnom mrežom tablice mašine. Koordinacija se postiže činjenicom da noseća ploča uređaja ima klin za centriranje i ključ. Zatik se uklapa u čahuru utisnutu u sredinu stola mašine, a ključ se uklapa u hladan žleb. Dakle, radni prostor mašine u ravni X–Y kombinuje se sa koordinatnim sistemom uređaja. U koordinatnom sistemu uređaja izrađuju se osnovne površine, na primjer, ravan i dva prsta (cilindrični i rezani). Posljedično, greške u pozicioniranju se javljaju i prilikom ugradnje učvršćenja i prilikom ugradnje dijela.
Prilikom intenzivne upotrebe u proizvodnom okruženju sa više artikala, odnosno kada se učvršćenje često mijenja, potrebno je još jednom provjeriti ne samo opremu, već i osnovne površine vodilice stola mašine, odnosno čahuru za centriranje i klasni žljeb.
Uzimajući to u obzir, preporučljivo je izvršiti obradu u koordinatnom sistemu dijela. Uređaj je orijentisan samo duž jedne ose, a vezivanje za koordinatni sistem dela vrši se pomoću mernih senzora. U ovom slučaju, osim eliminacije grešaka u pozicioniranju, smanjeni su i zahtjevi za vremenskim rasporedom opreme za ponovnu provjeru, štoviše, postaje moguće šire koristiti normalizirane uređaje ili prilagođavanja iz njih bez pozivanja na koordinatni sustav stroja.
Pripremne funkcije G, dodatne funkcije M date su u tabelama 1, 2.
Dakle, na glodalicama se izmjena alata izvodi u sljedećem redoslijedu: pomoću T naredbe odabire se alat, a njegova promjena se događa samo pomoću naredbe M6.
Za revolverske glave na strugovima, T komanda je dovoljna za promjenu alata.
Funkcija vretena S specificira brzinu vretena, funkcija alata T specificira postavku alata ili broj alata, a funkcija pomaka F specificira vrijednost posmaka.
Tabela 1.Pripremne funkcije G
Uputstva | Opis |
G00 | Linearna interpolacija tokom brzog kretanja |
G01 | Linearna interpolacija pri pomaku |
G02 | Kružna interpolacija u smjeru kazaljke na satu |
G03 | Kružna interpolacija u smjeru suprotnom od kazaljke na satu |
G04 | Vremensko kašnjenje |
G05 | Kružna interpolacija s pristupom kružnoj putanji duž tangente |
G06 | Smanjenje dozvoljenog nivoa ubrzanja |
G07 | Otkaži smanjenje ubrzanja |
G0S | Kontrola brzine pomaka na tačkama pregiba |
G09 | Otkazivanje kontrole brzine pomaka na tačkama pregiba |
G10 | Ubrzano kretanje u polarnim koordinatama |
G11 | Linearna interpolacija u polarnim koordinatama |
G12 | Kružna interpolacija u smjeru kazaljke na satu u polarnim koordinatama |
G13 | Kružna interpolacija u smjeru suprotnom od kazaljke na satu u polarnim koordinatama |
G14 | Programiranje vrijednosti pojačanja na osnovu brzine servo pogona |
G15 | Otkaži G14 |
G16 | Programiranje bez specifikacije ravni |
G17 | Izbor aviona U–X |
G1S | Izbor aviona Z–X |
G19 | Izbor aviona U–Z |
G20 | Određivanje pola i koordinatne ravni prilikom programiranja u polarnim koordinatama |
G21 | Klasifikacija osi programiranja |
G22 | Aktiviranje tablica |
G23 | Programiranje uslovnog skoka |
G24 | Programiranje bezuslovnog skoka |
G32 | Rezanje navoja u načinu linearne interpolacije bez kompenzacijske stezne glave |
G34 | Zaokruživanje ugla za dva susedna ravna deonica (sa dozvoljenim odstupanjem pod adresom E) |
G35 | Isključite zaglađivanje uglova |
G36 | Isključivanje odstupanja programiranog tokom zaokruživanja, koje postaje jednako mašinskom parametru |
G37 | Programiranje tačke za preslikavanje ili rotaciju koordinata |
G38 | Aktivacija zrcaljenja, rotacija koordinata, skaliranje |
G39 | Otkažite zrcaljenje, rotiranje koordinata, skaliranje |
G40 | Otkažite ekvidistantnu korekciju |
G41 | Jednako udaljena korekcija lijevo u smjeru dodavanja |
G42 | Jednako udaljena korekcija udesno u smjeru dodavanja |
G53 | Otkaži nulti pomak |
G54-G59 | Pokretanje pomaka nule |
G60 | Programski pomak koordinatnog sistema |
G61 | Precizno pozicioniranje pri kretanju brzinom pomaka |
G62 | Otkažite precizno pozicioniranje |
G63 | Uključite 100% programirane vrijednosti brzine |
G64 | Povezivanje brzine pomaka sa točkom kontakta između rezača i dijela |
G65 | Povezivanje brzine pomaka sa sredinom rezača |
G66 | Aktiviranje vrijednosti brzine podešene potenciometrom |
G67 | Otkaži pomak programskog koordinatnog sistema |
G68 | Opcija za uparivanje jednako udaljenih segmenata duž luka |
G69 | Opcija za uparivanje ekvidistantnih segmenata duž putanje preseka ekvidistantnih linija |
G70 | Programiranje u inčima |
G71 | Otkažite programiranje u inčima |
G73 | Linearna interpolacija sa preciznim pozicioniranjem |
G74 | Izađite u ishodište |
G75 | Rad sa senzorom na dodir |
G76 | Pomaknite se na tačku sa apsolutnim koordinatama u koordinatnom sistemu mašine |
G78 | Aktivacija osovine bušilice |
G79 | Deaktiviranje jedne ose bušilice ili svih odjednom |
G80 | Otkazivanje konzerviranih ciklusa |
G81, G82 | Standardni ciklus bušenja |
G83 | Standardni ciklus dubokog bušenja |
G84 | Ciklus navoja s kompenzacijskom steznom glavom |
G85, G86 | Standardni ciklus bušenja |
G90 | Programiranje u apsolutnim koordinatama |
G91 | Programiranje u relativnim koordinatama |
G92 | Postavljanje vrijednosti koordinata |
G93 | Programiranje vremena izvršenja bloka |
G94 | Programiranje posmaka u mm/min |
G95 | Programiranje protoka u mm/rev |
G97 | Programiranje brzine rezanja |
G105 | Postavljanje nule za linearne beskonačne ose |
G108 | Kontrola uvlačenja na tačkama pregiba zasnovana na Look Ahead |
G112 | |
G113 | Aktiviranje kontrole napredovanja kočnice |
G114 | Aktiviranje kontrole brzine naprijed |
G115 | Deaktiviranje kontrole brzine naprijed |
G138 | Omogućavanje kompenzacije položaja obratka |
G139 | Isključivanje kompenzacije radnog položaja |
G145-845 | Aktivacija eksterne korekcije od strane programabilnog kontrolera |
G146 | Isključivanje eksterne kompenzacije alata |
G147, G847 | Sekundarna kompenzacijska grupa za korekcije alata; korekcije se odnose na osovine |
G148 | Otkažite dodatnu kompenzaciju alata |
G153 | Otkažite prvi aditivni nulti pomak |
G154-159 | Indikacija prvog pomaka nule aditiva |
G160-360 | Eksterni pomak nule |
G161 | Precizno pozicioniranje tokom brzog hoda |
G162 | Otkazivanje finog pozicioniranja tokom brzog hoda |
G163 | Precizno pozicioniranje tokom brzog hoda i pomicanja pri pomaku |
G164 | Prva opcija preciznog pozicioniranja |
G165 | Druga opcija preciznog pozicioniranja |
G166 | Treća opcija preciznog pozicioniranja |
G167 | Otkažite eksterni pomak nule |
G168 | Pomak koordinatnog sistema upravljačkog programa |
G169 | Poništava sve pomake koordinatnog sistema |
G184 | Ciklus navoja bez kompenzacijske stezne glave |
G189 | Programiranje u apsolutnim koordinatama za beskonačne ose |
G190 | Programiranje u apsolutnim koordinatama "riječ po riječ" |
G191 | Programiranje u relativnim koordinatama "riječ po riječ" |
G192 | Postavljanje donje granice brzine u upravljačkom programu |
G194 | Brzina programiranja (pomak, brzina) sa prilagođavanjem ubrzanja |
G200 | Linearna interpolacija pri brzom hodu bez kočenja do V= 0 |
G202 | Helikalna interpolacija u smjeru kazaljke na satu |
G203 | Zavojna interpolacija u smjeru suprotnom od kazaljke na satu |
G206 | Aktiviranje i pohranjivanje maksimalnih vrijednosti ubrzanja |
G228 | Prijelazi iz kadra u kadar bez usporavanja |
G253 | Poništi pomak nule drugog aditiva |
G254-259 | Pokretanje drugog pomaka nule aditiva |
G268 | Aditivni pomak koordinatnog sistema upravljačkog programa |
G269 | Poništi aditivni pomak koordinatnog sistema upravljačkog programa |
G292 | Postavljanje gornje granice brzine u upravljačkom programu |
G301 | Omogući oscilirajuće kretanje |
G350 | Podešavanje parametara oscilirajućeg kretanja |
G408 | Formiranje glatkog ubrzanja pri kretanju od tačke do tačke |
G500 | Otkrivanje mogućih sudara prilikom gledanja okvira ispred |
G543 | Omogućavanje upravljanja kolizijama prilikom gledanja okvira ispred |
G544 | Onemogućavanje upravljanja kolizijama prilikom gledanja okvira ispred |
G575 | Prebacivanje okvira pomoću eksternog signala velike brzine |
G580 | Raspuštanje koordinatnih osa |
G581 | Formiranje koordinatnih osa |
G608 | Formiranje glatkog ubrzanja pri kretanju od tačke do tačke za svaku osu posebno |
Napomena. Za svaki upravljački sistem, neke vrijednosti pripremne funkcije mogu imati različita značenja ovisno o proizvođaču stroja. Treba napomenuti da u cilju proširenja tehnoloških mogućnosti opreme, proizvođači CNC sistema imaju tendenciju povećanja pripremnih funkcija.
Tabela 2.Dodatne M funkcije
Uputstva | Opis |
MO | Zaustavljanje programa |
M1 | Zahtjev za zaustavljanje |
M2 | Kraj programa |
M3 | Omogućite rotaciju vretena u smjeru kazaljke na satu |
M4 | Omogućite rotaciju vretena u smjeru suprotnom od kazaljke na satu |
M5 | Zaustavljanje vretena |
M2=3 | Električni alat okrenut u smjeru kazaljke na satu |
M2=4 | Električni alat okrenut suprotno od kazaljke na satu |
M2=5 | Električni alat isključen |
M6 | Automatska izmjena alata |
M7 | Uključivanje protoka zraka |
MS | Uključite rashladnu tečnost |
M9 | Isključivanje hlađenja |
M1O | Onemogućavanje protoka vazduha |
M11 | Stezaljka za alat |
M12 | Otpuštanje alata |
M13 | Okretanje vretena u smjeru kazaljke na satu zajedno s uključivanjem rashladne tekućine |
M14 | Okretanje vretena u smjeru suprotnom od kazaljke na satu zajedno s uključivanjem rashladne tekućine |
M15 | Uključivanje rashladnog sredstva za ispiranje strugotine |
M17 | Kraj potprograma |
M19 | Orijentacija vretena |
M21 | X |
M22 | Omogućite zrcaljenje programa duž ose U |
M23 | Onemogućite preslikavanje programa |
M29 | Omogućavanje Rigid Threading Mode |
M3O | Završetak programa sa mogućnošću istovremenog isključivanja napajanja mašine |
M52 | Pomaknite magazin za jednu poziciju udesno |
M53 | Pomicanje magazina za jednu poziciju ulijevo |
M7O | Inicijalizacija prodavnice |
M71 | Spuštanje džepa aktivnog magazina |
M72 | Okrenite manipulator za 60° |
M73 | Otpuštanje alata |
M74 | Rotacija manipulatora 120° |
M75 | Stezaljka za alat |
M76 | Rotirajte manipulator za 180° |
M77 | Podizanje aktivnog džepa za magazin |
M98 | Pozivanje potprograma |
M99 | Povratak na glavni program |
Zanimljivo. Za različite upravljačke sisteme i tipove strojeva, dodatne funkcije mogu imati različita značenja, na primjer, aktivirati pomicanje stražnje kočnice, funkcije uređaj za pokretanje, luneta itd.
Prilikom kreiranja NC programa, samo programiranje, odnosno konverzija pojedinih radnih koraka u NC jezik, često je samo mali dio posla programiranja.
Prije programiranja potrebno je planirati i pripremiti prelaze rada. Što se preciznije planira početak i struktura CNC programa, to će samo programiranje biti brže i lakše i jasnije i manje sklono greškama. gotov program CNC.
Prednost vizuelnih programa posebno je evidentna kada promene treba izvršiti kasnije.
Pošto nema svaki program istu strukturu, nema smisla raditi prema standardnom šablonu. Međutim, u većini slučajeva preporučljivo je slijediti sljedeći redoslijed.
1. Priprema crteža dijela sastoji se od:
- a) u određivanju nulte tačke dijela;
- b) u crtanju koordinatnog sistema;
- c) u proračunu eventualno nedostajućih koordinata.
2. Definicija procesa obrade:
- a) Kada će se koristiti, koji alati i za obradu kojih kontura?
- b) Kojim redoslijedom će se proizvoditi pojedinačni elementi dijela?
- c) Koji pojedinačni elementi se ponavljaju (možda rotiraju) i moraju biti pohranjeni u potprogramu?
- d) Da li drugi programi dijelova ili potprogrami imaju obrise dijelova koji se mogu ponovo koristiti za trenutni dio?
- e) Gdje su pomaci datuma, rotacija, okretanje, skaliranje (koncept okvira) korisni ili neophodni?
3. Izrada tehnološke karte. Odredite jedan po jedan sve procese obrade mašine, na primjer:
- a) brzi pokreti za pozicioniranje;
- b) zamjena alata;
- c) određivanje ravni obrade;
- d) slobodan hod za dodatno mjerenje;
- e) uključivanje/isključivanje vretena, rashladne tečnosti;
- f) pozvati podatke o alatu;
- g) podnošenje;
- h) korekcija putanje;
- i) napajanje strujnog kola;
- j) izlaz iz strujnog kola, itd.
4. Prijevod prijelaza u programski jezik: snimanje svakog prijelaza kao NC blok (ili NC blokovi).
5. Povezivanje svih pojedinačnih prelaza u operaciju, obično u jednom programu. Ponekad, posebno pri obradi velikih dijelova u programu, mogu se istaknuti prijelazi grube obrade, poluzavršne obrade i završne obrade. Ovo se dogodilo sa ograničenim kapacitetom memorije tipičnim za stare CNC sisteme. Za savremeni sistemi programska kontrola Količina memorije praktično ne ograničava tehnološke mogućnosti mašina.
Savremeni sistemi upravljanja programom naširoko koriste standardne cikluse obrade. Njihova upotreba značajno skraćuje vrijeme programiranja.
Neke konstante ciklusa za upravljačke sisteme koji se koriste u softveru WIN NC SINUMERIK su navedene u nastavku:
- CYCLE81 - bušenje, centriranje;
- CYCLE82 - bušenje, upuštanje;
- CYCLE83 - bušenje dubokih rupa spiralnim burgijama;
- CYCLE84 - rezanje unutrašnjeg navoja bez kompenzacione stezne glave;
- CYCLE840 - rezanje unutrašnjeg navoja sa kompenzatornom steznom glavom;
- CYCLE85 - bušenje 1;
- CYCLE86 - bušenje 2;
- CYCLE87 - bušenje 3;
- CYCLE88 - bušenje 4;
- CYCLE89 - bušenje 5;
- CYCLE93 - utor;
- CYCLE94 - unutrašnji žljeb;
- CYCLE95 - ciklus uklanjanja dodatka;
- CYCLE96 - udubljenje s navojem;
- CYCLE97 - ciklus rezanja navoja.
Treba napomenuti da su otvoreni sistemi programske kontrole visokog nivoa, što omogućava proširenje biblioteke standardnih ciklusa za obradu standardnih površina karakterističnih za proizvodnju ovog tipa proizvoda i time skraćuje vrijeme pripreme proizvodnje.
Rice. 2.
Upotreba CAM sistema dovela je do potrebe da svaki sistem upravljanja programom razvije postprocesore, bez kojih oprema ne može razumjeti programe bez njihovog prevođenja u mašinske kodove (slika 2).
Programiranje savremenih CNC sistema vrši se u skladu sa standardom ISO 6983 (DIN 66025), koji je star više od 50 godina i koji, prema rečima programera, navodno usporava razvoj CNC tehnologija. Izraz „CNC tehnologija“, prema autoru, nije legalan za obradu delova na CNC mašinama, podložan je svim zakonima tehnologije mašinstva i rezanja metala ili drugim metodama oblikovanja.
Kršenje zakona tehnoloških nauka dovodi do:
- do povećanog savijanja dijelova;
- do smanjenja tačnosti linearnih dimenzija;
- do povećanja radnog intenziteta obrade delova itd.
Osnovna razlika za višenamjenske mašine je izuzetno izražena koncentracija operacija, ne samo karakteristična za ovu vrstu opreme, već se realizuje i pogonskim alatima i specijalnom vretenasto opremom, kao i metodama za osiguranje tačnosti pomoću mašinskih mjernih sistema. Standard podržava jednostavne komande za osnovne pokrete i logičke operacije. Trenutno se za rješavanje složenih geometrijskih i logičkih problema u programskim upravljačkim sistemima, pored mašinskih kodova u skladu sa DIN 66025 (ISO 7bit), koriste i programski jezici visokog nivoa. Upravljački programi u standardu ISO 6983 sadrže malu količinu informacija dobijenih na nivou CAD-CAM sistema. Međutim, ozbiljniji nedostatak, prema programerima sistema kontrole programa, je nemogućnost dvosmjerne razmjene informacija sa ovim sistemima, što znači da se bilo kakve promjene u upravljačkom programu ne mogu odraziti uzvodno. protok informacija na CAD-CAM sisteme. Treba napomenuti da ovo nije praktično za sve industrije. Tako je, na primjer, prihvatljivo izglađivanje glatke konjugacije teoretskih kontura sa splajnovima, ali konjugacija dviju površina zahtijeva analizu mogućih metoda njihovog oblikovanja za određeni broj konstrukcijskih materijala mogu postojati tehnološka ograničenja, na primjer, minimum dozvoljeni radijusi konjugacije konstruktivnih elemenata delova od legura aluminijuma visoke čvrstoće itd.
Za razliku od DIN 66025 (ISO 6983), STEP-NC ISO 14649 standard koji se razvija (u ovom trenutku nisu razvijeni svi njegovi moduli) definiše posebnu strukturu CNC upravljačkog programa - strukturu programa, koja se koristi za konstruisanje logičkih blokova u okviru programiranja strukturirane obrade. Struktura kontrolnog programa nije lista tipičnih obrađenih formi (karakteristike); definiše plan rada (radni plan), koji je niz izvršnih datoteka. STEP-NC uključuje široku razmjenu informacija između inženjerskih službi, uključujući pripremu i planiranje proizvodnje, kao i na nivou radnje.
Struktura predložene razmjene informacija prikazana je na slici 3.
Struktura planirane razmjene informacija postavlja mnoga pitanja:
- nedovoljan nivo formalizacije inženjerskog rada otežava stvaranje baza znanja;
- veliki broj kataloga reznih alata, koji daju nedovoljne informacije za odabir alata za obradu posebnih materijala i uvjete njegove upotrebe, što u većini slučajeva zahtijeva eksperimentalnu provjeru;
- Katalozima opreme često nedostaju informacije o pozicionoj tačnosti kontrolisanih osa mašine, dinamičkim karakteristikama pogona itd.;
- zastarjele tehnološke referentne knjige, razvijene za univerzalnu opremu i sistematski ponovo objavljivane, gotovo bez ažuriranja tehnoloških informacija;
- nedostatak sistematskih informacija o naprednoj tehnološkoj opremi.
Rice. 3. Planirana razmjena informacija između inženjerskih službi i nivoa radnje
Dodatno, treba napomenuti da ne postoje standardne metode za optimizaciju programiranja alatnih mašina po parametrima koji vam omogućavaju da odaberete najbolju mašinu ili grupu mašina za izvođenje određene tehnološke operacije ili procesa.
Na ove probleme su više puta ukazivali korisnici raznih alatnih mašina uključenih u STEP-NC proces standardizacije. Proizvođači i programeri opreme softver pokušajte uzeti u obzir zahtjeve korisnika i implementirati neke od njih specificirane funkcije u svojim proizvodima. Međutim, njihov rad često ne podliježe jedinstvenom standardu, što, prema postojećem mišljenju, može usporiti ažuriranje industrijskih sistema. Također je nemoguće ne spomenuti da proizvedena oprema rijetko koristi sve moderne tehnologije i kao rezultat toga proizvodna baza nije toliko efikasna i savršena. Uzimajući to u obzir, proizvođači programabilnih upravljačkih sistema odabrali su kompromisnu opciju koja im omogućava da rade prema DIN 66025 (ISO 6983) i ISO 14649 (Sl. 4).
Rice. 4. Mješovita arhitektura CNC sistema podržava DIN 66025 (ISO 6983) i ISO 14649 (STEP-NC) standarde
Sve ovo ukazuje na to da je pored unapređenja sistema upravljanja programom i metoda programiranja, neophodno sistemski pristupiti pripremi tehnoloških informacija:
- alat koji obezbeđuje intenziviranje načina obrade;
- preporuke za korištenje različitih dizajna alata;
- zavisnosti za proračune rezanja;
- zavisnosti za proračun komponenti sila rezanja;
- baze podataka o CNC opremi i njihovim tehnološkim mogućnostima, uključujući i slučajeve opreme različiti sistemi menadžment;
- algoritmi za izračunavanje načina rezanja za strojeve gdje se električna vretena koriste kao glavni pogon kretanja;
- strategija obrade različitih konstruktivnih elemenata dijelova na CNC mašinama;
- baze podataka o korištenju komercijalno proizvedene opreme za CNC strojeve;
- mjerni sistemi za alatne strojeve, uključujući nulte referentne i mjerne senzore;
- proizvodne upute za sastavljanje postavki alata i njihovo balansiranje;
- tehnološke regulative za provjeru tačnosti CNC strojeva, ponovnu provjeru vretenaste opreme, posebno trnova i čahura tipa HSK i još mnogo toga.
Funkcije sa adresom G- zovu se pripremni, određuju radne uslove mašine povezane sa programiranjem geometrije kretanja alata. Detaljan opis G kodova može se naći u poglavlju ISO 7 bitni kod.
U ovom poglavlju ćemo detaljno razmotriti svrhu pomoćnih funkcija.
Funkcije sa adresom M- zovu se pomoćni(sa engleskog: Miscellaneous) i dizajnirani su za upravljanje različitim režimima i uređajima mašine.
Pomoćne funkcije se mogu koristiti samostalno ili u kombinaciji s drugim adresama, na primjer blok ispod ugrađuje alat broj 1 u vreteno.
N10 T1 M6, gdje
T1– alat broj 1;
M6– zamjena alata;
U ovom slučaju, pod naredbom M6 na CNC postolju postoji čitav niz naredbi koje osiguravaju proces zamjene alata:
Pomicanje alata u poziciju promjene;
- isključivanje brzine vretena;
- premeštanje instaliranog alata u prodavnici;
- zamjena alata;
Upotreba M-kodova je dozvoljena u okvirima sa kretanjem alata, na primjer u liniji ispod hlađenje će se uključiti (M8) istovremeno sa početkom kretanja rezača.
N10 X100 Y150 Z5 F1000 M8
M kodovi koji uključuju bilo koji uređaj stroja imaju upareni M kod koji isključuje taj uređaj. na primjer,
M8– uključiti hlađenje, M9– isključite hlađenje;
M3– uključite brzinu vretena, M5– isključite brzinu;
Dozvoljeno je korištenje nekoliko M naredbi u jednom okviru.
Shodno tome, što više uređaja mašina ima, to će više M komandi biti uključeno u njenu kontrolu.
Konvencionalno se sve pomoćne funkcije mogu podijeliti na standard I poseban. Standardne pomoćne funkcije koriste proizvođači CNC-a za kontrolu uređaja koji se nalaze na svakoj mašini (vreteno, hlađenje, izmjena alata, itd.). Dok specijalni programi programiraju režime na jednoj specifičnoj mašini ili grupi mašina datog modela (uključivanje/isključivanje merne glave, stezanje/otpuštanje rotacionih osovina).
Na gornjoj slici prikazano je rotirajuće vreteno višeosnog strojnog alata. Da bi se povećala krutost tokom pozicijske obrade, mašina je opremljena stezaljkama rotacione osovine, koje kontrolišu M kodovi: M10/M12– omogućiti stezaljke za osovine A i C. M11/M13– isključite stezaljke. Na drugoj opremi, proizvođač mašine može konfigurisati ove komande za kontrolu drugih uređaja.
Lista standardnih M naredbi
M0 – zaustavljanje programa;M1 – zaustavljanje na zahtjev;
M2 – završetak programa;
M3 – uključite rotaciju vretena u smjeru kazaljke na satu;
M4 – uključite rotaciju vretena u smjeru suprotnom od kazaljke na satu;
M5 – zaustavljanje vretena;
M6 – automatska izmjena alata;
M8 – uključite hlađenje (obično rashladno sredstvo);
M9 – isključite hlađenje;
M19 – orijentacija vretena;
M30 – završetak programa (obično sa resetovanjem svih parametara);
M98 – poziv potprograma;
M99 – povratak iz potprograma u glavni;
Proizvođač mašine opisuje posebne pomoćne funkcije u odgovarajućoj tehničkoj dokumentaciji.
Pomoćne funkcije (ili M-kodovi) se programiraju pomoću adresne riječi M. Pomoćne funkcije se koriste za kontrolu programa i električne automatizacije mašine - uključivanje/isključivanje vretena, rashladne tečnosti, menjanje alata itd.
Tabela 3.
Oznaka |
Svrha |
M00 |
Programabilno zaustavljanje |
M01 |
Zaustavite s potvrdom |
M02 |
Kraj programa |
M03 |
Rotacija vretena u smjeru kazaljke na satu |
M04 |
Rotacija vretena u smjeru suprotnom od kazaljke na satu |
M05 |
Zaustavljanje vretena |
M06 |
Promjena alata |
M08 |
Uključite hlađenje |
M09 |
Hlađenje |
M17 |
Povratak iz potprograma |
M18 |
Pozicioniranje vretena pod određenim uglom |
M19 |
Orijentacija vretena |
M20 |
Kraj dijela programa koji se ponavlja |
M30 |
Zaustavite se i idite na početak kontrolnog programa |
M99 |
Nastavite s izvođenjem prvog okvira |
Pomoćne funkcije koje obavljaju uključivanje bilo koje operacije ( M03, M04 I M08), izvršavaju se na početku bloka prije naredbi za kretanje. Preostale pomoćne funkcije se izvršavaju na kraju bloka.
U tabeli 3 je lista često korištenih pomoćnih funkcija.
2.1. Programabilno zaustavljanje (M00)
Bezuslovno zaustavljanje upravljačkog programa nakon izvršenja pokreta sadržanog u trenutnom bloku. Stanje programa se ne menja sve dok se dugme ponovo ne pritisne START na kontrolnoj tabli ili tasterima DO POČETKA, za povratak na početak trenutnog programa.
2.2. Zaustavi s potvrdom (M01)
Zaustavljanje kontrolnog programa nakon izvršenja pokreta sadržanog u trenutnom bloku, pod uvjetom da je način podešen “Prekini s potvrdom” sa kontrolne table kontrolnog sistema (vidi dokument MSHAK-CNC uputstvo za rukovaoca).
primjer:
X-2 X-4.
M1 ; Zaustavite izvršavanje programa na ovom bloku ako
; mod postavljen “Prekini s potvrdom” sa konzole operatera
2.3. Kraj programa (M02)
Određuje kraj izvršavanja kontrolnog programa, zaustavlja dovod rashladnog sredstva i zaustavlja rotaciju vretena.
primjer:
G0X20Z50 Z.5
G0 X0Z0 M2
2.4. Rotacija vretena u smjeru kazaljke na satu (M03)
Započinje rotaciju vretena u smjeru kazaljke na satu koristeći trenutnu vrijednost specificiranu riječju.
primjer:
G54 G0 X-20 Z30 S500M3
2.5. Rotacija vretena u smjeru suprotnom od kazaljke na satu (M04)
Započinje rotaciju vretena u smjeru suprotnom od kazaljke na satu koristeći trenutnu vrijednost specificiranu riječju.
primjer:
G54 G0 X-20 Z30 S1500M4
2.6. Zaustavljanje vretena (M05)
Zaustavlja rotaciju vretena. Izvodi se nakon pokreta sadržanih u okviru.
primjer:
G28 X0 Z0 M5
G4 P2 M2
2.7. Promjena alata (M06)
Obavlja promjenu alata između vretena i magacina alata. Prema ovoj funkciji događa se sljedeće:
· Pozicioniranje duž osi do točke promjene alata;
· Zaustavljanje rotacije vretena i orijentacije vretena;
· Promjena alata.
primjer:
T5 ; počnite tražiti alat 5 u trgovini
X50 Z60 ; nastavak programa
M6; promena alata
2.8. Omogući hlađenje (M08)
Uključuje dovod tekućine za rezanje (rashladno sredstvo).
primjer:
S300M3X20Z30G0
G1X50Z44M8 ; Uključite rashladnu tečnost
G0Z-100
2.9. Hlađenje (M09)
Isključuje dovod tekućine za rezanje (rashladnog sredstva).
primjer:
S300M3X20Z30G0 G1X50Z44 M9M5G0Z-100
2.10. Povratak iz potprograma (M17)
Definira kraj potprograma kada se poziva s adresnom riječi L.
primjer:
X5Z5
; Glavni program
L10 ; Pozivanje potprograma počevši od bloka N10 X2Z8
N10Z2; Potprogram sa oznakom bloka N10 X10
M17; Kraj potprograma i povratak na glavni program
2.11. Pozicioniranje vretena (M18)
Koristeći ovu funkciju možete rotirati vreteno pod određenim kutom
Format:
M18 Pnn
Gdje: nnn – ugao rotacije +/- 360 stepeni.
Kut rotacije se mjeri u odnosu na položaj vretena na koji je postavljeno vreteno pomoću funkcije M19.
primjer:
M18 P45 ; rotacija vretena 45 stepeni
2.12. Orijentacija vretena (M19)
Pomoćna funkcija M19 zaustavlja rotaciju vretena i vrši njegovu orijentaciju.
2.13. Kraj dijela programa koji se ponavlja (M20)
Određuje kraj ponavljajućeg segmenta programa kada ga pozove riječ s adresom H.
primjer:
N10 H2 ; izvršiti programsku sekciju do M20 2 puta
2. Sintaksa za definiranje i pozivanje M-funkcija .
Tekst funkcije M mora početi sa header, praćeno tijelo funkcije.
Zaglavlje definira "sučelje" funkcije (način interakcije s njom) i strukturirano je na sljedeći način:
funkcija [ RetVal1, RetVal2, ] = Ime funkcije (par1, par2,)
Ovdje je deklarirana funkcija (koristeći nepromjenjivu ključnu riječ "function") pod nazivom FunctionName, koja uzima ulazne parametre par1, par2, i proizvodi (izračunava) izlazne (povratne) vrijednosti RetVal1, RetVal2
Drugim riječima, oni to kažu argumenti funkcije su varijable par1, par2,.. i vrijednosti funkcije (treba ih izračunati) su varijable RetVal1, RetVal2,.
Ime funkcije navedeno u zaglavlju (u datom primjeru - FunctionName) treba poslužiti kao ime datoteke u koju će biti upisan tekst funkcije. Za ovaj primjer, ovo će biti datoteka FunctionName.m (nastavak imena se i dalje mora sastojati od samo jednog slova m).
Nepodudaranje između naziva funkcije i naziva datoteke nije dozvoljeno!
Tijelo funkcije sastoji se od naredbi koje izračunavaju povratne vrijednosti. Tijelo funkcije slijedi zaglavlje funkcije.
Glava funkcije plus tijelo funkcije zajedno čine definiciju funkcije.
I ulazni parametri i povratne vrijednosti mogu biti u općim nizovima (u određenom slučaju - skalari) različitih dimenzija i veličina. Na primjer, funkcija MatrProc1
funkcija [ A, B ] = MatrProc1(X1, X2, x)
A = X1 .* X2 * x;
B = X1 .* X2 + x; je dizajniran da "primi" dva niza identičnih (ali proizvoljnih) veličina i jedan skalar. Ovi nizovi u tijelu funkcije se prvo množe element po element, nakon čega se rezultat takvog množenja također množi sa skalarom. Ovo stvara prvi od izlaznih nizova.
Iste veličine ulazni nizovi X1 i X2 garantuju izvodljivost njihovog množenja po elementima. Drugi izlazni niz (nazvan B) razlikuje se od prvog po tome što se dobija sabiranjem sa skalarom (a ne množenjem). Zovi se izvodi iz komandnog prozora MATLAB sistema (ili iz teksta bilo koje druge funkcije) na uobičajen način: upisuje se ime funkcije, nakon čega se u zagradama navodi sljedeće, odvojeno zarezima stvarni inputi , sa čijim vrijednostima će se izvršiti proračuni. Stvarni parametri se mogu specificirati brojevima (nizovi brojeva), imenima varijabli koje već imaju određene vrijednosti i izrazima.
Ako je stvarni parametar dat imenom neke varijable, onda će se stvarni proračuni obaviti na kopiji te varijable (a ne na njoj samoj). To se zove transfer parametri po vrijednosti .
Ispod je poziv iz MATLAB komandnog prozora funkciji MatrProc1 koju smo prethodno kreirali za primjer.
Ovdje se imena stvarnih ulaznih parametara (W1 i W2) i varijabli u kojima su upisani rezultati proračuna (Res1 i Res2) ne podudaraju s imenima sličnih varijabli u definiciji funkcije MatrProc1. Očigledno, podudaranje nije potrebno, pogotovo jer treći ulazni stvarni parametar uopće nema ime! Da bi se naglasila ova moguća razlika, imena ulaznih parametara i izlaznih vrijednosti u definiciji funkcije nazivaju se formalnim.
U razmatranom primjeru pozivanja funkcije MatrProc1, iz dvije ulazne kvadratne matrice 2 x 2, dobivaju se dvije izlazne matrice Res1 i Res2 potpuno istih veličina:
Res1 =
9
6
6 6
Res2 =
6
5
5 5
Pozivanjem funkcije
MatrProc1 = MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);
sa dva ulazna niza veličine 2x3, dobijamo dvije izlazne matrice veličine 2x3. Odnosno, ista funkcija MatrProc1 može obraditi ulazne parametre različitih veličina i dimenzija! Umjesto nizova, ovu funkciju možete primijeniti na skalare (ovo su još uvijek 1x1 nizovi).
Sada razmotrimo pitanje da li se ova funkcija može koristiti kao dio izraza na isti način kao što se radi s funkcijama koje vraćaju jednu vrijednost? Ispostavilo se da se to može učiniti, a prva vrijednost koju vrati funkcija koristi se kao vrijednost funkcije koja se koristi za daljnja izračunavanja. Sljedeći MATLAB prozor ilustruje ovu tačku:
Kada se pozove s parametrima 1,2,1, funkcija MatrProc1 vraća dvije vrijednosti: 2 i 3. Za korištenje kao dio izraza, koristi se prva od njih.
Budući da se pozivanje bilo koje funkcije može obaviti pisanjem proizvoljnog izraza u MATLAB komandnom prozoru, uvijek možete napraviti grešku povezanu s neusklađenošću tipova stvarnih i formalnih parametara.
MATLAB ne vrši nikakve provjere na ovu temu, već jednostavno predaje kontrolu funkciji. Kao rezultat toga, mogu se pojaviti pogrešne situacije. Da bi se izbjegla (ako je moguće) pojava ovakvih pogrešnih situacija, predlaže se u tekstu M-funkcija provjera ulaznih parametara. Na primjer, u funkciji MatrProc1 lako je identificirati situaciju kada su veličine prvog i drugog ulaznog parametra različite. Pisanje takvog koda zahtijeva kontrolne konstrukcije koje još nismo istražili. Vrijeme je da ih počnete proučavati!
Sada mogućnosti sistema značajno premašuju mogućnosti originalne verzije Matrix Laboratory. Današnji MATLAB, zamisao kompanije The MathWorks, Inc., je visoko efikasan jezik za inženjering i naučno računarstvo. On podržava
matematičkih proračuna
, naučna grafička vizualizacija i programiranje koristeći operativno okruženje koje se lako uči. Najpoznatije oblasti primene MATLAB sistema:
Matematika i računarstvo;
Razvoj algoritma;
Računalni eksperiment, simulacijsko modeliranje, izrada prototipa;
Analiza podataka, istraživanje i vizualizacija rezultata;
Znanstvena i inženjerska grafika;
Razvoj aplikacija, uključujući grafički korisnički interfejs. MATLAB je interaktivni sistem čiji je glavni objekt niz, za koji se dimenzija ne mora eksplicitno specificirati. Ovo omogućava rješavanje mnogih računskih problema povezanih s formulacijama vektorske matrice. Verzija MATLAB 6.1 je pretposljednje dostignuće programera (poslednji je bio MATLAB 6.5).
MATLAB sistem je i operativno okruženje i programski jezik. Jedna od najvećih prednosti sistema je da se programi za višekratnu upotrebu mogu pisati u MATLAB-u. Korisnik može sam pisati specijalizirane funkcije i programe, koji se kompajliraju u obliku M-fajlova. Zato paketi Operativno okruženje sistema MATLAB 6.1 je skup interfejsa koji podržavaju komunikaciju ovog sistema sa spoljnim svetom kroz dijalog sa korisnikom preko komandne linije, M-file editor, interakciju sa eksternim sistemima Microsoft Word, Excel itd.
Nakon pokretanja MATLAB programa, na displeju računara se pojavljuje njegov glavni prozor koji sadrži meni, ravnalo alata sa dugmadima i klijentsku stranu prozora sa pozivnicom. Ovaj prozor se obično zove komandni prozor MATLAB sistemi (slika 1).
Meni File(slika 2) kombinuje uobičajene funkcije: Uredi odgovoran za promjene sadržaja Windows komande (poništi, ponovi, iseci, kopiraj, nalepi, izaberi sve, izbriši, itd.) i za brisanje nekih MATLAB prozora; meni Pogled– za dizajn radne površine; Web meni – pokreće web stranice sa Interneta; meni Prozor– radi sa M-file editorom/debuggerom (zatvara sve M-fajlove, jedan od njih čini aktuelnim); meni Upomoć– Radi sa referentnom dokumentacijom i demonstracijama.
Opcija zaslužuje posebnu pažnju Preferences... (izbor karakteristika), koji, kada se izabere, otvara prozor koji sa lijeve strane uključuje stablo objekata (slika 3), a desno njihove moguće karakteristike.
Dashboard Komandni prozor sistema MATLAB omogućava lak pristup operacijama na M-datotekama: kreiranje novog M-fajla; otvaranje postojećeg M-fajla; brisanje fragmenta; kopiranje fragmenta; umetanje fragmenta; vraćanje samo završene operacije itd.
IN strana klijenta MATLAB komandni prozor, nakon prompta, možete unijeti različite brojeve, imena varijabli i znakove operacija, koji zajedno čine neke izraze. Pritisak na tipku Enter uzrokuje MATLAB sistem procijenite izraz ili, ako ne evaluira, ponovite ga. Iako je znak ";" na kraju reda potiskuje izlaz rezultata (eho izlaz).
Dakle, u klijentskom dijelu MATLAB komandnog prozora, korisnik može odmah napisati komande koje formiraju pojedinačne proračune ili cijeli program.
Dakle, analizirani su strukturni dijelovi MATLAB komandnog prozora. Ali osim njih, postoji još nekoliko MATLAB elemenata koji pomažu pri radu:
Timovi- prozor koji sadrži prethodno unesene komande u komandnom prozoru (“istorija komandi”).
Radni prostor je oblast MATLAB memorije u kojoj se nalaze sistemske varijable. Sadržaj ove oblasti se može pogledati iz komandna linija koristeći komande SZO(prikazuje samo imena varijabli) i whos(prikazuje informacije o veličinama nizova i tipu varijable) ili u zasebnom prozoru pod istim imenom. U njemu možete izvršiti sljedeće operacije: učitati datoteku sa podacima, spremiti radni prostor kao (naredbe vam omogućavaju da otvorite i spremite sadržaj radnog prostora u binarnu MAT datoteku), izbrišite odabrane varijable; otvorite odabrane varijable (gdje možete promijeniti njihovu vrijednost). Osim toga, u meniju Uredi možete obrisati i komandni prozor i istoriju komandi, i radni prostor (ili pokrenuti komandu u komandnom prozoru: jasno).
Da biste spremili i pokrenuli radni prostor, možete koristiti naredbe za učitavanje i spremanje.
Primjer.
Pohranjivanje na: matlab.mat
>> sačuvaj moj.mat
>> load my.mat
>> sačuvaj moj2
>> učitaj my2
Trenutni katalog– prozor koji je svojevrsni „vodič“ kroz MATLAB kataloge.
Pokrenite Editor– prozor koji odražava stablo konstruktivnih elemenata MATLAB-a i drugih ugrađenih uz njega softver, koji se može pokrenuti dvostrukim levim klikom miša. Na primjer, ovaj prozor može izgledati kao na slici 9.
M-file editor/debugger– jedan od najvažnijih strukturnih dijelova MATLAB-a koji se otvara odabirom odgovarajuće opcije u glavnom meniju, na traka sa alatkama ili pozvan iz komandne linije sa naredbom za uređivanje ili uređivanje<имя М-файла>i omogućava vam kreiranje i uređivanje M-fajlova.
Editor/debugger podržava sljedeće operacije: kreiranje novog M-fajla; otvaranje postojećeg M-fajla; pohranjivanje M-fajla na disk; brisanje fragmenta; kopiranje fragmenta; umetanje fragmenta; pomoć; postavljanje/brisanje kontrolne točke; nastaviti izvršenje itd.
GUIDE je grafičko korisničko sučelje u kojem se kreiraju kompletne aplikacije.
Interaktivna radna sesija. M-fajlovi. Interaktivni način rada je korisnički način za unos komandi i izraza sa tastature, čije izvršavanje daje potrebne numeričke rezultate koji se lako i brzo mogu vizualizirati korištenjem ugrađenih grafičkih alata MATLAB paketa. Ali korištenje ovog načina za kreiranje i spremanje određenog programa nije moguće. Stoga su kreatori MATLAB-a, pored komandnog prozora, u kojem je implementiran interaktivni način rada, istakli specijalni fajlovi, koji sadrži kodove jezika MATLAB, i naziva se M-fajlovi (*.m). Za kreiranje M-fajla koristite uređivač teksta(M-file editor/debugger).
Rad u M-file editoru. Rad iz MatLab komandne linije postaje težak ako trebate unijeti mnogo naredbi i često ih mijenjati. Najprikladniji način za izvršavanje naredbi je korištenje M-datoteke u koje možete upisivati komande, izvršavati ih sve odjednom ili u dijelovima, pohranjivati ih u datoteku i koristiti ih u budućnosti. Za rad sa M- uređivač je namijenjen za datoteke M-fajlovi. Koristeći uređivač, možete kreirati vlastite funkcije i pozvati ih, uključujući i iz komandne linije.
Proširite meni Datoteka glavnog prozora MatLab-a i u Novoj stavci odaberite podstavku M-datoteka. Novi fajl otvara u prozoru uređivača M-datoteke (slika 10). Napišimo program za izračunavanje aritmetičke sredine u datoteku.
varijabla a i b, a zatim je sačuvajte pod imenom fun1.m. Uporedite metode za rješavanje problema prikazane u tabeli.
Uputstva