Moro
Aamu on hakattu päätä seinään .. varmaan ihan simppeliä settiä mutta..
Eli koodi xz-tasopintaan jyrsitylle lieriöuralle kuinkas se menee? Osaisko joku villi ja viriili hakata parametrisoidun koodin tollaselle uralle? 0-piste aina siis aihion pinnassa ja uran keskipisteen kanssa linjassa. Parametrina säde, säteen pohjan etäisyys aihion pinnasta = uran syvyys, uran kokonais pituus, pallopääterän r, perättäin ajettavien kaarien välinen etäisyys y.
periaatteessa vois ajaa vasemmalta oikealle ja paluuliike oikealta vasemmalle siten että paluuliikkeen etenemä on puolet y:stä eli sellanen semi viimeistely.
G17, G02 ja G03 koodeillahan tuo lähtee mutta aivot ei jaksa ympätä tota 0 pisteen sijotusta
..vielä kun jalostaa Mach:n wizardiksi niin papukaijamerkki !
Eikös se ole G18 kun tehdään uraa XZ tasossa. Tällöinhän uran keskilinja kulkee Y:n suuntaan?
Eli jotenkin näin
G0 G41 D5 G18 X-10 Y0 Z5;
G1 Z0;
G3 X10 R10;
G1 Y0.5;
G2 X-10 R10;
Jos tuo toimii noin, niin ei oo mikääm temppu tehdä parametreillä, mikäli makro ohjelmointi toimii samoin ku fanucissa...
Mach: G40,41,42 ..the cutter radius compensation may be performed only if the xy- plane is active
eli suomeksi pallopääterän radiusta ei kyetä kompensoimaan muille tasoille? Eli xz ja yz työstöura tarvii mallintaa työstösäde miinus työkalun säde?
Kyllä se on sitten noin tehtävä. Myös terä on nollattava z:n suuntaan pallon keskelle, jolloin syvyyskin tulee samalla säteenmuutoksella oikein. Jos nyt aivot aamuväsymykseltään toimii oikein :D
Kokeilin palautella noita makro ohjelmointi kokeiluja mieleen :P
#100=0 (X KESKIPISTE);
#101=0 (Y KESKIPISTE);
#103=1 (1=X SUUNTAAN 2= Y SUUNTAAN);
#104=10 (URAN PITUUS);
#105=5 (URAN SÄDE);
#106=4 (URAN SYVYYS);
#107=1 (ASKEL);
#108=2.5 (TERÄN SÄDE);
#109=0 (LOPPU KOORDINAATIN MUUTTUJA);
#110=0 (NYKYISEN LASTUN MUUTTUJA);
#111=1 (VIIMEISEN LASTUN SUUNTA 1=G2 2=G3 0=TASALASTU);
;
IF[#103 = 2]GOTO30;
;
G0 G19 X#100 Y[#101-#105+#108] Z[#108+5];
G1 Z[-#106+#105];
#109=#100 + #104;
#110=#100;
N1WHILE[#110LE#109]DO1;
G2 Y[#101+#105-#108] R[#105-#108];
#111=1;
#110=#110+#107;
IF[#110GT#109]GOTO20;
G1 X#110;
G3 Y[#101-#105+#108] R[#105-#108];
#111=2;
#110=#110+#107;
IF[#110GT#109]GOTO20;
#111=0;
END1;
;
IF[#111=0]GOTO22;
N20 IF[#111=2]GOTO21;
G1 X#109;
G3 Y[#101-#105+#108] R[#105-#108];
GOTO22;
N21 G1 X#109;
G2 Y[#101+#105-#108] R[#105-#108];
N22 G1 Z[#108+5];
GOTO 40;
;
N30 G0 G19 X[#100-#105+#108] Y#101 Z[#108+5];
G1 Z[-#106+#105];
#109=#101+#104;
#110=#101;
N2WHILE[#110LE#109]DO2;
G2 X[#100+#105-#108] R[#105-#108];
#111=1;
#110=#110+#107;
IF[#110GT#109]GOTO31;
G1 Y#110;
G3 x[#100-#105+#108] R[#105-#108];
#111=2;
#110=#110+#107;
IF[#110GT#109]GOTO31;
#111=0;
END2;
;
IF[#111=0]GOTO33;
N31 IF[#111=2]GOTO32;
G1 X#109;
G3 Y[#101-#105+#108] R[#105-#108];
GOTO33;
N32 G1 X#109;
G2 Y[#101+#105-#108] R[#105-#108];
N33 G1 Z[#108+5];
;
N40 G0 G28 x0 YO Z0;
Ei varmaankaan toimi ihan näin ekalla yrityksellä, mutta ei oo äkkiä mitään vehjettä jolla simulois :D
Moron
Eipä kamalasti oo ollu aikaa syventyä onnistuuko mach:ssa es makrojen pyöritys / if lauseiden ajo ylipäänsä.
Niin noviisi täytyy koodin hakkaamisessa tunnustaa olevansa että ihan pikkasen menee yli hilseen toi koodi :P
Tarkentelen vielä ajatusta/ideaa sekä ittelle että yleisölle, menikös hiekkaranta sun mielestä tolla koodilla tuo ajo segmenttinä vai puoliympyränä?? .
eli tavoitteena tollanen liitteen mukanen ajorata eli ympyrä segmentti jonka leveys on B. Eli jonkin verran leveämpi kuin kappale eli yliajo onnistuu molemmin puolin. 0-piste kappaleen keskellä, aihion pinnassa, eli helppo ottaa hipaisu viivalle piirretylle viivalle ja nollata nollapiste.
Pikku koneella isojen kaarien ajo ei luonnollisestikaan onnistu puoli ympyränä liikealueen riittämättömyyden takia, eli täytyy ajaa segmenttinä, tuolloinhan tuon kaaren aloituspisteen määrittäminen menee laskemiseksi, vai pääseekö tuossa jollain tapaa oikotietä onneen??
Noh ohessa trikonometrian tasolla homma jo toimis, origo 0,0 ratkottuina kaaren alkupiste Xo,Zo kaaren keskipiste X1,Z1, parameteinä R, B ja r ja H
Osanneeko mach jollain tapaa trikonometriset lausekkeet? Aliohjelma?
Puoli ympyrää tekee... se oli helppo ohjelmoida nopeasti :D Näyttäs että fanuc ainakin tukee polaari koordinaatistoa kaikilla ohjelmointi tasoilla, joten periaateessa ei tarvitse laskea kuin oikea kulma, joka on paljon yksinkertaisempi, kuin XYZ koordinaatien laskeminen. http://www.cnccookbook.com/CCCNCGCodeParameterized.htm http://www.cnccookbook.com/CCCNCGCodeIFGOTOWHEN.htm nuo varmaan avaa vähän parametri ohjelmointia. Näköjään if lauseessa ainakin pitäis vaihtaa "="merkki EQ:ksi :P
Jep jep hermo petti koodin kanssa leikkimiseen. old scholl meiningillä xy-tasossa. D25mm tappi 120mm leikkuulla, täytyy sanoa että 320kg penkkijyrsin vähän vaikertaa moisen kanssa vaikka kuin on cnc:n perässä..ei mopolla mahottomia, pitäs monttukone olla 8)