Programarea codurilor G și M ale comenzii CNC Haas
Tutorialul de coduri G al CNCCookbook
Haas produce unele dintre cele mai populare mașini CNC din lume, astfel încât cunoașterea modului de utilizare a codurilor G unice ale acestora poate fi o abilitate importantă. Vestea bună este că Haas a adoptat una dintre cele mai inteligente abordări la care mă pot gândi în crearea dialectului lor unic de cod g.
Haas: Strategie inteligentă când vine vorba de dialectul lor CNC G-Code…
Au început cu cel mai popular dialect din lume, Fanuc (de care se ocupă cea mai mare parte a acestui curs) și au construit pe baza lui, menținând compatibilitatea. Nu au făcut schimbări arbitrare și au adăugat în mare parte o valoare bună și comoditate.
Aceasta este o strategie inteligentă, deoarece înseamnă că majoritatea codului Fanuc g-code va rula pur și simplu pe un Haas, dar totuși au câteva avantaje mari despre care să vorbească datorită codurilor speciale pe care le-au adăugat. Aceasta înseamnă, de asemenea, că vastul cadru de oameni care cunosc programarea Fanuc g-code sunt gata să fie productivi din prima zi pe mașinile Haas și pot prelua lucrurile adăugate de Haas pe măsură ce au nevoie.
Acest articol se referă la preluarea acestor lucruri astăzi, așa că să începem.
Ce sunt codurile Haas G-Codes pentru freze?
Iată o scurtă prezentare generală:
- G12/13: Buzunare circulare
- G51: Scalare
- G53: Sistem de coordonate nemodal al mașinii
- G68: Rotație
- G101: Imagine în oglindă
- G150: Frezare de buzunar de uz general
Acum să trecem în revistă și să le descompunem pe fiecare dintre ele pentru a vedea cum funcționează.
G12 & G13 Coduri G13: Buzunare circulare
Interpolarea circulară sau interpolarea elicoidală este un lucru pe care îl vedem adesea în programarea CNC. Este un caz în care o freză de capăt este programată să urmeze o traiectorie circulară sau elicoidală pentru a face o gaură mult mai mare decât diametrul frezei de capăt.
Aceste coduri g speciale Haas facilitează efectuarea operațiunii. G12 taie în sensul acelor de ceasornic, în timp ce G13 taie în sens invers acelor de ceasornic. Iată care sunt cuvintele pe care le veți folosi pentru a crea buzunarul:
D*: Raza sau diametrul sculei. Dacă folosiți D00, acesta îi spune lui Haas să nu folosească compensarea frezei. Cuvântul D este modal, deci dacă nu este specificat niciunul, se va folosi ultima valoare a lui D.
F: Viteza de avans
I: Raza primului cerc (sau a finisajului dacă nu există K). I trebuie să fie mai mare decât raza sculei, dar mai mică decât K.
K*: Raza cercului finit.
L*: Numărul de bucle pentru repetarea tăieturilor mai adânci.
Q*: Creșterea razei sau pas cu pas. A se utiliza cu K.
Z: Adâncimea tăieturii sau incrementul
* = Cuvântul este opțional și poate fi omis.
Pentru a utiliza aceste coduri g, începeți prin a poziționa unealta deasupra centrului cercului. Aveți de ales – fie puteți elimina tot materialul din interiorul cercului, fie puteți tăia doar raza cercului. Dacă doriți să tăiați doar raza, utilizați o valoare I setată la raza și nu specificați o valoare K sau Q. Dacă doriți să îndepărtați tot materialul, utilizați valori I și Q mai mici decât diametrul sculei și o valoare K egală cu raza cercului.
Iată un exemplu de program care doar taie raza:
%
(SAMPLE G12)
T1 M06 (Select tool 1) ;
G00 G90 G40 G49 G54 (Safe startup) ;
G00 X0 Y0 (Rapid to 1st position) ;
S1000 M03 (Spindle on CW) ;
G43 H01 Z0.1 (Decalajul sculei 1 pornit) ;
M08 (Lichid de răcire pornit) ;
( Tăierea cercului ) ;
G12 I0.75 F10. Z-1.2 D01 (Finisare buzunar CW) ;
G00 Z0.1 (Retragere) ;
G00 Z0.1 M09 (Retragere rapidă, lichid de răcire oprit) ;
G53 G49 Z0 M05 (Z acasă, ax oprit) ;
G53 Y0 (Y acasă) ;
M30 (Sfârșitul programului) ;
%
Și iată un backplot în G-Wizard Editor al traseului de scule al acestui program:
G12 setat pentru tăiere în stil radius…
G51 G-Code: Scalare
Scalarea G51 este disponibilă pe comenzile Fanuc, dar Haas o face ușor diferit. Iată sintaxa Haas:
G51 X_ Y_ Z_ P_
X, Y și Z vă permit să specificați un centru opțional pentru scalare. Dacă acestea sunt absente, centrul este originea (partea zero). P este factorul de scalare. Dacă nu este specificat P, setarea 71 este factorul de scalare implicit.
Rețineți că scalarea este o caracteristică opțională extra-cost la comenzile Haas.
Scalarea este utilă pentru o mulțime de scopuri, iar capitolul nostru despre scalare are mai multe detalii în acest sens.
G53 G-Code: Non-Modal Machine Coordinate System
G53 vă permite să anulați sistemul de coordonate de lucru pentru un bloc. Cu alte cuvinte, este non-modal. Trebuie să-l folosiți cu G49 dacă aveți o valoare Z, deoarece G49 anulează decalajul sculei.
De exemplu:
G53 Y0
Acest cod g va muta masa la zero mașină în Y. G53 este mai ales o scurtătură față de, de exemplu, G28.
De exemplu:
G28 G91 Z0
Acum trebuie să vă amintiți să adăugați un G90. Cu G53, G90 rămâne în vigoare.
G68 G-Codul G: Rotație
Ca și scalarea, rotația este de asemenea disponibilă în Fanuc, dar este ușor diferită pe Haas. Este, de asemenea, o opțiune extra-cost pentru a activa rotația.
G68 rotește valorile X, Y, Z, I, J și K ulterioare cu un unghi specificat cu un centru de rotație. G69 anulează rotația G68.
Înainte de a utiliza rotația, asigurați-vă că planul de rotație este specificat de G17, G18 sau G19.
Iată sintaxa pentru G68
G68 a_ b_ R
a este coordonata pentru centrul de rotație al primei axe a planului pe care l-ați specificat. Deci, pentru G17, este X. b este coordonata centrului de rotație pentru a doua axă. Pentru G17, aceasta este Y.
R specifică unghiul de rotație în grade. Se pot utiliza valori cuprinse între 360 și -360.
G101 G-Codul G: Mirror Image
G101 poate fi utilizat pentru a produce o imagine în oglindă a unei secvențe de coduri în jurul unei axe X, Y, Z, A sau B.
Iată sintaxa:
G101 X_ Y_ Z_ A_ B_
Trebuie să specificați cel puțin o axă. Orice valoare dată cu cuvântul axis este ignorată, dar aveți nevoie de valoare pentru a evita o alarmă.
Utilizați G100 pentru a anula imaginile în oglindă.
G150 G-Codul G: Frezare de buzunar de uz general
G150 este un cod G foarte fantezist și la îndemână. Gândiți-vă la el ca la un echivalent al ciclului G71 al unui strung CNC pentru frezare. În esență, este un mini-program CAM într-un g-code.
Ceea ce face este să vă permită să specificați conturul unui buzunar ca un mic program g-code. G150 va șterge acel buzunar.
Iată care este sintaxa:
G150 G41* P_ F_ D_ I_ J_ K_ Q_ R_ X_ Y_ Z_ L_ S_
Și iată ce fac parametrii:
- P: Numărul subprogramului care specifică conturul buzunarului. Necesar!
- F: Feedrate
- D: Selectarea decalajului diametrului sculei.
- I: Incrementul de tăiere pe axa X. Fiecare trecere îndepărtează această cantitate de material. Trebuie să specificați I sau J, dar nu le puteți specifica pe amândouă.
- J: Incrementul de tăiere pe axa Y.
- K: Suprataxa de tăiere de finisare pentru ultima trecere.
- Q: Adâncimea incrementală de tăiere pe axa Z pentru fiecare trecere. Trebuie să fie egală cu 0 și este obligatorie. Q este o valoare incrementală pozitivă a reducerii treptate.
- R: Poziția planului R (Necesar). Acesta este planul de retragere pentru mișcarea rapidă.
- X și Y: Poziția găurii de pornire.
- Z: Adâncimea finală a buzunarului
- L: Număr opțional de repetări pentru buzunare suplimentare.
- S: Viteza opțională a arborelui
În mod normal se specifică comp. freză G41, dar puteți folosi și G42 dacă preferați.
Primul lucru de reținut este că G150 se așteaptă să existe o gaură pentru întreaga adâncime a buzunarului pe care o poate folosi pentru a coborî la adâncimea de tăiere la fiecare trecere. Puteți să găuriți sau să interpolați acea gaură, dar acest lucru trebuie făcut înainte de a apela G150.
În al doilea rând, definiția buzunarului dumneavoastră, la care se face referire prin cuvântul P, trebuie să fie un subprogram, nu un subprogram.
În sfârșit, subprogramul trebuie să aibă mai puțin de 40 de mișcări. Puteți ocoli acest lucru prin tăierea mai multor buzunare.
Alte lucruri de reținut:
- Codurile altele decât G, I, R, X și Y din subprogram sunt ignorate.
- Prima mutare din subprogram trebuie să fie de la gaură până la un punct de pe marginea buzunarului.
- Ultima mutare trebuie să fie în același punct de plecare de pe marginea buzunarului.
- este în regulă să folosiți mișcări G91 (incrementale) sau G90 (absolute) în subprogram.
- Nu există o trecere de finisare în adâncime Z, este doar pe pereții buzunarului.
- Dacă folosiți L pentru buzunare repetate, trebuie să aveți o poziționare G91 și incrementală în linia G150. Asigurați-vă că ați găurit mai întâi toate găurile de intrare în buzunar!
Codul G150 g este destul de șmecher, dar în cele din urmă, software-ul CAM face programarea buzunarelor mai ușoară și mai puțin predispusă la erori. Păstrați G150 pentru buzunare simple care sunt ușor de programat și vizualizat.
.