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

G54?

Aloittaja Toni Mäkelä, 08.05.16 - klo:22:02

« edellinen - seuraava »

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

Toni Mäkelä

Hei! Ja kiitos kivasta foorumista ja toivottavasti myös hyvistä/hyvästä vastauksesta jo etukäteen.

Oon koneistellut modernisoidulla bridgeportilla jo tovin, tätä ohjaa EMC.

Nyt kun kappale on korkeahko tulee ongelma, matalilla kipaleilla asiaan ei ole tarvinnut keskittyä, mutta;
Kun nyt ajaa koneen kuvitellun kappaleen alkuun kipaleen ja touch off:aa sen...
Kone lähtee kohti G54 täppää eli ajaa kappaleen sisään?
Eli eka liike on Z . Ja sit y ja x. Useasti aiheuttaa sen että manuaaliveivistä lasken pöydän alas ettei kolaroi heti alussa. Kun tuo työkalunvaihtohomma on ohi homma toimii. Kunnes taas ohjelmaa ei uskalka ajaa loppuun, sillä mopo meinaa taas lähtee käsistä.
G29.1 oon koittanut ja G10 niin ja montaa muuta G koodia.
Olen katsonut configistä ja säätänyt homea.
Olen myös ini fileä säätänyt, mutta ei myöskään sieltä ole ratkaisua löytynyt?

Mikä siis avuksi
- Toni MÄKELÄ

Jussik

Terve

Pari perus asiaa jolla voisit aloittaa on, laittamalla koodi näytille jossa ongelma esiintyy.
Toinen on  katsomalla rivi riviltä mitä se koodi tekee.
Kun tulee uusi koodi vastaan löytyy sille selitys helposti linuxcnc manuaalista.

Jussi

jyrki.j.koivisto

Kuulostaa harvinaisen tutulta, käytätkö Fusion360 softaa? Siinä sen posta olettaa työkalun vaihdon tapahtuvan Z:tan nolla tasossa, ainakin Heidenhaimin ohjauksen postassa mutta luulisin että se G-koodi posta olisi oikein.

Kremmen

Viime aikoina on tullut niin paljon pelattua Fanucin ja Leadwellin kanssa, että en oikein muista oliko LinuxCNC:ssä jotain erityistä. Kumminkin olettaisin että seuraava selitys on aika yleispätevä sellaisiin koneisiin, joissa on makasiini. Jos makasiinia ei ole niin siten pitää soveltaa soveltuvin osin...
Eli lähtökohtana on, että automaattikoneella ajetaan G-koodia työkalujen pituusoffsetit kompensoituina niin, ettei tarvitse huomioida kalun pituutta koodissa. Kompensointimenetelmiä on erilaisia ja niihin voidaan mennä jos tarvii. Turvallinen tapa ottaa uusi työkalu käyttöön ja kompensoida se on tämmöinen:

Työkalu vaihdetaan aina karan kotiasennossa. Yleensä makasiinit edellyttävät tätä, käsin vaihdettaessa ei mutta siinäkin tapauksessa kotiinajo kannattaa. Työkalun pituuskompensaatio otetaan käyttöön siinä vaihessa kun siirytään pois karan kotiasemasta. Fanucille varmasti toimiva koodi (ja jota myös Fusion 360 tarjoaa "generic Fanuc"ille):

G28 G91 Z0.  (kotiinajo - suhteelliset koordinatit - Z-akselin välipiste suht 0.0 eli ei liikettä)
G91                (palautetaan absoluutikoordinaatit)

Tnn M06                     (vahdetaan haluttu työkalu Makasiinipositiosta nn)
M03 Saaaa                  (kara pyörimään nopeudella aaaa)
M08                           (litku päälle)

G00 Xxx.xx Yyy.yy    (pikaliike seuraavan työstökohdan yläpuolelle kara ylhäällä)
G43 Z100. Hnn          (työkalun pituuskompensointi päälle samalla siirtyen X-asemaan +100.0)
                                    (kompensaatio luetaan taulukon positiosta nn joka vastaa makasiinipositiota)
                                    (riippuu pituusoffsetin laskentatavast annetaanko G43 vai G44. Väärää ei saa antaa!)
                                    (huomaa, että modaalinen G00 on edelleen voimasa, joten kompensaatio siirtää)
                                    (karan pikaliikkeellä)
G01 Z15. Ffff               (lähestyminen syöttönopeudella korkeuteen +15.0mm syöttönopeudella fff mm/min)

Tuossa esimerkissä oletetaan, että työkappaleen yläpinta on valitussa työkoordinaatistossa tasossa Z0.0. Jos koordinaatiston origo on laitettu jonnekin muualle niin Z-lukemat tietenkin muuttuvat vastaavasti.
Tässä esimerkisä käytetään sitä tapaa jolla Helsingin Hacklabin "Lotta"-jyrsimen työkalut kalibroidaan. Kyseessä on ns. "longest tool"-menetelmä. Seuravassa lyhyt kuvaus kuinka homma menee:

Fanuc Series 0:ssa (ja varmaan kaikissa muissakin fanukeissa) on tavanomaiset 6 työkoordinatistoa (G54 ... G59) ja niiden lisäksi koordinaatisto 0 ("EXT") johon tallennetut offsetit ovat aina "päällä". Tätä käytetään hyväksi siten, että EXT-koordinatiston Z-arvoon on syötetty referenssityökalun konekoordinaatti sen koskettaessa pöydän pintaa.
Työkalujen offset-tauluun kirjataan kunkin työkalun kohdalle konekoordinaattien erotus (työkalun_offset) - (referenssityökalun_offset). Tämä offset siis valitaan ylemmässä esimerkissä ja se kertoo kuinka paljon siirtymää valitussa työkalussa on referenssityökaluun nähden. Referenssin korjaus tulee aina voimassa olevan EXT-koordinaatiston Z-arvosta. Eli ilman kompensointia kara asettuu aina korkeuteen joka vastaa referenssityökalun mittaa.

Työkoordinaatiston Z-komponentti on nyt helppo asettaa. Kun työkalut on mitattu pöydän pinnasta, se johtaa lopputulokseen jossa "luonnollinen" Z-koordinaatin nollataso on pöydän pinnassa. Näin ollen työkoordinatiston Z-origo voidaan mitata suoraan pöydästä ylöspäin vaikka tönärillä tms; miten tarkkaa nyt milloinkin tarvitaan. Näppärän tuntuinen tapa esim. on tallentaa pöytään kiinnitetyn koneruuvipuristimen leukojen pohjataso G54 Z-arvoksi jolloin puristimen pohjaan kiinnitetyn kappaleen yläpinta voidaan suoraan osoittaa milleinä vaikkapa plaanausta varten. Kunhan työkalu on siis oikein kompensoitu.

Toivottavasti tämä valaisi miten homma toimii ainakin yhdessä tapauksessa. Jos ei auennut niin kysy, kerron mielelläni tarkemmin.






Nothing sings like a kilovolt
Dr W. Bishop

Toni Mäkelä

Joopa Fusion 360 on käytössä. Rivi riviltä naputellen olen ajanut, mutta ongelma tapahtuu ennen ensimmäistä riviä.
Jotain siis postassa?

Kremmen

Koodi näkyviin!
Nothing sings like a kilovolt
Dr W. Bishop

pave

Ja onko Z:n referenssi asetettu mahdollisimman ylös?

Toni Mäkelä

#7
Tässä

: (PGM, NAME="123")
; T3  D=20 CR=0 - ZMIN=-78 - FLAT END MILL
: G90 G40 G94
G17
G71
M26
; 2D CONTOUR2
M9
M26
:T3 M6
M26
S1751 M3
H0
M8
G0 X15.5 Y116
Z15
Z5
G1 Z-2 F280
G19 G2 Y114 Z-4 J114 K-2
G1 Y112
G17 G3 X17.5 Y110 I17.5 J112
G1 X20.032
G2 X33.2 Y102.183 I20.032 J95
G1 X43.168 Y83.908
G2 X45 Y76.725 I30 J76.725
G1 Y25.495
G2 X44.709 Y22.553 I30 J25.495
G1 X40.61 Y2.058
G2 X25.901 Y-10 I25.901 J5
G1 X0
G2 X-10 Y0 I0 J0
G1 Y100
G2 X0 Y110 I0 J100
G1 X17.5
G3 X19.5 Y112 I17.5 J112
G1 Y114
G19 G3 Y116 Z-2 J114 K-2
G1 X15.5
Z-6
G2 Y114 Z-8 J114 K-6
G1 Y112
G17 G3 X17.5 Y110 I17.5 J112
G1 X20.032
G2 X33.2 Y102.183 I20.032 J95
G1 X43.168 Y83.908
G2 X45 Y76.725 I30 J76.725
G1 Y25.495
G2 X44.709 Y22.553 I30 J25.495
G1 X40.61 Y2.058
G2 X25.901 Y-10 I25.901 J5
G1 X0
G2 X-10 Y0 I0 J0


"Ja onko Z:n referenssi asetettu mahdollisimman ylös?"

mitä Z referenssiä tarkoitat??

pave

#8
Mulla työkalun vaihdossa Z menee koneen nollapisteeseen eli referenssiin. Jos tämä olisi liian alhaalla/ korkea kappale, kolari tulee.
Välillä joutuu koodia muuttelemaan siten, että käyttää kappaletta siellä, missä teränvaihto on mahdollinen.

Toni Mäkelä

Kuinka tuota sit muutetaan?

jyrki.j.koivisto

#10
Käytätkö Fusionissa sitä EMC postaa? Siinä on tommosta ihanuutta laitettu:

// user-defined properties
properties = {
  writeMachine: true, // write machine
  writeTools: true, // writes the tools
  preloadTool: true, // preloads next tool on tool change if any
  showSequenceNumbers: true, // show sequence numbers
  sequenceNumberStart: 10, // first sequence number
  sequenceNumberIncrement: 5, // increment for sequence numbers
  optionalStop: true, // optional stop
  separateWordsWithSpace: true, // specifies that the words should be separated with a white space
  useRadius: false, // specifies that arcs should be output using the radius (R word) instead of the I, J, and K words
  useParametricFeed: false, // specifies that feed should be output using Q values
  showNotes: false, // specifies that operation notes should be output
  useG28: false // turn on to use G28 instead of G53 for machine retracts
};


Mutta sitten jossain kohtaa myöhemmin:

    // retract to safe plane
    retracted = true;
    if (properties.useG28) {
      writeBlock(gFormat.format(28), gAbsIncModal.format(91), "Z" + xyzFormat.format(0)); // retract
      writeBlock(gAbsIncModal.format(90));
    } else {
      writeBlock(gAbsIncModal.format(90), gFormat.format(53), gMotionModal.format(0), "Z" + xyzFormat.format(0)); // retract
    }


Tuo EMC:n posta voi olla vanha, mutta sen nyt löysin tähän hätään.

Eli näyttää siltä kuin tuossakin postassa ajetaan aina Z:ta nollaan, koska useG28 on aina epätosi, katsoppa onko siinä koodin generointi ikkunassa valintaa tuolle useG28 täpälle. Voi olla että tämä menee mettään kun en tiedä noista G-koodeista.

Ite jouduin kuitenkin pariin otteeseen muokkaamaan tuota Heidenhainin postaa, oliko se nyt Hiekkarannan avustuksella. Siinä työkalunvaihdossa se yritti ajaa Z:taa kappaleen pintaan, siihen tuli järkeä kun laittoi siihen kohtaan M-koodia.

pave

Lainaus käyttäjältä: Toni Mäkelä - 09.05.16 - klo:11:38
Kuinka tuota sit muutetaan?
Koneen parametreistä. Jos nyt kirjoitat MDI:llä pelkän vaihtokomennon esim.T4M6, sukeltaako kara liian alas?

Miguel-

Tuostahan nyt kannattaisi varmaan ensiksi kysellä, että missä koneen Z=0? Onko Z- (zeta miinus) siten, että työkalu menee pöytää päin (tai pöytä työkalua päin)? Missä koneen Z koti? Onko työkalunvaihtopaikkaa määritelty (eikös tuossa senkin saanut johonkin laiteltua)?

Kremmen

#13
Lainaa
: (PGM, NAME="123")
; T3  D=20 CR=0 - ZMIN=-78 - FLAT END MILL
: G90 G40 G94
G17
G71
M26
; 2D CONTOUR2
M9
M26
:T3 M6
M26
S1751 M3
H0
M8
G0 X15.5 Y116
Z15
...

Siis ensimmäinen liike jonka näet tapahtuu Z-suuntaan tällä koodilla?
Ulkomuisti ei sano mitä ":" rivin alussa tarkoittaa, mutta ekalla rivillä kuitenkin koodit:
G90 absoluuttiset liikkeet päälle (ok)
G40 työkalun halkaisijakompensointi pois (ok)
G94 syöttö yksikköjä minuutissa (ok)
Sitten:

G17 ympyräinterpolaatio tasossa X/Y (ok)
G71 ???-- ei tietoa mitä tämä koodi aikoo tehdä. Sorvilla tämä olisi rouhintasorvaustyökierto... ---
M26 ??? jossain sanottu, että olisi korvaava koodi M6:lle?
M9 leikkuuneste pois (miksi?, eihän sitä ole vielä edes käynnistetty)
M26 ??? 2. kerran
:T3M6 vaihto työkaluun 3. mutta karaa ei ole asemoitu mihinkään vaihtopositioon! Onko makasiinia ollenkaan?
M26 ??? ja taas
S1751 M3 kara liikkeelle myötäpäivään (ok)
H0 ??? WTF? mikä tämän pitäisi muka olla? H on pituuskompensoinnin offset-indeksi mutta vain jos on annettu G43 tai G44!
M8 ja nyt leikkuuneste päälle
G0 X15.5 Y116 eka siirtymä vaakatasossa (ok)
Z15 eka pystyliike (MIHIN PYSTYASEMAAN!? - G90 päällä, ei työkalun pituuskompensointia, ei työkoordinatistoa...)
...jne

MUTTA:
Työkalun pituuskompensointia ei ole aseteltu!
Työkoordinatistoa ei ole aseteltu!
Mihin tuon pystyliikkeen on ylipäänsä tarkoitus osua?!

Edit:
Pitäisi jotenkin päätellä, mikä työkoordinaatisto on voimassa (onko G54?) ja missä sen origo tällä hetkellä on.
Samoin pitäisi jostain päätellä mitä, jos mitään, pituuskompensointia käytetään kun mitään ei ole sanottu.
Nothing sings like a kilovolt
Dr W. Bishop

Toni Mäkelä

#14
öö tökin tuon uudestaan 360:sestä

tässä "oikeampi" ngc file

%
(HANGBLOCK IRTI 20MM TAPPI )
(PALA IRTI)
(T3  D=20. CR=0. - ZMIN=-78. - FLAT END MILL)
N10 G90 G94 G17 G91.1
N15 G21
N20 G53 G0 Z0.
(2D CONTOUR2)
N25 M9
N30 T3 M6
N35 S1751 M3
N40 G54
N45 M8
N55 G0 X15.5 Y116.
N60 G43 Z15. H3
N65 G0 Z5.
N70 G1 Z-2. F280.11
N75 G19 G2 Y114. Z-4. J-2. K0.
N80 G1 Y112.
N85 G17 G3 X17.5 Y110. I2. J0.
N90 G1 X20.032
N95 G2 X33.2 Y102.183 I0. J-15.
N100 G1 X43.168 Y83.908
N105 G2 X45. Y76.725 I-13.168 J-7.183
N110 G1 Y25.495
N115 G2 X44.709 Y22.553 I-15. J0.
N120 G1 X40.61 Y2.058
N125 G2 X25.901 Y-10. I-14.709 J2.942
N130 G1 X0.
N135 G2 X-10. Y0. I0. J10.
N140 G1 Y100.
N145 G2 X0. Y110. I10. J0.
N150 G1 X17.5
N155 G3 X19.5 Y112. I0. J2.
N160 G1 Y114.
N165 G19 G3 Y116. Z-2. J0. K2.
N170 G1 X15.5
N175 Z-6.
N180 G2 Y114. Z-8. J-2. K0.
N185 G1 Y112.
N190 G17 G3 X17.5 Y110. I2. J0.
N195 G1 X20.032
N200 G2 X33.2 Y102.183 I0. J-15.
N205 G1 X43.168 Y83.908
N210 G2 X45. Y76.725 I-13.168 J-7.183
N215 G1 Y25.495
N220 G2 X44.709 Y22.553 I-15. J0.
N225 G1 X40.61 Y2.058
N230 G2 X25.901 Y-10. I-14.709 J2.942
N235 G1 X0.
N240 G2 X-10. Y0. I0. J10.
N245 G1 Y100.
N250 G2 X0. Y110. I10. J0.
N255 G1 X17.5
N260 G3 X19.5 Y112. I0. J2.
N265 G1 Y114.
N270 G19 G3 Y116. Z-6. J0. K2.
N275 G1 X15.5
N280 Z-10.
N285 G2 Y114. Z-12. J-2. K0.
N290 G1 Y112.
N295 G17 G3 X17.5 Y110. I2. J0.
N300 G1 X20.032
N305 G2 X33.2 Y102.183 I0. J-15.
N310 G1 X43.168 Y83.908
N315 G2 X45. Y76.725 I-13.168 J-7.183
N320 G1 Y25.495
N325 G2 X44.709 Y22.553 I-15. J0.
N330 G1 X40.61 Y2.058
N335 G2 X25.901 Y-10. I-14.709 J2.942
N340 G1 X0.
N345 G2 X-10. Y0. I0. J10.
N350 G1 Y100.
N355 G2 X0. Y110. I10. J0.
N360 G1 X17.5
N365 G3 X19.5 Y112. I0. J2.
N370 G1 Y114.
N375 G19 G3 Y116. Z-10. J0. K2.
N380 G1 X15.5
N385 Z-14.
N390 G2 Y114. Z-16. J-2. K0.
N395 G1 Y112.
N400 G17 G3 X17.5 Y110. I2. J0.
N405 G1 X20.032
N410 G2 X33.2 Y102.183 I0. J-15.
N415 G1 X43.168 Y83.908
N420 G2 X45. Y76.725 I-13.168 J-7.183
N425 G1 Y25.495
N430 G2 X44.709 Y22.553 I-15. J0.
N435 G1 X40.61 Y2.058
N440 G2 X25.901 Y-10. I-14.709 J2.942
N445 G1 X0.
N450 G2 X-10. Y0. I0. J10.
N455 G1 Y100.
N460 G2 X0. Y110. I10. J0.
N465 G1 X17.5
N470 G3 X19.5 Y112. I0. J2.
N475 G1 Y114.
N480 G19 G3 Y116. Z-14. J0. K2.
N485 G1 X15.5

Powered by EzPortal
SMF spam blocked by CleanTalk