Chování funkcí G41/42/40 - potažmo i G43

yaqwsx
Příspěvky: 137
Registrován: 9. 9. 2011, 1:12

2. 10. 2012, 4:48

Jak jsem tu již kdysi zmiňoval, pro zábavu vyvíjím řídící systém pro CNC frézku. Zatím je vše na dobré cestě. Nyní jsem si však svou blbostí odpálil drivery krokových motorů a než přijdou nové, rozhodl jsem se doimplementovat do mého systému podporu pro kompenzaci nástroje - funkce G40-G43.
Marně si však už celý dnešek lámu hlavu s jejich chováním. Když se podívám do kterékoliv učebnice či příručky, tak je zde popsáno pouze jejich chování až když jsou aktivní - které je si myslím celkem jasné.
Jak se má však stroj chovat při jejich aktivaci/deaktivaci? Uvedu následující příklad (pro zjednodušení ve 2 rozměrech):
Nástroj je na souřadnicích [0;0], aktivuji funkci G42 s poloměrem nástroje 1. Nyní je v programu nastaven rychloposuv na souřadnice [1,1] a následuje funkce G01 [2, 1]. Co stroj udělá? Pojede rychloposuvem na souřadnice [1, 0] a opíše úsečku do bodu [2;0]? Nebo dojede rychloposuvem na souřadnice [1, 1], opíše úsečku do [1;0] a poté opíše úsečku do [1;0]?
Napadá mě další příklad - frézuji kruhovou kapsu. Funkce korekce je již aktivována, a tak po spirále stroj najíždí do materiálu. Ve finální hloubce opíše rovinnou kružnici. Nyní pohne nástrojem pryč od materiálu (do středu kapsy) a korekci nástroje vypne. Dle programu by měl rychloposuvem vyjet nahoru. Co se však stane při vypnutí korekce? "ucukne stroj" na pozici bez korekce nebo upraví souřadnice rychloposuvu?

Předem děkuji za odpověď a objasnění tohoto problému.
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

2. 10. 2012, 8:34

mozna pomuze tohle:
http://www.linuxcnc.org/docs/html/gcode ... mpensation" onclick="window.open(this.href);return false;
yaqwsx
Příspěvky: 137
Registrován: 9. 9. 2011, 1:12

6. 10. 2012, 8:01

Díky za zajímavý text - vypadá to, že celou věc beru příliš komplikovaně - v EMC a co jsem si našel manuály k Sinumeriku a Okumě - si s tím nedělají moc velkou hlavu (ostatně to asi jinak nejde - systém kompenzace na úrovni stroje má hodně svázané ruce a nemůže fungovat 100%). Zkusím tedy na základě toho něco realizovat a snad se už brzo dostanu do prezntovatelné fáze.
yaqwsx
Příspěvky: 137
Registrován: 9. 9. 2011, 1:12

13. 10. 2012, 9:57

Na základě nastudovaných materiálů jsem funkce pro změnu korekce implementoval následovně (je zde vidět změna velikost/směru/vypnutí). Teď už jeno počkat, až mi přijdou drivery motorů a můžu vyzkoušet v praxi:
Přílohy
korekce.png
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

13. 10. 2012, 1:24

Myslim ze tam mas chybu. Nevim co je zacatek a co konec, ale ocividne neobrobis cely tvar od zacatku do konce.
Trojuhelnik kterym pocitas vzdalenost od kontury ke stredu nastroje musi byt pravouhly ke konture. Jinak ti na zacatku/konci
zbyde neobrobena cast. Da se to rict urcite i jinak , ale snad se pochopime.
RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
yaqwsx
Příspěvky: 137
Registrován: 9. 9. 2011, 1:12

13. 10. 2012, 4:42

Nájez do obrysu je na obrázku vlevo nahoře. Jelikož je to dvojrozměrný obrázek, tak tam není vidět, že rychloposuv (červeně) je ve výšce Z5 a poté se zanořuje na Z-1 (kolmo).
Neobrobený materiál tam zůstane - takový růžek. Chování v této situaci byla jedna z věcí, která mi nebyla příliš jasná. Dle EMC je u "lead-in" (nenapadá mě elegantní překlad) pohybu toto chování správné. Ten zoubek neobrobeného materiálu má zůstat - viz obrázek:
Obrázek
Dle slov v dokumentaci EMC se musím chovat jakobych chtěl ubrat meteriál v obdélníku sestrojeným nad konturou - tento obdálník však nesmím překročit - raději ty "růžky" na začátku nechat.
Dle mě je tohle případ, který stroj nemůže rozhodnout - jestli je správné materiál nechat nebo ho ubrat - jelikož nemá dostatek informací o výsledném modelu. Ale jak jsem zkoumal programy generované CAMem s korekcí, tak CAM vždy zařadí do dráhy ještě nějaký lead-in pohyb, který není v materiálu. Tudíž tahle situace by v praxi teoreticky neměla nastat... Program hvězdičky je generovaný z Inkscapu a korekce dopsané ručně. Proto zde tento pohyb není.

EDIT: Ještě jsem si všimnul, že poslední korekce nástroje nemá smysl. Dělal jsem jen příklad, tak jsem si otevřel program a náhodná místa dopsal nějakou korekci.
Uživatelský avatar
Radek-B
Příspěvky: 2137
Registrován: 13. 9. 2006, 11:09
Bydliště: V:Karlovice
Kontaktovat uživatele:

13. 10. 2012, 7:40

Zacatek i konec drahy s korekci je v LINUXCNC blbe spocitany , ta teorie je inzenyrska odysea. Je videt ze v praxi ti hosi nikdy nic moc nedelali.
Nechavat material na zacatku a na koci drahy je nesmysl (skoro bych to dal jako volitelny parametr ke kodu a ne jako bezne chovani), konturu chces obrabet vzdy celou z venku i ze vnitr.
Jedine co dobre umi je pocitat a uplatnit to v kodu.
Byt tebou cerpam spise z informaci k systemum jako je Fanuk anebo Heiden. Spravna funkce je popsana v kazdem programovacim manualu.

RADEK
modernizace/repase CNC strojů a zařízení
automatizace/konstrukce
yaqwsx
Příspěvky: 137
Registrován: 9. 9. 2011, 1:12

14. 10. 2012, 10:06

Trochu jsem si početl v manuálu od Heidena a musím uznat, že je to logičtější. O EMC se snažím celkem opírat - beru ho jako celkem "zaběhnutý systém" - ve většině CAMů je pro něj postprocesor v základu, je to nějaká norma, která je hobby standardem. Ale jak vidno, i zde jsou chyby. Celkem mě to překvapuje - myslel jsem, že díky tomu, že EMC je opensource, funguje nějaká rychlá zpětná vazba z praxe. Zase na druhou stranu, co tak sleduji, tak hobbysti korekci nástroje na stroji nepoužívají a nechávají ji generovat CAMem.
Ještě na druhou stranu hledím, kolik nových G-kódů má Heiden nadefinovaných. V tom aby se čert vyznal.

Trochu teď tápu ještě nad jednou situací - jak by měl vypadat pohyb po oblouku (G02, G03), který je zároveň lead-in pohybem? (tzn. právě na něm byla aplikována korekce) Přemýšlel jsem, že bych zavedl spirálu a jí bych tuto kružnici nahradil. Další možnost, který mě napadla je napojit se po sinusovce (což je výhodné z hlediska dynamiky pohybu). Anebo je vůbec oblouk jako lead-in pohyb přípustný?
Přílohy
korekce2.PNG
Uživatelský avatar
Juro
Příspěvky: 1535
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

22. 2. 2014, 11:06

Tak mam problem tiež. Frezujem dieru do platne , do ktorej pride lozisko. Myslel som že g41-kou si budem pomaličky pridavať na nastroji ,merať a dopasovavať.
Lenže mi to blbne. Ako bolo spominane hore tak ten zaciatok je nekorektny.
Prvy kod robi spiralu:
CHybny.png
Ked som pridal akoby nábeh tak mi robí toto:

Nedotiahnuty.png
Tak som dopisal ešte o polobluk viac , ktory ide samozrejme už naprazno a tak som to nudzovo dofrezoval:

Funkcny.png

Ako to napisať korektne?
rocnik 1976 -stolár, trosicka uz aj strojar.
Uživatelský avatar
filla
Příspěvky: 3523
Registrován: 1. 12. 2013, 12:55
Bydliště: Brno
Kontaktovat uživatele:

23. 2. 2014, 9:31

korekce nastroje jsou urceny spise pro aplikaci v pravouhlem pohybu, u te diry je lepsi v programu menit velikost kruznice
"do řiti se řítíme, ani o tom nevíme.."
Uživatelský avatar
Juro
Příspěvky: 1535
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

23. 2. 2014, 10:47

To nie , to radšej budem frezovať tým tretím spôsobom, že pol obluku pojde na prazdno.
rocnik 1976 -stolár, trosicka uz aj strojar.
Martas
Příspěvky: 79
Registrován: 18. 7. 2011, 6:29

23. 2. 2014, 3:36

Ahoj!
Pokud vím ,tak frézovat díru s průměrovou korekcí snad jde normálně.....
No já to vyzkoušel jenom na Mefi a podle mě tam chybí na konci vyjetí z korekce (G40).
pokud to zapíšu takto, tak mi to funguje.

N T1 D1
N G0 X90 Y76.5
N G1 Z-10
N S1000 F100 M3
N G42 G1 X108.5 Y76.5
N G02 X108.5 I-31.5 J0
N G1 G40 X90 Y76.5
N G0 Z30
M30
Uživatelský avatar
Juro
Příspěvky: 1535
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

24. 2. 2014, 9:50

Nefunguje korektne. Stale tam chyba na začiatku kusok obluku.

Obrazovka.png
rocnik 1976 -stolár, trosicka uz aj strojar.
Uživatelský avatar
dodo_mt
Příspěvky: 181
Registrován: 23. 4. 2008, 5:19
Bydliště: Martin
Kontaktovat uživatele:

26. 2. 2014, 5:50

V riadku G2 X100 I-50 J0 mas chybnu suradnicu J musis tam mat 50 G2 X100 I-50 J50 potom ti to pojde dobre.

Inak odporucam ist radsej subezne teda G41 ak robis tol. otvor budes mat lepsie opracovanie. A este odporucam robit taketo kapsy cez posunutie nuloveho bodu (ak to system umoznuje) potom to mas jednoduchsie na programovanie.

dodo
CNC programátor
CAD: Pro/E 2001 - PTC Creo 6.0
CAM: EdgeCam 7.75 - EdgeCam 2020
Uživatelský avatar
Juro
Příspěvky: 1535
Registrován: 19. 3. 2007, 12:14
Bydliště: Kamanová (Topoľčany)

26. 2. 2014, 9:20

Skusal si to? Zakonite to muselo urobiť toto:


Obrazovka-1.png



Tuning G codu si necham až na potom, ked bude funkcny zaklad.
rocnik 1976 -stolár, trosicka uz aj strojar.
Odpovědět

Zpět na „Ostatní veci kolem programovani“