Nyt on CNC-foorumin tukeminen helppoa!
Maksu onnistuu PayPalin kautta myös kortilla
Konemies kiittää

Tietoa aloittelijalle

Aloittaja Maltti1, 24.06.18 - klo:23:55

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

Maltti1

Hei. Olen aloitteleva cnc-koneistaja, joka aloittelee uudessa firmassa oppisopimuksella tätä hienoa uutta ammattia. Kaipasin teiltä vinkkejä miten oppia nopeiten esim. g-koodia lukemaan ja mitä kaikkea kannattaa aina muistaa ja ylipäätään kaikki hyvät vinkit on tervetulleita. Tulen käyttämään töissä pääasiassa fanuc ohjauksella olevaa Haas merkkistä konetta.

Kremmen

Lainaus käyttäjältä: Maltti1 - 24.06.18 - klo:23:55
Hei. Olen aloitteleva cnc-koneistaja, joka aloittelee uudessa firmassa oppisopimuksella tätä hienoa uutta ammattia. Kaipasin teiltä vinkkejä miten oppia nopeiten esim. g-koodia lukemaan ja mitä kaikkea kannattaa aina muistaa ja ylipäätään kaikki hyvät vinkit on tervetulleita. Tulen käyttämään töissä pääasiassa fanuc ohjauksella olevaa Haas merkkistä konetta.
Tervetuloa foorumille. Hyviä vinkkejä saat varmasti tämän foorumin kokeneilta koneistajilta. Voisin lyhyesti kommentoida g-koodin osalta kun siitä jotain tiedän.
G-koodi on ohjelmointikieli jota koneen liikkeenohjain tulkkaa reaaliajassa ja suorittaa ohjelmaan kirjoitetut käskyt rivi riviltä. Tämä lieneekin selvää. Alkuperäisessä g-koodissa ei ole (juuri) mitään tyypillisen tietokoneen ohjausrakenteita joilla suorituyksen etenemistä säädettäisi, vaan lähtökohtaisesti suoritus etenee rivi riviltä alusta loppuun. Aliohjelmaa on mahdollista kutsua ja palata kutsuvaan kohtaan, mutta eipä muuta.

Kun ohjelmassa ei juuri kontrollirakenteita ole, niin g-koodin opettelu on lähinnä sitä, että tietää mitä kukin koodi tekee. Tässä ei auta kuin ulkoa opettelu tai sitten muistilappu :) Kuitenkin hyvin muotoillussa ohjelmassa on tietty järjestys jossa asiat tehdään. Usein järjestys on seuraavan kaltainen:

-mahdolliset alkukommentit joissa näkyy ohjelman otsikko, eli mitä se tekee. Tässä saattaa myös näkyä kuinka alas työstö ulottuu työkoordinaatiston origosta. Kommentin sisältö riippuu postauksen suorittavasta ohjelmasta. Kommentit eivät tee mitään, ne on vain informatiivisia käyttäjälle.

-koneen alustus tunnettuun tilaan. Tämä usein tapahtuu vakiorimpsulla ns. boilerplatella, jossa aina toistuu samat g-koodit ja niiden jälkeen kone on tunnetussa alkutilassa. Tyypillisesti asetetaan mittayksiköt, suhteellinen tai absoluuttinen koordinaatisto, peruutetaan kompensoinnit ja työkierrot jne. Tämän jälkeen alkaa varsinainen suoritus.

-työstö alkaa aina hakemalla makasiinista ensimmäinen työkalu (siis jos kyseessä on makasiinillinen kone). Tämä tehdään yleensä aina samanlaisena toistuvalla g-koodilitanialla jossa tyypillisesti ensin kotiutetaan kara, sitten vaihdetaan työkalu ja laitetaan kara pyörimään työkalulle ohjelmoidulla nopeudella. Tarkka g-koodilitania riippuu koneen makasiinin rakenteesta ja muista detaljeista, mutta se siis toistuu aina saman näköisenä.

- Kun työkalu on saatu, kara laitetaan pyörimään, litkut päälle sen mukaan mitä on pyydetty, ja suoritetaan lähestyminen jossa työkalu tulee työkappaleen äärelle. Sen jälkeen tehdään sisääntuloliike jota seuraa varsinainen työstösekvenssi. Näyttää olevan hyvin tyypillistä, että modernit koneet tekevät työstön käyttäen lähes pelkästään suoraviivaisia liikkeitä mutta hyvinkin lyhyinä segmentteinä. Itsellä on kokemusta Fanuc 0-sarjan ohjaimesta jolla on koetettu suosia ympyräinterpolaatiota aina kun mahdollista (kun siis ajetaan lieriömäisiä työstöjä). G-koodimielessä tämä on kuitenkin sitä leippätekstiä jossa kappale syntyy ja joka on aika puisevaa luettavaa. Yleensä vaan loputon lista X...Y...Z... käskyjä.

- Väliin tulee tarvittaessa työkaluvaihdon g-koodiliturgia ja työstö jatkuu uudella työkalulla kunnes kaikki työstöt on ajettu. Sen jälkeen yleisesti kotiutetaan akselit, pysäytetään kara ja litkut ja kuitataan ohjelma valmiiksi.

Myöhemmissä g-koodiversioissa on mahdollista toteuttaa vähän kehittyneempiä ohjausrakenteita kuten silmukoita ja if-else-rakenteita. Ne ei kuitenkaan vaikuta perusajatukseen aikä "vakio" g-koodeihin.

Peruskoodit on kaikille koneille samat, mutta liki jokaisella koneella on joukko koneelle ominaisia G- ja M-koodeja joilla voidaan ohjata juuri sen koneen erilaisia lisälaitteita. Minulle tutussa Leadwellissa on omat M-koodit 4. akselin pakan jarrulle sekä litkujen valinnalle siten, että normi M-koodit M8 ja M9 ohjaavat leikkuunesteen syöttöä, mutta sitten on omat M-koodit sumujäähdytykselle ja lastujen huuhtelusuuttimille jotka putsaavat pöydän alarakenteita. Jne jne.

Tässä vaikkapa esimerkki oikeasta Autodesk Fusion 360:n tuottamasta g-koodista kun postaus on suoritettu ohjaimelle "generic Fanuc": (//kommentit lisätty tähän ). Eri operaatiot on helppo löytää hyvin jäsentyneestä koodista.
%
O2020 (YLALEVY)
// alkukommentti
(T4 D=8. CR=0. - ZMIN=-10. - FLAT END MILL)
(T5 D=20. CR=0. TAPER=118DEG - ZMIN=-20. - DRILL)
(T6 D=6.8 CR=0. TAPER=118DEG - ZMIN=-20. - DRILL)
//alustuksen boilerplate
G90 G94 G17 G49 G40 G80
G21
// karan kotiinajosekvenssi
G28 G91 Z0.
G90

// 1. työkalun otto
(DRILL3)
T6 M06
S1280 M03
G54
// lähestyminen
G00 X42.5 Y73.612
G43 Z15. H06
G00 Z5.
// poraustyökierto
G98 G73 X42.5 Y73.612 Z-20. R5. Q1.7 F87.
Y-73.612
X-85. Y0.
G80
Z15.
M05
// karan kotiinajo
G28 G91 Z0.
G90
G49

// uusi työkalu
(DRILL4)
M01
T5 M06
S440 M03
G54
// uusi lähestyminen
G00 X-85. Y0.
G43 Z15. H05
G00 Z5.
// seuraava poraustyökierto
G73 X-85. Y0. Z-20. R5. Q5. F88.
X42.5 Y73.612
Y-73.612
G80
Z15.
M05
// kara kotiin
G28 G91 Z0.
G90
G49

// työkalu
(2D POCKET1)
M01
T4 M06
S3640 M03
G54
M08
// lähestyminen
G00 X-106.598 Y-7.437
G43 Z80. H04
G00 Z5.
G01 Z-1.2 F466.
// työstö
X-106.594 Y-7.431 Z-1.304
X-106.582 Y-7.414 Z-1.407
X-106.563 Y-7.387 Z-1.506
...
...
Nothing sings like a kilovolt
Dr W. Bishop

Hiekkaranta_92

Lainaus käyttäjältä: Kremmen - 25.06.18 - klo:07:42

- Kun työkalu on saatu, kara laitetaan pyörimään, litkut päälle sen mukaan mitä on pyydetty, ja suoritetaan lähestyminen jossa työkalu tulee työkappaleen äärelle. Sen jälkeen tehdään sisääntuloliike jota seuraa varsinainen työstösekvenssi. Näyttää olevan hyvin tyypillistä, että modernit koneet tekevät työstön käyttäen lähes pelkästään suoraviivaisia liikkeitä mutta hyvinkin lyhyinä segmentteinä. Itsellä on kokemusta Fanuc 0-sarjan ohjaimesta jolla on koetettu suosia ympyräinterpolaatiota aina kun mahdollista (kun siis ajetaan lieriömäisiä työstöjä). G-koodimielessä tämä on kuitenkin sitä leippätekstiä jossa kappale syntyy ja joka on aika puisevaa luettavaa. Yleensä vaan loputon lista X...Y...Z... käskyjä.


Tähän haluan kommentoida sen verran että lyhyetviivapätkät eivät niinkään liity moderniin koneen ohjaukseen, vaan lähinnä tapaan tuottaa g-koodia. Harmillisen usein postprosessoria ei konfiguroida loppuun ja jää sovitetut kaaret tai moderneissa ohjauksissa jopa splinet käyttämättä.

Puiseva G-koodi on monesti juuri camilla tuotettu. Ihminen laiskana oliona tekee asiat mieluusti mahdollisimman vähillä kirjoitteluilla ja erilaiset työkierrot tuovat koodiin äkkiä ryhtiä. Riippuen työkuvan formaatista voi ohjelman tekeminen käsin olla jopa nopeampaa.

Snowfly

#3
Lainaus käyttäjältä: Hiekkaranta_92 - 25.06.18 - klo:09:17
Tähän haluan kommentoida sen verran että lyhyetviivapätkät eivät niinkään liity moderniin koneen ohjaukseen, vaan lähinnä tapaan tuottaa g-koodia. Harmillisen usein postprosessoria ei konfiguroida loppuun ja jää sovitetut kaaret tai moderneissa ohjauksissa jopa splinet käyttämättä.

Puiseva G-koodi on monesti juuri camilla tuotettu. Ihminen laiskana oliona tekee asiat mieluusti mahdollisimman vähillä kirjoitteluilla ja erilaiset työkierrot tuovat koodiin äkkiä ryhtiä. Riippuen työkuvan formaatista voi ohjelman tekeminen käsin olla jopa nopeampaa.
Osa syy on myös ns. huonommissa cameissä, jotka eivät importatusta 3D-mallista tunnista kaaria mikä mahdollistaisi G2 ja G3 koodien käytön. Kerta kaikki 3D-malli tiedostomuodot eivät tue todellisia kaaria, jonka myötä tunnistus pitää olla cam-ohjelmistossa.
Eli vaikka postprosessori tukis komentoja, niin mikäli cam-ohjelma ei tunnista/löydä kaaria niin tuloksena on pätkä ajoa G1:llä.


pave

Yksi mielestäni kätevä keino on ladata Kremmenin mainitsema Fusion 360-ohjelma, piirtää sillä kappaleita ja simuloida työstöradat ja generoida koodit.
Sitten voi tarkastella, mitä jokainen rivi tekee.

Täältä myös opetusta suomeksi:https://discourse.hacklab.fi/t/kurssi-fusion-360-mallinnuksen-perusteet/810

tanantunari

Lataa NC-plot ja netistä etit g-koodi listan, piirrät aluksi jonku neliön/ympyrän paperille, mietit sille nollapisteen ja alat kokeilee.

täältä saa 15pv. kokeilu version simulaattorista johon kirjotat koodin ja jolla sitten simuloit sen ja näät heti tekemäsi virheet ja onnistumiset --> http://www.ncplot.com/ncplotv2/ncplotv2.htm


Maltti1

Kiitoksia vastauksista. Nyt ollaan parisen viikkoo oltu sorvin ääressä opettelemassa. Paljon on tullu opittua uutta vaan hurjan paljon vielä opittavaa. Että enköhän minä täällä foorumilla ole vielä jossain vaiheessa tyhmiä kyselemässä 🤣

Powered by EzPortal
SMF spam blocked by CleanTalk