Optymalizacja ścieżki narzędzia


Autor tematu
SLITER
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 6
Rejestracja: 09 lut 2011, 12:43
Lokalizacja: Kraków

Optymalizacja ścieżki narzędzia

#1

Post napisał: SLITER » 09 lut 2011, 13:13

Witam wszystkich :wink:

Swoją przygodę z CNC zaczynam od pracy przejściowej dot optymalizacji ścieżki narzędzia. Moim celem jest zwiększenie szybkości obróbki poprzez skrócenie czasów międzyoperacyjnych (patrz załącznone zdjęcie).
Chciałbym napisać konwerter, który tak poprawi G-kod by narzędzie w punktach P1 i P2 nie zatrzymywało się, lecz ładnie po tak-jakby splajnie (jak na rysunku 2)) wchodziło w operację wiercenia drugiego otworu.

Obrazek

Od dwóch dni przeszukuję to forum w poszukiwaniu wskazówek jak to się za to zabrać jednak nic nie znalazłem. Jako dane wejściowe mam maksymalne wartości prędkości, przysp i zrywu dla każdej osi maszyny, a także posuw roboczy wiercenia. Na wyjściu - chce uzyskać zoptymalizowaną ścieżkę narzędzia.

Bardzo proszę o wszelką pomoc i wskazówki.
Pozdrawiam :!:



Tagi:

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 7973
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

Re: Optymalizacja ścieżki narzędzia

#2

Post napisał: WZÓR » 09 lut 2011, 13:27

SLITER pisze:...Chciałbym napisać konwerter, który tak poprawi G-kod by narzędzie w punktach P1 i P2 nie zatrzymywało się, ...
Jeśli chodzi o ścisłość , to w tych punktach narzędzie nie zatrzymuje się , lecz zmienia kierunek. :wink:
Obawiam się , że Twój zamiar nie ma sensu.
Prześledź dokładnie cykle wiercenia , gwintowania (np.) i zrozumiesz ,że najkrótszą drogą do następnego punktu operacji (np. wiercenia) jest ruch po linii prostej , czyli G00 , a nie po łuku.
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
SLITER
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 6
Rejestracja: 09 lut 2011, 12:43
Lokalizacja: Kraków

#3

Post napisał: SLITER » 09 lut 2011, 13:50

WZÓR, dzięki za odpowiedź. Ale nie do końca się z Tobą zgodzę!

Przed punktem P1 porusza się tylko oś Z, która wyhamowuje praktycznie do 0 w P1, gdzie dopiero zaczyna się rozpędzać oś - powiedzmy - X. Ja chce rozpocząć rozpędzanie osi X odpowiednio wcześniej, już podczas wyhamowywania osi Z do drugiej fazy ruchu jaką jest przejazd z punktu P1 do P2. W ten sposób uniknę szarpań maszyną wynikających z wyhamowywania jej i na 100% skrócę czas przejazdu przy zachowaniu takich samych wartości V, a i zrywu.

Jasna sprawa że najszybciej jechać po prostej, ale najpierw trzeba wyjechać na wysokość bezpieczną :wink:


radeko
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 302
Rejestracja: 20 lut 2009, 20:17
Lokalizacja: -;)

#4

Post napisał: radeko » 09 lut 2011, 18:07

Zwróć uwagę na to że interpolacja splajnem (o ile w ogóle Ci się to uda ) dosypie mnóstwo niepotrzebnych bloków, które sterownik będzie musiał przeliczać i realizować .....
Podtrzymuję zdanie kolegi WZÓR to nie ma najmniejszego sensu ..... A swoją drogą operator po prostu zgłupieje jak mu sypniesz kilkadziesiąt bloków zamiast normalnego cyklu.

Jeżeli już masz zamiar optymalizować obróbkę zastanów się nad przyspieszeniem posuwów na dobiegach,wybiegach, przeliczeniem posuwu przy odpowiedniej szerokości i głębokości skrawania itd.
Polecam program VERICUT .... tam sobie zobaczysz jak taka pełna optymalizacja działa i kiedy można podgonić ...

Aha i przypomniałem sobie że nawet tak profesjonalny software jak VERICUT nie optymalizuje cykli wiercenia , bo to nie ma po prostu sensu .....


Autor tematu
SLITER
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 6
Rejestracja: 09 lut 2011, 12:43
Lokalizacja: Kraków

#5

Post napisał: SLITER » 09 lut 2011, 20:12

Widziałem ostatnio maszynę firmy Bacci (włoskie 5ax do drewna za 150 kEur!). Programista mówił, że programy piszą w AlphaCAMie, po czym importują go do programu - bodajże - Pitagora, i tam jest on optymalizowany. Z tego co mi wiadomo, optymalizacja polega na automatycznym wygładzeniu ścieżek międzyoperacyjnych, a linie programu zamiast X,Y,Z,A,C i posuw podają pozycję X,Y,Z,A,C i stałą czasową chyba 0.06 s (czyli maszyna ma osiągnąć to położenie w tym czasie). Program zamiast - powiedzmy - 300 linii G-kodu ma 3000 linijek, ale maszyna zasuwa tak jak żaden CAM by tego nie wymyślił!
Czytałem posty www. Kimla.pl i zdaje się że on ma coś podobnego z tą różnicą, że jego ścieżka jest generowana w czasie rzeczywistym a tu - generowana do pliku i dopiero wysyłana na sterownik (Osai, zdaje się).

Dlatego drążę ten temat. Widziałem na własne oczy różnicę w obróbce między programem przed i po optymalizacji - to jakbyś widział auto prowadzone przez kursanta nauki jazdy a później przez Stiga :mrgreen:

Co do optymalizacji wiercenia - jeżeli masz kilka(naście) otworów do zrobienia, to zaprogramowanie optymalnych przejść między kolejnymi otworami może Ci zaoszczędzić naprawdę KUPĘ czasu.


radeko
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 302
Rejestracja: 20 lut 2009, 20:17
Lokalizacja: -;)

#6

Post napisał: radeko » 09 lut 2011, 20:44

Z uporem maniaka będę obstawał że najkrótszą drogą między otworami jest interpolacja liniowa G0 ... a czy ten Pitagor optymalizuje cykle wiercenia ? Raczej mało prawdopodobne, skoro Vericut tego nie czuje nawet .....
Niemniej powodzenia :)

Awatar użytkownika

WZÓR
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 7973
Rejestracja: 01 sty 2009, 20:01
Lokalizacja: Oława

#7

Post napisał: WZÓR » 10 lut 2011, 10:56

SLITER pisze:...Program zamiast - powiedzmy - 300 linii G-kodu ma 3000 linijek, ale maszyna zasuwa tak jak żaden CAM by tego nie wymyślił!...
SLITER- poczytaj co to jest (np.) TrueMill , HSM.
:arrow: http://www.narzedziownie.pl/?t=s&s=1&i=598
....Przed punktem P1 porusza się tylko oś Z, która wyhamowuje praktycznie do 0 w P1, gdzie dopiero zaczyna się rozpędzać oś - powiedzmy - X. Ja chce rozpocząć rozpędzanie osi X odpowiednio wcześniej, już podczas wyhamowywania osi Z do drugiej fazy ruchu jaką jest przejazd z punktu P1 do P2. W ten sposób uniknę szarpań maszyną wynikających z wyhamowywania jej i na 100% skrócę czas przejazdu przy zachowaniu takich samych wartości V, a i zrywu. ...
.... widzę , że kolega nie zna podstawowych zasad programowania z G- kodów.

przykład;
...
G0 Z25.
X0 Y0
G82 X0 Y0 Z-30. R2.5 F240.00
X20. R2.5
X40. R2.5
X60. R2.5
X80. R2.5
G80
...

SLITER - jak chcesz uprościć powyższy zapis .... to życzę powodzenia. :cool:
radeko pisze: ... A swoją drogą operator po prostu zgłupieje jak mu sypniesz kilkadziesiąt bloków zamiast normalnego cyklu....
... operator nie , ale maszyna na pewno. :mrgreen:
Pomagam w:
HAAS - frezarki, tokarki


Autor tematu
SLITER
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 4
Posty: 6
Rejestracja: 09 lut 2011, 12:43
Lokalizacja: Kraków

#8

Post napisał: SLITER » 10 lut 2011, 12:10

Kolego WZÓR ja naprawdę wiem co to znaczy HSM, ale Ty cały czas nie rozumiesz jakie ma być zadanie programu o którym myślę! HSM dotyczy OBRÓBKI, a optymalizacja ma dotyczyć ścieżek pomiędzy kolejnymi operacjami obróbczymi.
Jak się piszę g-kody, tym bardziej z ręki, wiem. Ja dla Ciebie proponuje takie zadanie domowe - napisz taki "optymalizacyjny g-kod" kiedy masz do dyspozycji 5 osi interpolowanych, a kolejne otwory chociażby do wiercenia nie leżą na wspólnej płaszczyźnie i nie są do siebie równoległe. Przykłady takich przejść masz na filmie:

:arrow:

radeko, oczywiście - najkrótszą drogą jest zawsze linia prosta. Ale powiedz mi - czy kierowcy F1 na ciasnych zakrętach 90 deg starają się skręcić po jak najmniejszym promieniu czy ścinają zakręt by ten promień skrętu był jak największy, a dzięki temu prędkość na wyjściu jak największa? Okazuje się czasami że najlepszy czas przejazdu uzyskuję się nie przez maksymalne skrócenie drogi, a uzyskanie jak największej prędkości na jak najkrótszej drodze. Zrozumienie tych podstaw fizyki ruchu daje nam pole do dalszej rozmowy.
Pozdrawiam!


radeko
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 302
Rejestracja: 20 lut 2009, 20:17
Lokalizacja: -;)

#9

Post napisał: radeko » 10 lut 2011, 15:23

No tak , ale to są akademickie dyskusje :)
Ja podpieram się naprawdę profesjonalnym softem VERICUT , który właśnie służy do optymalizacji ścieżek narzędzia i naprawdę to co piszesz ma sens tylko przy frezowaniu zgrubnym ( cavity milling ) ... niemniej jak do tej pory panowie z firmy Cgtech nie opanowali optymalizowania cykli wiercenia, jak myślisz dlaczego ? :)

A swoją drogą to naprawdę niezłe wyzwanie jeżeli chcesz splinem interpolować, a nawet napisać jakiś soft samodzielnie.


krank1
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 1
Posty: 141
Rejestracja: 30 cze 2006, 23:37
Lokalizacja: Piątek
Kontakt:

#10

Post napisał: krank1 » 12 lut 2011, 15:04

SLITER ma 100% racji :)
Nie chodzi mu o łatwiejszy zapis kodu tylko o szybka pracę maszyny. Jeśli kod NC będzie miał kilometr długości a obrabiarka to przełknie to niech sobie ma.

Problem w tym że G0 to interpolacja liniowa z maksymalną prędkością maszyny i nie wciśnie się tam jazdy po łukach. To co SLITER zamieścił na obrazku będzie słuszne tylko wówczas gdy interpolacja w trybie roboczym będzie z posuwem takim jak G0 i cały przejazd będzie właśnie w trybie roboczym.

Wprowadzenie łuków na narożach ma tą zaletę że obrabiarka hamując w osi Z rozpędza się już w XY, a bez nich musi najpierw wyhamować i potem dopiero przechodzi do następnego ruchu.

Podsumowując: Twój pomysł przyspieszenia przejazdów jest słuszny pod warunkiem że maszyna posuwy robocze ma takie jak posuwy przejazdów. Chyba że sterownik podczas G0 doczytuje wektory do przodu i łągodzi ścieżkę wówczas taki łuczek możesz interpolować na punktach w trybie G0. Wszystko zależy od sterowania.
Pozdrawiam
wojtek

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Ogólne dyskusje na temat oprogramowania CAD/CAM”