Alte funcții (funcții M)
Alte funcții cu jet de apă sunt programate cu litera M urmată de 2 cifre simple. Acest sistem are câteva dintre aceste caracteristici:
M00 Oprire program
M02 Sfârșitul programului
M30 Sfârșitul programului cu revenire la început
M71-79 Defecțiune plus ieșire
Acum vom analiza în detaliu execuția funcției M.
1. M00 - Oprire program
Exemplu: Când CNC-ul mașinii cu jet de apă citește codul M00 în bloc, oprește programul. Pentru a porni programul, trebuie să apăsați din nou butonul de pornire.
2. M02 - Sfârșitul programului
Exemplu: Acest cod indică sfârșitul programului și realizează funcția principală de resetare a CNC-ului cu jet de apă.
3. M30 - Finalizarea programului cu revenire la început
Exemplu: Această funcție similar cu funcția M02 plus returnarea CNC-ului mașinii cu jet de apă la primul bloc la începutul programului.
4. M71-79 Defecţiune plus ieşire
Format: M71 Exemplu: Waterjet CNC setează această funcție, iar secvența de operare este următoarea:
controlul transmisiei adecvate, conexiune
timp de întârziere 400 m/s
defalcare numărul 1
M71- opriți pompa de ulei pentru mașina de tăiat cu jet de apă
M71 apare de obicei înainte de M02, ceea ce înseamnă că pompa de ulei s-a oprit după tăiere. Această funcție este aceeași cu apăsarea butonului de oprire.
M72- oprire pompa de apa
Când este afișat M72, motorul pompei se oprește. Această funcție este aceeași cu funcția butonului de oprire a pompei al echipamentului de tăiere cu jet de apă.
M73 - pornirea sistemului de alimentare cu apă de înaltă presiune
Când este afișat M73, supapa de alimentare cu apă de înaltă presiune se deschide. Această funcție este aceeași cu apăsarea butonului sistemului de apă de înaltă presiune.
M74 - opriți sistemul de alimentare cu apă de înaltă presiune
Când este afișat M74, supapa de alimentare cu apă de înaltă presiune se închide. Această funcție este aceeași cu funcția de apăsare a butonului de oprire al sistemului de alimentare cu apă.
sub presiune mare.
M75- deschiderea supapei de alimentare cu nisip
Apariția lui M 75 înseamnă deschiderea supapei de alimentare cu nisip. Această funcție este aceeași cu apăsarea butonului pentru a deschide supapa de alimentare cu nisip cu jet de apă.
M76 - închiderea supapei de alimentare cu nisip
Apariția lui M 76 înseamnă închiderea robinetului de alimentare cu nisip. Această funcție este aceeași cu apăsarea butonului de închidere a supapei de nisip.
Funcții F, S, T.
1. Funcția de selecție a alimentului F.
Funcția de selecție a alimentului este denumită în mod obișnuit funcția F. Cu această funcție, puteți controla direct viteza de avans a fiecărei axe. Funcția F poate fi indicată prin litera F și numerele care urmează literei, precum și prin desemnarea vitezei de avans, care este exprimată în mm/min.
Viteza de avans în acest sistem variază de la 9 la 1300 mm/min. Vitezele de tăiere cu jet de apă pot fi selectate liber în funcție de condițiile de tăiere necesare.
2. T - funcția de selecție a sculei.
Funcția de selectare a sculei este denumită și funcția T. Această funcție este folosită pentru a selecta un instrument. Funcția de selecție a sculei este indicată prin litera T cu numere după desemnarea T. Sistemul conține până la 20 de nume de parametri de selecție a sculei, de la T01 la T20. În modul PARAM, apăsați butonul F2 și ecranul va afișa 20 de parametri de selecție a instrumentului. Operatorul poate selecta orice buton cu parametru D de pe ecranul cu jet de apă, în funcție de diametrul sculei.
Dacă în program este necesară compensarea razei sculei de tăiere cu jet de apă, sistemul de control se poate referi la parametrul corespunzător pentru a-l corecta.
2. Sintaxă pentru definirea și apelarea funcțiilor M .
Textul unei funcții M trebuie să înceapă cu antet, urmată de corp funcțional.
Antetul definește „interfața” funcției (modul în care interacționați cu ea) și este structurat după cum urmează:
function [ RetVal1, RetVal2, ] = FunctionName(par1, par2,)
Aici, o funcție este declarată (folosind funcția „cuvânt cheie” neschimbată) cu numele FunctionName, care preia parametrii de intrare par1, par2 și produce (calculează) valorile de ieșire (return) RetVal1, RetVal2
Cu alte cuvinte, spun ei argumente ale funcției sunt variabilele par1, par2,.. și valorile funcției (trebuie calculate) sunt variabilele RetVal1, RetVal2, .
Numele funcției specificat în antet (în exemplul dat - FunctionName) trebuie să servească drept nume al fișierului în care va fi scris textul funcției. Pentru acest exemplu, acesta va fi fișierul FunctionName.m (extensia de nume trebuie să conțină în continuare o singură literă m). Nepotrivirea între numele funcției și numele fișierului nu este permisă!
Corpul funcției este format din comenzi care calculează valorile returnate. Corpul funcției urmează antetul funcției. Antetul funcției plus corpul funcției împreună formează definiția funcției.
Atât parametrii de intrare, cât și valorile returnate pot fi tablouri în general (scalari în special) dimensiuni diferite si dimensiuni. De exemplu, funcția MatrProc1
funcția [ A, B ] = MatrProc1(X1, X2, x)
A = X1 .* X2 * x;
B = X1.* X2 + x;
conceput pentru a „primi” două matrice de aceleași dimensiuni (dar arbitrare) și unul scalar.
Aceste tablouri din corpul funcției sunt mai întâi înmulțite element cu element, după care rezultatul unei astfel de înmulțiri este de asemenea înmulțit cu un scalar. Astfel, primul dintre tablourile de ieșire este generat. Aceleași dimensiuni ale matricelor de intrare X1 și X2 garantează fezabilitatea operației înmulțirii lor pe elemente. A doua matrice de ieșire (numită B) diferă de prima prin faptul că este o adunare scalară (mai degrabă decât o înmulțire).
Apel creat de noi funcții se efectuează din fereastra de comandă a sistemului MATLAB (sau din textul unei alte funcții) în mod obișnuit: se scrie numele funcției, după care următoarele sunt enumerate în paranteze separate prin virgule intrări reale , cu valorile cărora se vor efectua calculele. Parametrii reali pot fi dați prin numere (matrice de numere), nume de variabile care au deja valori specifice și expresii.
Dacă parametrul real este dat de numele unei variabile, atunci calculele efective vor fi efectuate cu o copie a acestei variabile (și nu cu ea însăși). Se numeste transfer parametri după valoare .
Mai jos este un apel din fereastra de comandă MATLAB către funcția MatrProc1 pe care am creat-o anterior pentru exemplu.
Aici, numele parametrilor efectivi de intrare (W1 și W2) și variabilele în care sunt scrise rezultatele calculului (Res1 și Res2) nu se potrivesc cu numele variabilelor similare din definiția funcției MatrProc1. Evident, o potrivire nu este necesară, mai ales că al treilea parametru efectiv de intrare nu are deloc nume! Pentru a sublinia această posibilă diferență, numele parametrilor de intrare și ale valorilor de ieșire dintr-o definiție de funcție se numesc formale.
În exemplul considerat de apelare a funcției MatrProc1 de la două intrări matrici pătrate 2 x 2 produce două matrici de ieșire Res1 și Res2 cu exact aceleași dimensiuni:
Res1 =
9
6
6 6
Res2=
6
5
5 5
Prin apelarea funcției
MatrProc1 = MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);
cu două matrice de intrare de dimensiunea 2x3, obținem două matrice de ieșire de dimensiunea 2x3. Adică, aceeași funcție MatrProc1 poate procesa parametrii de intrare de diferite dimensiuni și dimensiuni! Puteți aplica această funcție la scalari în loc de matrice (acestea sunt încă tablouri 1x1).
Acum luați în considerare întrebarea dacă este posibil să utilizați această funcție ca parte a expresiilor în același mod în care se face cu funcțiile care returnează o singură valoare? Se pare că acest lucru se poate face, iar prima dintre valorile returnate de funcție este utilizată ca valoare a funcției utilizate pentru calcule ulterioare. Următoarea fereastră MATLAB ilustrează acest punct:
Când este apelată cu parametrii 1,2,1, funcția MatrProc1 returnează două valori: 2 și 3. Pentru utilizare în expresie, se folosește prima dintre ele.
Deoarece orice funcție poate fi apelată prin scrierea unei expresii arbitrare în fereastra de comandă MATLAB, este întotdeauna posibil să se facă o eroare asociată cu o nepotrivire între tipurile de parametri reali și formali. MATLAB nu efectuează nicio verificare pe acest subiect, ci pur și simplu transferă controlul funcției. Ca urmare, pot apărea situații eronate. Pentru a evita (dacă este posibil) apariția unor astfel de situații eronate, se propune verificarea parametrilor de intrare în textul M-funcțiilor. De exemplu, în funcția MatrProc1, este ușor să detectați situația când dimensiunile primului și celui de-al doilea parametri de intrare sunt diferite. Scrierea unui astfel de cod necesită constructe de control pe care nu le-am explorat încă. Este timpul să începeți să le învățați!
La programarea pieselor CNC în conformitate cu DIN 66025 (ISO 6983), cunoscută anterior ca ISO 7bit, sunt utilizați următorii operatori:
- N - numărul cadrului;
- G - funcţii pregătitoare;
- X, Y, Z, A, B, C - informații despre mișcările de-a lungul axelor;
- M - funcții suplimentare;
- S - functii ax;
- T - funcții unelte;
- F - funcții de alimentare;
- H - funcții auxiliare (blocuri de date offset scule în modul DIN-ISO). Dacă este prezent un număr D valid al instrumentului curent, acesta este afișat suplimentar.
Pentru o mai mare claritate a structurii cadrului, operatorii din cadru ar trebui să fie aranjați în următoarea secvență: N, G, X, Y, Z, A, B, C, F, S, T, D, M, H.
Programul de control constă în n-al-lea număr de cadre jucate continuu sau cu pauze specificate (în timpul prelucrării cu viteză mare a pieselor din aliaje de aluminiu de înaltă rezistență, chiar și o scurtă oprire a sculei între cadrele adiacente este inacceptabilă din cauza riscului de supraîncălzire sau pătrundere a mașinii prelucrate suprafață din cauza frecării). În plus, este posibil să săriți peste cadre individuale și să corectați dimensiunile prin conectarea funcțiilor pregătitoare. Aceasta asigură dezvoltarea programelor de control pentru procesele tehnologice tipice.
Blocurile NC constau din următoarele componente:
- comenzi (operatoare) conform DIN 66025;
- elemente ale limbajului de programare CNC de nivel înalt;
- identificatori (nume definite) pentru:
- variabile de sistem;
- variabile definite de utilizator;
- subrutine;
- cuvinte de cod;
- markere de sărituri;
- macro-uri;
- operatori de comparare;
- operatori logici;
- funcții de calcul;
- structuri de control.
Deoarece setul de instrucțiuni DIN 66025 este insuficient pentru programarea proceselor complexe de prelucrare pe mașini moderne multitasking, acesta a fost completat cu elemente ale unui limbaj de programare CNC de nivel înalt.
Spre deosebire de comenzile conform DIN 66025, comenzile limbajului de programare CNC de nivel înalt constau din mai multe litere de adresă, de exemplu:
- OVR - pentru corectarea vitezei (procent);
- SPOS - pentru pozitionarea axului.
Structura programului este următoarea: „%” (numai pentru programele dezvoltate pe un PC), titlul programului „O” sau „:” urmat de numărul de programe care conțin cel mult patru cifre. Fiecare linie din program este un bloc.
Fiecare bloc de program are o structură:
- N - numărul de serie al cadrului (nu mai mult de patru caractere, numerotarea se realizează prin 5 sau 10 pentru posibilitatea de a introduce cadre suplimentare la elaborarea programului);
- funcția pregătitoare G;
- coordonatele X, Y, Z, A, C, B;
- funcția suplimentară M;
- functia axului S;
- funcția instrument T;
- funcția de alimentare F;
- D - numărul de compensare a sculei;
- H - blocuri de date offset scule în modul DIN-ISO. Comenzile acționează fie modal, fie cadru cu cadru.
Comenzile cu efect modal își păstrează valabilitatea în toate blocurile ulterioare cu o valoare programată până când o nouă valoare este programată la aceeași adresă, ceea ce anulează comanda valabilă anterior.
Comenzile valide bloc cu bloc rămân valabile doar în blocul în care sunt programate.
Fiecare cadru se termină cu un caracter LF, nu este necesar niciun caracter LF, acesta este creat automat atunci când linia este schimbată. Programul se încheie cu comenzile M2, M30 sau M99. Un cadru poate fi format din maximum 512 caractere (inclusiv comentariu și caracterul de sfârșit de cadru LF).
G funcțiile pregătitoare asigură toate acțiunile mașinii.
X, Y, Z - axele de coordonate liniare ale mașinii, coordonata Z este întotdeauna paralelă cu axa axului mașinii sau perpendiculară pe planul de fixare a piesei pentru mașinile cu cap de frezat în două ture; A, C, B - coordonatele unghiulare de rotație față de axele de coordonate liniare. Dacă mașina are mai mult de două axe, precum și capete de scule, apar axe de coordonate suplimentare X', Y', Z', A', C', B' etc.
Trebuie remarcat faptul că funcțiile pregătitoare vă permit să treceți la sistemul de coordonate al piesei, care în unele cazuri vă permite să renunțați la utilizarea dispozitivelor speciale.
Funcțiile suplimentare M sunt responsabile pentru pornirea și oprirea axului, statii de pompare pentru alimentare cu lichid de răcire, sensul de rotație a axului, sfârșitul programului.
Funcția de ax S setează viteza axului.
Funcția instrument T specifică numărul sculei sau setului de scule.
Funcția de alimentare F specifică valoarea de alimentare.
Orez. 1.
Sistemul de coordonate al mașinii și direcția mișcărilor pozitive sunt prezentate în Figura 1.
Programele de control pot fi compilate în sistemul de coordonate al mașinii, caz în care echipamentul mașinii utilizat trebuie să fie coordonat cu grila de coordonate a tabelului mașinii. Coordonarea se realizează prin faptul că placa de bază a dispozitivului are un știft de centrare și o cheie. Știftul se aliniază cu o bucșă presată în centrul mesei mașinii și cheia cu o canelură rece. Astfel, spațiul de lucru al mașinii în avion X–Y aliniat cu sistemul de coordonate al dispozitivului de fixare. În sistemul de coordonate al dispozitivului de fixare, suprafețele de bază sunt realizate, de exemplu, un plan și două degete (cilindrice și tăiate). Prin urmare, erorile de bazare apar atât la instalarea dispozitivului de fixare, cât și la instalarea piesei.
Cu utilizarea intensivă într-o producție cu mai multe produse, adică cu schimbarea frecventă a dispozitivelor de fixare, este necesar să se verifice din nou nu numai sculele, ci și suprafețele de bază de ghidare ale mesei mașinii, și anume manșonul de centrare și canelura rece.
Având în vedere acest lucru, este recomandabil să se efectueze prelucrarea în sistemul de coordonate al piesei. Dispozitivul este orientat de-a lungul unei singure axe, iar legarea la sistemul de coordonate a piesei de prelucrat se realizează prin senzori de măsurare. În acest caz, pe lângă eliminarea erorii de bazare, cerințele pentru timpul de verificare a echipamentului sunt reduse, în plus, devine posibil să se utilizeze dispozitive de fixare normalizate sau ajustări ale acestora mai pe scară largă fără referire la sistemul de coordonate al mașinii.
Funcțiile pregătitoare G, funcțiile suplimentare M sunt date în tabelele 1, 2.
Deci, pe mașinile de frezat, o schimbare a sculei se efectuează în următoarea secvență: o unealtă este selectată folosind comanda T, iar schimbarea sa are loc numai cu comanda M6.
Pentru strungurile cu turelă, o comandă T este suficientă pentru a schimba unealta.
Funcția de ax S specifică viteza axului, funcția de sculă T specifică setul de scule sau numărul sculei, funcția de avans F specifică valoarea de avans.
Tabelul 1.Funcții pregătitoare G
Instruire | Descriere |
G00 | Interpolare liniară în mișcare rapidă |
G01 | Interpolare liniară la viteza de avans |
G02 | Interpolare circulară în sensul acelor de ceasornic |
G03 | Interpolare circulară în sens invers acelor de ceasornic |
G04 | Întârziere |
G05 | Interpolare circulară cu acces tangenţial la traseul circular |
G06 | Scăderea nivelului de accelerație admisibil |
G07 | Anularea decelerarii |
G0S | Controlul vitezei de avans la punctele de inflexiune |
G09 | Anulați controlul vitezei de avans la punctele de inflexiune |
G10 | Mișcare rapidă în coordonate polare |
G11 | Interpolare liniară în coordonate polare |
G12 | Interpolare circulară în sensul acelor de ceasornic în coordonate polare |
G13 | Interpolare circulară în sens invers acelor de ceasornic în coordonate polare |
G14 | Programarea valorii câștigului în funcție de viteza servomotorului |
G15 | Anulează G14 |
G16 | Programare fără specificarea unui plan |
G17 | Alegerea avionului La–X |
G1S | Alegerea avionului Z–X |
G19 | Alegerea avionului La–Z |
G20 | Specificarea polului și a planului de coordonate la programarea în coordonate polare |
G21 | Programarea clasificării axelor |
G22 | Activarea tabelului |
G23 | Programarea sărituri condiționate |
G24 | Programare de sărituri necondiționate |
G32 | Filetare în modul de interpolare liniară fără mandrina de compensare |
G34 | Rotunjirea colțurilor pentru două curse drepte adiacente (toleranță la adresa E) |
G35 | Dezactivați netezirea colțurilor |
G36 | Dezactivarea abaterii programate în timpul rotunjirii, care devine egală cu parametrul mașină |
G37 | Programarea unui punct pentru oglindire sau rotație a coordonatelor |
G38 | Activarea oglinzii, rotirea coordonatelor, scalarea |
G39 | Anulați oglindirea, rotația coordonatelor, scalarea |
G40 | Anularea corecției echidistante |
G41 | Compensare echidistant la stânga în direcția de avans |
G42 | Compensare echidistantă spre dreapta în direcția de avans |
G53 | Anulați decalajul zero |
G54-G59 | Inițierea decalajului zero |
G60 | Compensarea sistemului de coordonate program |
G61 | Poziționare precisă la mișcare la viteza de avans |
G62 | Anularea poziționării fine |
G63 | Porniți 100% din viteza programată |
G64 | Legarea vitezei de avans la punctul de contact dintre freză și piesă |
G65 | Conectarea vitezei de avans la centrul frezei |
G66 | Activarea valorii vitezei stabilite de potențiometru |
G67 | Anulați schimbarea sistemului de coordonate program |
G68 | Varianta de conjugare a segmentelor echidistante de-a lungul unui arc |
G69 | Varianta de conjugare a segmentelor echidistante de-a lungul traiectoriei de intersecție a echidistantelor |
G70 | Programare inch |
G71 | Anulați programarea în inci |
G73 | Interpolare liniară cu poziționare precisă |
G74 | Ieșire la origine |
G75 | Lucrul cu senzorul tactil |
G76 | Deplasați-vă la un punct cu coordonate absolute în sistemul de coordonate al mașinii |
G78 | Activarea axei de foraj |
G79 | Dezactivarea unei axe de foraj sau a tuturor simultan |
G80 | Anularea apelului în ciclu predefinit |
G81, G82 | Ciclu conservat de foraj |
G83 | Ciclu prelungit de foraj adânc |
G84 | Ciclu de filetare cu mandrina de compensare |
G85, G86 | Ciclu standard de alezare |
G90 | Programare în coordonate absolute |
G91 | Programare în coordonate relative |
G92 | Setarea valorilor coordonatelor |
G93 | Blocare programare timp |
G94 | Programare avans în mm/min |
G95 | Programare avans în mm/tur |
G97 | Programarea vitezei de tăiere |
G105 | Setarea zero pentru axe liniare infinite |
G108 | Controlul alimentării în punctele de inflexiune cu Look Ahead |
G112 | |
G113 | Activarea controlului avansat al frânării |
G114 | Viteză de activare feedforward |
G115 | Dezactivați controlul vitezei de avans |
G138 | Activarea compensării poziției piesei de prelucrat |
G139 | Opriți compensarea poziției piesei de prelucrat |
G145-845 | Activarea compensării externe de către controlerul de program |
G146 | Dezactivați compensarea sculei externe |
G147, G847 | Grup secundar de compensare a decalajelor sculei; corecţiile sunt legate de axe |
G148 | Anulați compensarea suplimentară a sculei |
G153 | Anularea primului decalaj de zero aditiv |
G154-159 | Indicarea primului decalaj de zero aditiv |
G160-360 | Decalaj de zero extern |
G161 | Poziționare precisă în mișcare rapidă |
G162 | Anularea poziționării fine în timpul traversării rapide |
G163 | Poziționare precisă la deplasare rapidă și mișcare la avans |
G164 | Prima opțiune de poziționare fină |
G165 | A doua opțiune de poziționare fină |
G166 | A treia opțiune de poziționare fină |
G167 | Anulați decalajul de zero extern |
G168 | Offset al sistemului de coordonate al programului piesei |
G169 | Anulați toate decalajele sistemului de coordonate |
G184 | Ciclu de filetare fără mandrina compensatoare |
G189 | Programare în coordonate absolute pentru axe infinite |
G190 | Programare în coordonate absolute „cuvânt cu cuvânt” |
G191 | Programare în coordonate relative „cuvânt cu cuvânt” |
G192 | Setarea limitei inferioare de viteză în programul de control |
G194 | Programare viteză (avans, viteză) cu adaptare la accelerație |
G200 | Interpolare liniară la deplasare rapidă fără decelerare până la V= 0 |
G202 | Interpolare elicoidală în sensul acelor de ceasornic |
G203 | Interpolare elicoidală în sens invers acelor de ceasornic |
G206 | Activarea și stocarea valorilor maxime de accelerație |
G228 | Tranziții de la cadru la cadru fără frânare |
G253 | Anularea celui de-al doilea decalaj de zero aditiv |
G254-259 | Inițierea celui de-al doilea decalaj de zero aditiv |
G268 | Deplasarea aditivă a sistemului de coordonate al programului de control |
G269 | Anularea decalajului aditiv al sistemului de coordonate NC |
G292 | Setarea limitei superioare de viteză în programul de control |
G301 | Porniți mișcarea oscilantă |
G350 | Setarea parametrilor mișcării oscilante |
G408 | Formarea unei accelerații line la deplasarea de la un punct la altul |
G500 | Detectarea posibilelor coliziuni în frame-ahead |
G543 | Activarea controlului coliziunilor în Frame-Looking |
G544 | Dezactivați controlul coliziunilor în cadrul înainte |
G575 | Comutarea cadrului prin semnal extern de mare viteză |
G580 | Desființarea axelor de coordonate |
G581 | Formarea axelor de coordonate |
G608 | Formarea unei accelerații netede la deplasarea de la un punct la altul pentru fiecare axă separat |
Notă. Pentru fiecare sistem de control, unele valori ale funcțiilor de pregătire pot avea valori diferite în funcție de producătorul mașinii. Trebuie remarcat faptul că, pentru a extinde capacitățile tehnologice ale echipamentelor, producătorii de sisteme CNC tind să mărească funcțiile pregătitoare.
Masa 2.Funcții suplimentare M
Instruire | Descriere |
MO | Oprirea programului |
M1 | Oprire la cerere |
M2 | Sfârșitul programului |
M3 | Rotirea axului în sensul acelor de ceasornic |
M4 | Rotirea axului în sens invers acelor de ceasornic |
M5 | Oprire ax |
М2=3 | Unealta electrică aprinsă în sensul acelor de ceasornic |
М2=4 | Unealtă electrică rotită în sens invers acelor de ceasornic |
M2=5 | Scula electrică oprită |
M6 | Schimbarea automată a sculei |
M7 | Suflare de aer |
DOMNIȘOARĂ | Lichidul de răcire pornit |
M9 | Opriți răcirea |
M1O | Suflarea aerului |
M11 | Clemă pentru scule |
M12 | Desfacerea sculei |
M13 | Includerea rotației axului în sensul acelor de ceasornic împreună cu includerea lichidului de răcire |
M14 | Activarea rotației axului în sens invers acelor de ceasornic împreună cu includerea lichidului de răcire |
M15 | Porniți lichidul de răcire pentru spălarea așchiilor |
M17 | Sfârșitul subrutinei |
M19 | Orientarea axului |
M21 | X |
M22 | Activarea oglindirii programului de-a lungul unei axe La |
M23 | Dezactivați oglindirea programului |
M29 | Activarea firului rigid |
M3O | Sfârșitul programului cu posibilitatea de a opri simultan alimentarea mașinii |
M52 | Mutarea magazinului în poziția din dreapta |
M53 | Mutarea magazinului într-o poziție spre stânga |
M7O | Inițializarea magazinului |
M71 | Coborârea buzunarului activ al revistei |
M72 | Rotiți manipulatorul cu 60° |
M73 | Desfacerea sculei |
M74 | Rotiți manipulatorul cu 120° |
M75 | Clemă pentru scule |
M76 | Rotiți manipulatorul cu 180° |
M77 | Ridicarea buzunarului activ al revistei |
M98 | Apel de subrutine |
M99 | Reveniți la programul principal |
Note. Pentru diferite sisteme de control și tipuri de mașini, funcțiile suplimentare pot avea semnificații diferite, de exemplu, activarea mișcării contrapuntului, funcții Dispozitiv de pornire, lunet, etc.
Când se creează un program NC, programarea în sine, adică conversia pașilor individuali de lucru în limbaj NC, este adesea doar o mică parte din munca de programare.
Înainte de programare, este necesar să planificați și să pregătiți tranzițiile de lucru. Cu cât începerea și structura programului NC sunt planificate mai precis, cu atât programarea în sine va fi mai rapidă și mai ușoară și cu atât va fi mai clară și mai puțin predispusă la erori. program terminat CNC.
Avantajul programelor clare este deosebit de evident atunci când modificările trebuie făcute mai târziu.
Deoarece nu fiecare program are aceeași structură, nu are sens să funcționeze conform unui șablon tipic. Cu toate acestea, pentru cele mai multe cazuri, este recomandabil să urmați următoarea secvență.
1. Pregătirea desenului de detaliu constă în:
- a) la determinarea punctului zero al piesei;
- b) la desenarea unui sistem de coordonate;
- c) în calculul eventualelor coordonate lipsă.
2. Definiția procesului de prelucrare:
- a) Când vor fi folosite, ce unelte și pentru ce contururi?
- b) În ce succesiune vor fi fabricate elementele individuale ale piesei?
- c) Ce elemente individuale sunt repetate (eventual rotite) și ar trebui să fie stocate în subrutină?
- d) Există contururi ale piesei în alte programe sau subrutine piese care pot fi reutilizate pentru piesa reală?
- e) Unde sunt decalajele zero, rotația, reflexia, scalarea adecvate sau necesare (conceptul cadru)?
3. Crearea unei hărți tehnologice. Definiți pe rând toate procesele de prelucrare ale mașinii, de exemplu:
- a) mișcare rapidă pentru poziționare;
- b) schimbarea sculei;
- c) definirea planului de prelucrare;
- d) joc liber pentru măsurători suplimentare;
- e) pornirea/oprirea axului, lichid de răcire;
- f) apel de date scule;
- g) depunerea;
- h) corectarea traiectoriei;
- i) apropierea de contur;
- j) retragerea din contur etc.
4. Traducerea salturilor în limbajul de programare: înregistrarea fiecărui salt ca bloc NC (sau blocuri NC).
5. Conectarea tuturor tranzițiilor individuale într-o operație, de obicei într-un singur program. Uneori, mai ales atunci când procesați piese mari într-un program, pot fi evidențiate tranzițiile de degroșare, semifinisare și finisare. Acest lucru s-a datorat cantității limitate de memorie comună sistemelor CNC mai vechi. Pentru sistemele moderne de control al programului, cantitatea de memorie practic nu limitează capacitățile tehnologice ale mașinilor-unelte.
În sistemele moderne de control al programelor, ciclurile standard de procesare sunt utilizate pe scară largă. Utilizarea lor reduce semnificativ timpul alocat programării.
Unele constante de ciclu pentru sistemele de control utilizate în software-ul WIN NC SINUMERIK sunt enumerate mai jos:
- CYCLE81 - găurire, centrare;
- CYCLE82 - gaurire, frecare;
- CYCLE83 - găurire adâncă cu burghie elicoidale;
- CYCLE84 - taiere cu filet interior fara mandrina compensatoare;
- CYCLE840 - filetare cu mandrină compensatoare;
- CYCLE85 - plictisitor 1;
- CYCLE86 - plictisitor 2;
- CYCLE87 - plictisitor 3;
- CYCLE88 - plictisitor 4;
- CICLU89 - plictisitor 5;
- CYCLE93 - canelura;
- CYCLE94 - undercut intern;
- CYCLE95 - ciclu de îndepărtare a stocurilor;
- CYCLE96 - undercut filetat;
- CYCLE97 - ciclu de tăiere a filetului.
Trebuie remarcat faptul că sistemele de control al programului nivel inalt sunt deschise, ceea ce vă permite să extindeți biblioteca de cicluri standard pentru prelucrarea suprafețelor tipice pentru producție de acest tip produse, reducând astfel timpii de producție.
Orez. 2.
Utilizarea sistemelor CAM a condus la necesitatea ca fiecare sistem de control al programului să dezvolte postprocesoare, fără de care echipamentul nu înțelege programe fără traducerea lor în coduri mașină (Fig. 2).
Programarea sistemelor CNC moderne se realizează în conformitate cu standardul ISO 6983 (DIN 66025), care are mai mult de 50 de ani și care, conform programatorilor, se presupune că încetinește dezvoltarea tehnologiilor CNC. Termenul de „tehnologie CNC”, potrivit autorului, nu este legitim, prelucrarea pieselor pe mașini CNC este supusă tuturor legilor tehnologiei ingineriei mecanice și tăierea metalelor sau altor metode de modelare.
Încălcarea legilor științelor tehnologice duce la:
- la deformarea crescută a pieselor;
- pentru a reduce acuratețea dimensiunilor liniare;
- la o creștere a complexității prelucrării pieselor etc.
Principala diferență pentru mașinile multifuncționale este concentrarea extrem de pronunțată a operațiunilor, nu numai caracteristică acestui tip de echipamente, ci și implementate de o unealtă antrenată și echipamente speciale cu ax, precum și metode de asigurare a preciziei cu ajutorul sistemelor de măsurare a mașinilor-unelte. Suporturi standard comenzi simple pentru mişcări elementare şi operaţii logice. În prezent, pentru a rezolva probleme geometrice și logice complexe în sistemele de control al programelor, pe lângă codurile de mașină în conformitate cu DIN 66025 (ISO 7 biți), sunt folosite limbaje de programare de nivel înalt. Programele de control din standardul ISO 6983 conțin o cantitate mică de informații obținute la nivelul sistemelor CAD-CAM. Cu toate acestea, un dezavantaj mai serios, conform dezvoltatorilor sistemelor de control al programului, este imposibilitatea schimbului de informații în două sensuri cu aceste sisteme, ceea ce înseamnă că orice modificări ale programului de control nu pot fi afișate în fluxul de informații din amonte către CAD-CAM. sisteme. Trebuie remarcat faptul că acest lucru nu este adecvat pentru toate industriile. Deci, de exemplu, netezirea conjugărilor netede ale contururilor teoretice cu spline este permisă, iar conjugarea a două suprafețe necesită o analiză a posibilelor metode de modelare a acestora, pentru un număr de materiale structurale pot exista limitări tehnologice, de exemplu, razele minime admise de conjugare a elementelor structurale ale pieselor din aliaje de aluminiu de înaltă rezistență etc.
Spre deosebire de DIN 66025 (ISO 6983), standardul STEP-NC ISO 14649 în curs de dezvoltare (nu toate modulele sale au fost dezvoltate în acest moment) definește o structură specială a programului de control CNC - structura programului, care este utilizată pentru a construi blocuri logice în cadrul programării prelucrărilor structurate. Structura programului de control nu este o listă de forme tipice procesate (funcții); definește un plan de lucru, care este o secvență de executabile. STEP-NC implică un schimb larg de informații între serviciile de inginerie, inclusiv pregătirea și planificarea producției, precum și atelierul.
Structura schimbului de informații intenționat este prezentată în Figura 3.
Structura schimbului de informații planificat ridică o mulțime de întrebări:
- nivelul insuficient de formalizare a lucrărilor de inginerie face dificilă crearea bazelor de cunoștințe;
- un număr mare de cataloage de scule așchietoare, care oferă informații insuficiente pentru alegerea unui instrument pentru prelucrarea materialelor speciale și condițiile de utilizare a acestuia, care în majoritatea cazurilor necesită verificare experimentală;
- cataloagele de echipamente duc adesea lipsă de informații despre precizia de poziție a axelor controlate ale mașinii, caracteristicile dinamice ale acționărilor etc.;
- ghiduri tehnologice învechite, elaborate pentru echipamente universale și republicate sistematic cu o actualizare redusă sau deloc a informațiilor tehnologice;
- lipsa informaţiei sistematizate despre echipamentele tehnologice progresive.
Orez. 3. Schimb planificat de informații între serviciile de inginerie și atelier
În plus, trebuie remarcat faptul că nu există metode tipice de optimizare a programării mașinilor-unelte prin parametri care să vă permită să alegeți cea mai bună mașină sau grup de mașini pentru a efectua o anumită operație sau proces tehnologic.
Aceste probleme au fost semnalate de multe ori de către utilizatorii diferitelor mașini-unelte implicate în procesul de standardizare STEP-NC. Producători și dezvoltatori de echipamente softwareîncercați să țineți cont de cerințele utilizatorilor și să implementați unele dintre aceste funcții în produsele lor. Cu toate acestea, adesea munca lor nu este supusă unui singur standard, care, conform opiniei existente, poate încetini actualizarea sistemelor industriale. De asemenea, este imposibil să nu menționăm că echipamentele fabricate le folosesc rareori pe toate tehnologii moderneși ca urmare, baza de producție nu este atât de eficientă și perfectă. Având în vedere acest lucru, producătorii de sisteme de control al programelor au ales o opțiune de compromis care vă permite să lucrați atât conform DIN 66025 (ISO 6983) cât și ISO 14649 (Fig. 4).
Orez. 4. Arhitectură CNC mixtă care acceptă standardele DIN 66025 (ISO 6983) și ISO 14649 (STEP-NC)
Toate acestea indică faptul că, pe lângă îmbunătățirea sistemelor de management al programelor și a metodelor de programare, este necesar să se angajeze în bază sistemicăși pregătirea informațiilor tehnologice:
- un instrument care asigură intensificarea modurilor de procesare;
- recomandări privind utilizarea diferitelor modele de instrumente;
- dependențe pentru calculul tăierilor;
- dependențe pentru calcularea componentelor forțelor de tăiere;
- baze de date privind echipamentele CNC și capacitățile tehnologice ale acestora, inclusiv în cazul dotării cu diferite sisteme de control;
- algoritmi pentru calcularea condițiilor de tăiere pentru mașini-unelte, în care un electroax este utilizat ca antrenare pentru mișcarea principală;
- strategie de prelucrare a diferitelor elemente structurale ale pieselor pe mașini CNC;
- baze de date privind utilizarea sculelor disponibile comercial pentru mașini CNC;
- sisteme de măsurare pentru mașini-unelte, inclusiv senzori de zero și de măsurare;
- instrucțiuni de producție pentru asamblarea setărilor sculelor și echilibrarea acestora;
- reglementări tehnologice pentru verificarea preciziei mașinilor CNC, reverificarea echipamentelor axului, în special dornurile și bucșele de tip HSK și multe altele.
Funcții de ajutor (sau M coduri) sunt programate folosind cuvântul adresa M. Funcțiile auxiliare sunt folosite pentru a controla programul și electroautomatismul mașinii - pornirea/oprirea axului, lichidul de răcire, schimbarea sculei etc.
Tabelul 3
Desemnare |
Scop |
M00 |
Oprire programată |
M01 |
Opreste-te cu confirmare |
M02 |
Sfârșitul programului |
M03 |
Rotirea axului în sensul acelor de ceasornic |
M04 |
Rotire axului în sens invers acelor de ceasornic |
M05 |
Oprire ax |
M06 |
Schimbarea sculei |
M08 |
Se răcește |
M09 |
Oprire răcire |
M17 |
Întoarcerea din subrutină |
M18 |
Poziționarea șindrila la un unghi dat |
M19 |
Orientarea axului |
M20 |
Sfârșitul unei secțiuni repetate a programului |
M30 |
Opriți și mergeți la începutul programului de control |
M99 |
Continuați execuția UE a primului cadru |
Funcții auxiliare care efectuează includerea oricăror operațiuni ( M03, M04Și M08) sunt executate la începutul blocului înaintea comenzilor de mișcare. Funcțiile auxiliare rămase sunt executate la sfârșitul blocului.
În tabel. 3 este o listă de funcții de ajutor utilizate în mod obișnuit.
2.1. Oprire programată (M00)
Oprirea necondiționată a programului de control după executarea mișcării cuprinse în cadrul curent. Starea UE nu se schimbă până când butonul nu este apăsat din nou START pe panoul de control sau pe taste LA ÎNCEPUT, pentru a reveni la începutul UE executabil.
2.2. Oprire cu confirmare (M01)
Oprirea programului de control după executarea mișcării conținute în cadrul curent, cu condiția ca modul să fie setat „Opriți cu confirmare” din panoul de control al sistemului de control (vezi Document Control MSHAK-CNC (manual de utilizare).
Exemplu:
X-2 X-4.
M1; Opriți execuția programului la acest bloc dacă
; modul este setat „Opriți cu confirmare” din consola operatorului
2.3. Sfârșitul programului (M02)
Determină sfârșitul execuției programului de control, oprește alimentarea cu lichid de răcire și oprește rotația axului.
Exemplu:
G0X20Z50 Z.5
G0 X0Z0 M2
2.4. Rotirea axului în sensul acelor de ceasornic (M03)
Începe rotirea axului în sensul acelor de ceasornic folosind valoarea cuvântului curent.
Exemplu:
G54 G0 X-20 Z30 S500M3
2.5. Axul în sens invers acelor de ceasornic (M04)
Începe rotația axului în sens invers acelor de ceasornic folosind valoarea curentă dată de cuvânt.
Exemplu:
G54 G0 X-20 Z30 S1500M4
2.6. Oprire ax (M05)
Opreste rotirea axului. Se execută după mișcările cuprinse în cadru.
Exemplu:
G28 X0 Z0 M5
G4 P2 M2
2.7. Schimbarea sculei (M06)
Efectuează o schimbare a sculei între ax și magazinul de scule. Această funcție are loc:
· Poziţionarea de-a lungul axelor până la punctul de schimbare a sculei;
· Oprire rotație ax și orientare ax;
· Schimbarea sculei.
Exemplu:
T5; începeți să căutați instrumentul 5 în magazin
X50 Z60; continuarea programului
M6; schimbarea sculei
2.8. Activare răcire (M08)
Pornește alimentarea cu lichid de tăiere (lichid de răcire).
Exemplu:
S300M3X20Z30G0
G1X50Z44M8; Porniți lichidul de răcire
G0Z-100
2.9. Răcire (M09)
Oprește alimentarea cu lichid de tăiere (lichid de răcire).
Exemplu:
S300M3X20Z30G0 G1X50Z44 M9M5G0Z-100
2.10. Întoarcere din subrutină (M17)
Determină sfârșitul subrutinei când este apelat de cuvântul cu adresa L.
Exemplu:
X5Z5
; Programul principal
L10; Apel de subrutină începând de la blocul N10 X2Z8
N10Z2; Subprogram cu etichetă bloc N10 X10
M17; Sfârșitul subprogramului și revenirea la programul principal
2.11. Poziționarea axului (M18)
Cu această funcție, puteți roti axul cu un unghi dat.
Format:
M18 Pnnn
Unde: nnn – unghi de rotație +/- 360 de grade.
Unghiul de rotație este măsurat în raport cu poziția axului la care este setat axul utilizând funcția M19.
Exemplu:
M18 P45; axul se rotește la 45 de grade
2.12. Orientarea axului (M19)
Funcția de ajutor M19 oprește rotația axului, efectuează orientarea acestuia.
2.13. Sfârșitul secțiunii repetate a programului (M20)
Determină sfârșitul unei secțiuni repetate a programului atunci când este apelată de un cuvânt cu o adresă H.
Exemplu:
N10H2; executați secțiunea de program până la M20 de 2 ori
În prezent, multe limbaje de programare sunt folosite pentru programarea sistemelor CNC, care se bazează pe limbajul universal ISO 7 biți. Cu toate acestea, fiecare producător contribuie cu propriile caracteristici, care sunt implementate prin funcții pregătitoare (coduri G) și auxiliare (coduri M).Funcționează cu o adresă G sunt numite pregătitoare, ele definesc condițiile de lucru ale mașinii asociate cu programarea geometriei mișcării sculei. O descriere detaliată a codurilor G poate fi găsită în capitolul Cod ISO pe 7 biți.
În acest capitol, vom discuta în detaliu scopul funcțiilor auxiliare.
Funcționează cu o adresă M sunt numite auxiliar(de la ing. Diverse) și sunt concepute pentru a controla diferite moduri și dispozitive ale mașinii.
Funcțiile auxiliare pot fi utilizate singure sau în combinație cu alte adrese, de exemplu, blocul de mai jos instalează instrumentul numărul 1 pe ax.
N10 T1 M6, unde
T1- unealta numarul 1;
M6– schimbarea sculei;
În acest caz, sub comanda M6 de pe suportul CNC, există un întreg set de comenzi care asigură procesul de schimbare a sculei:
Mutați instrumentul pentru a schimba poziția;
- oprirea vitezei axului;
- deplasarea sculei instalate în magazin;
- inlocuirea sculei;
Utilizarea codurilor M este permisă în blocurile cu mișcarea sculei, de exemplu, în linia de mai jos, răcirea se va porni (M8) simultan cu începerea mișcării tăietorului.
N10 X100 Y150 Z5 F1000 M8
Codurile M care pornesc un dispozitiv de mașină au un cod M asociat care oprește dispozitivul respectiv. De exemplu,
M8- porniți răcirea M9– opriți răcirea;
M3- porniți viteza axului, M5- opriți virajele;
Este permisă utilizarea mai multor comenzi M într-un cadru.
În consecință decât mai multe dispozitive are o mașină, cu atât mai multe comenzi M vor fi implicate în controlul acesteia.
În mod convențional, toate funcțiile auxiliare pot fi împărțite în standardȘi special. Funcțiile auxiliare standard sunt utilizate de producătorii CNC pentru a controla dispozitivele disponibile pe fiecare mașină (ax, răcire, schimbarea sculei etc.). În timp ce modurile speciale sunt programate pe o anumită mașină sau pe un grup de mașini dintr-un anumit model (cap de măsurare pornit / oprit, prindere / deblocare axelor rotative).
Imaginea de mai sus arată axul rotativ al unei mașini cu mai multe axe. Pentru a crește rigiditatea în prelucrarea pozițională, mașina este echipată cu cleme de ax rotativ, care sunt controlate de codurile M: M10/M12– porniți clemele pentru axele A și C. M11/M13- opriți clemele. Pe alte echipamente, producătorul mașinii poate configura aceste comenzi pentru a controla alte dispozitive.
Lista comenzilor M standard
M0 – opriți programul;M1 – oprire la cerere;
M2 - sfârșitul programului;
M3 - porniti viteza axului in sensul acelor de ceasornic;
M4 – porniți viteza axului în sens invers acelor de ceasornic;
M5 – opritor ax;
M6 – schimbare automată instrument;
M8 – porniți răcirea (de obicei lichid de răcire);
M9 – opriți răcirea;
M19 – orientarea axului;
M30 – terminarea programului (de obicei cu resetarea tuturor parametrilor);
M98 – apel de subrutină;
M99 - revenirea din subrutină la cea principală;
Funcțiile auxiliare speciale sunt descrise de producătorul mașinii în documentația tehnică respectivă.