M funkcije. Programiranje m-funkcija. Alati za razvoj softvera

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 XY 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
G00Linearna interpolacija tokom brzog kretanja
G01Linearna interpolacija pri pomaku
G02Kružna interpolacija u smjeru kazaljke na satu
G03Kružna interpolacija u smjeru suprotnom od kazaljke na satu
G04Vremensko kašnjenje
G05Kružna interpolacija s pristupom kružnoj putanji duž tangente
G06Smanjenje dozvoljenog nivoa ubrzanja
G07Otkaži smanjenje ubrzanja
G0SKontrola brzine pomaka na tačkama pregiba
G09Otkazivanje kontrole brzine pomaka na tačkama pregiba
G10Ubrzano kretanje u polarnim koordinatama
G11Linearna interpolacija u polarnim koordinatama
G12Kružna interpolacija u smjeru kazaljke na satu u polarnim koordinatama
G13Kružna interpolacija u smjeru suprotnom od kazaljke na satu u polarnim koordinatama
G14Programiranje vrijednosti pojačanja na osnovu brzine servo pogona
G15Otkaži G14
G16Programiranje bez specifikacije ravni
G17Izbor aviona UX
G1SIzbor aviona ZX
G19Izbor aviona UZ
G20Određivanje pola i koordinatne ravni prilikom programiranja u polarnim koordinatama
G21Klasifikacija osi programiranja
G22Aktiviranje tablica
G23Programiranje uslovnog skoka
G24Programiranje bezuslovnog skoka
G32Rezanje navoja u načinu linearne interpolacije bez kompenzacijske stezne glave
G34Zaokruživanje ugla za dva susedna ravna deonica (sa dozvoljenim odstupanjem pod adresom E)
G35Isključite zaglađivanje uglova
G36Isključivanje odstupanja programiranog tokom zaokruživanja, koje postaje jednako mašinskom parametru
G37Programiranje tačke za preslikavanje ili rotaciju koordinata
G38Aktivacija zrcaljenja, rotacija koordinata, skaliranje
G39Otkažite zrcaljenje, rotiranje koordinata, skaliranje
G40Otkažite ekvidistantnu korekciju
G41Jednako udaljena korekcija lijevo u smjeru dodavanja
G42Jednako udaljena korekcija udesno u smjeru dodavanja
G53Otkaži nulti pomak
G54-G59Pokretanje pomaka nule
G60Programski pomak koordinatnog sistema
G61Precizno pozicioniranje pri kretanju brzinom pomaka
G62Otkažite precizno pozicioniranje
G63Uključite 100% programirane vrijednosti brzine
G64Povezivanje brzine pomaka sa točkom kontakta između rezača i dijela
G65Povezivanje brzine pomaka sa sredinom rezača
G66Aktiviranje vrijednosti brzine podešene potenciometrom
G67Otkaži pomak programskog koordinatnog sistema
G68Opcija za uparivanje jednako udaljenih segmenata duž luka
G69Opcija za uparivanje ekvidistantnih segmenata duž putanje preseka ekvidistantnih linija
G70Programiranje u inčima
G71Otkažite programiranje u inčima
G73Linearna interpolacija sa preciznim pozicioniranjem
G74Izađite u ishodište
G75Rad sa senzorom na dodir
G76Pomaknite se na tačku sa apsolutnim koordinatama u koordinatnom sistemu mašine
G78Aktivacija osovine bušilice
G79Deaktiviranje jedne ose bušilice ili svih odjednom
G80Otkazivanje konzerviranih ciklusa
G81, G82Standardni ciklus bušenja
G83Standardni ciklus dubokog bušenja
G84Ciklus navoja s kompenzacijskom steznom glavom
G85, G86Standardni ciklus bušenja
G90Programiranje u apsolutnim koordinatama
G91Programiranje u relativnim koordinatama
G92Postavljanje vrijednosti koordinata
G93Programiranje vremena izvršenja bloka
G94Programiranje posmaka u mm/min
G95Programiranje protoka u mm/rev
G97Programiranje brzine rezanja
G105Postavljanje nule za linearne beskonačne ose
G108Kontrola uvlačenja na tačkama pregiba zasnovana na Look Ahead
G112
G113Aktiviranje kontrole napredovanja kočnice
G114Aktiviranje kontrole brzine naprijed
G115Deaktiviranje kontrole brzine naprijed
G138Omogućavanje kompenzacije položaja obratka
G139Isključivanje kompenzacije radnog položaja
G145-845Aktivacija eksterne korekcije od strane programabilnog kontrolera
G146Isključivanje eksterne kompenzacije alata
G147, G847Sekundarna kompenzacijska grupa za korekcije alata; korekcije se odnose na osovine
G148Otkažite dodatnu kompenzaciju alata
G153Otkažite prvi aditivni nulti pomak
G154-159Indikacija prvog pomaka nule aditiva
G160-360Eksterni pomak nule
G161Precizno pozicioniranje tokom brzog hoda
G162Otkazivanje finog pozicioniranja tokom brzog hoda
G163Precizno pozicioniranje tokom brzog hoda i pomicanja pri pomaku
G164Prva opcija preciznog pozicioniranja
G165Druga opcija preciznog pozicioniranja
G166Treća opcija preciznog pozicioniranja
G167Otkažite eksterni pomak nule
G168Pomak koordinatnog sistema upravljačkog programa
G169Poništava sve pomake koordinatnog sistema
G184Ciklus navoja bez kompenzacijske stezne glave
G189Programiranje u apsolutnim koordinatama za beskonačne ose
G190Programiranje u apsolutnim koordinatama "riječ po riječ"
G191Programiranje u relativnim koordinatama "riječ po riječ"
G192Postavljanje donje granice brzine u upravljačkom programu
G194Brzina programiranja (pomak, brzina) sa prilagođavanjem ubrzanja
G200Linearna interpolacija pri brzom hodu bez kočenja do V= 0
G202Helikalna interpolacija u smjeru kazaljke na satu
G203Zavojna interpolacija u smjeru suprotnom od kazaljke na satu
G206Aktiviranje i pohranjivanje maksimalnih vrijednosti ubrzanja
G228Prijelazi iz kadra u kadar bez usporavanja
G253Poništi pomak nule drugog aditiva
G254-259Pokretanje drugog pomaka nule aditiva
G268Aditivni pomak koordinatnog sistema upravljačkog programa
G269Poništi aditivni pomak koordinatnog sistema upravljačkog programa
G292Postavljanje gornje granice brzine u upravljačkom programu
G301Omogući oscilirajuće kretanje
G350Podešavanje parametara oscilirajućeg kretanja
G408Formiranje glatkog ubrzanja pri kretanju od tačke do tačke
G500Otkrivanje mogućih sudara prilikom gledanja okvira ispred
G543Omogućavanje upravljanja kolizijama prilikom gledanja okvira ispred
G544Onemogućavanje upravljanja kolizijama prilikom gledanja okvira ispred
G575Prebacivanje okvira pomoću eksternog signala velike brzine
G580Raspuštanje koordinatnih osa
G581Formiranje koordinatnih osa
G608Formiranje 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
MOZaustavljanje programa
M1Zahtjev za zaustavljanje
M2Kraj programa
M3Omogućite rotaciju vretena u smjeru kazaljke na satu
M4Omogućite rotaciju vretena u smjeru suprotnom od kazaljke na satu
M5Zaustavljanje vretena
M2=3Električni alat okrenut u smjeru kazaljke na satu
M2=4Električni alat okrenut suprotno od kazaljke na satu
M2=5Električni alat isključen
M6Automatska izmjena alata
M7Uključivanje protoka zraka
MSUključite rashladnu tečnost
M9Isključivanje hlađenja
M1OOnemogućavanje protoka vazduha
M11Stezaljka za alat
M12Otpuštanje alata
M13Okretanje vretena u smjeru kazaljke na satu zajedno s uključivanjem rashladne tekućine
M14Okretanje vretena u smjeru suprotnom od kazaljke na satu zajedno s uključivanjem rashladne tekućine
M15Uključivanje rashladnog sredstva za ispiranje strugotine
M17Kraj potprograma
M19Orijentacija vretena
M21 X
M22Omogućite zrcaljenje programa duž ose U
M23Onemogućite preslikavanje programa
M29Omogućavanje Rigid Threading Mode
M3OZavršetak programa sa mogućnošću istovremenog isključivanja napajanja mašine
M52Pomaknite magazin za jednu poziciju udesno
M53Pomicanje magazina za jednu poziciju ulijevo
M7OInicijalizacija prodavnice
M71Spuštanje džepa aktivnog magazina
M72Okrenite manipulator za 60°
M73Otpuštanje alata
M74Rotacija manipulatora 120°
M75Stezaljka za alat
M76Rotirajte manipulator za 180°
M77Podizanje aktivnog džepa za magazin
M98Pozivanje potprograma
M99Povratak 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.
Trenutno se za programiranje CNC sistema koriste mnogi programski jezici, zasnovani na univerzalnom ISO 7-bitnom jeziku. Međutim, svaki proizvođač donosi svoje karakteristike, koje se implementiraju kroz pripremne (G-kodovi) i pomoćne (M-kodovi) funkcije.

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 nalazi se cijeli 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