Witam
Chyba już poruszałem ten temat, ale ciągle wraca do mnie i nie mogę ruszyć z miejsca.
Otóż chodzi mi o zmianę programu wyjściowego dla gwintowania.
Na chwilę obecną postprocek generuje mi tasiemcowy kod z użyciem funkcji
G32 X Z F ....... czyli każdy ruch narzędzia jest osobnym blokiem ( dobieg, gwintowanie, wybieg, powrót)
Mam takie wytyczne żeby skrócić program i korzystać z cyklu Fanuc-a G92
I tu pojawia się problem podczas toczenia gwintów NPT ( stożkowych). Próbowałem zastosować $mom_lathe_thread_lead_i , ale to nie jest ta wartość ( oczekuję tangensa kąta wzniosu stożka czyli różnicy między X początkowym a X końcowym ruchu narzędzia, zależnie od długości gwintowanego odcinka).
Podaję przykład programu , który chcę uzyskać oraz poglądowy rysunek ( skopiowany gdzieś z neta, ale o to mi chodzi właśnie w postprocesorze).
Nasze tokarki mają 8kb pamięci i każdy zaoszczędzony blok na miarę złota jest.
Poza tym G92 jest bardziej czytelny dla operatora i łatwiej o edycję ( dopisanie kilku przejść z ręki np)
tak powinien wyglądać kod według zamieszczonego obrazka
N10 T0101
N20 G97 S1000 M3
N30 G0 X70. Z5. M8
N35 M25
N40 G92 X49.4 Z—32. I—6.166 F1.5
N50 X49.
N60 X48.7
N70 X48.5
N80 X48.3
N90 X48.2
N100 G0 X100. Z100.
N110 M30
przy użyciu funkcji G32 i postprocesora którego obecnie używam jego objętość jest przynajmniej 4 razy większa, czyli jak nic 40 bloków zamiast 10
Z góry dzięki za zainteresowanie problemem
Pozdrawiam
Gwintowanie na tokarce w cyklu
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 302
- Rejestracja: 20 lut 2009, 20:17
- Lokalizacja: -;)
Gwintowanie na tokarce w cyklu
- Załączniki
-
- 92-Taper-Threading-Cycle.jpg (12.73 KiB) Przejrzano 3025 razy
Tagi:
-
- Specjalista poziom 1 (min. 100)
- Posty w temacie: 1
- Posty: 266
- Rejestracja: 25 cze 2009, 23:06
- Lokalizacja: RPZ / DW
Z tymi cyklami toczenia (i frezowania) tak właśnie jest, że jeżeli uda ci się już dostosować postprocesor, to operacja będzie musiała mieć szereg ograniczeń, tzn nie możesz wtedy korzystać ze wszystkich dobrodziejstw, które daje operacja toczenia w NX - w skrócie, operacja jest bardziej rozbudowana niż cykl ma możliwości.
W Twojej sytuacji w ogóle nie używałbym operacji toczenia gwintu, tylko LATHE_CONTROL, a w nim włączał bym swoje UDE.
I właśnie całe toczenie gwintu byłoby zaszyte w tym UDE. Wskazywałoby się w nim potrzebne punkty (np początek i koniec gwintu) i dodałbym też pola do wpisania potrzebnych parametrów ( wielkości warstw skrawanych, dobiegi itd)
Moim zdaniem to rozwiązanie jest bardziej rozsądne, mimo że nie zobaczymy ścieżek w NX ani nie obejrzymy weryfikacji.
Takie UDE może całkiem zgrabnie wyglądać (z ilustracjami, opisami itd)

W Twojej sytuacji w ogóle nie używałbym operacji toczenia gwintu, tylko LATHE_CONTROL, a w nim włączał bym swoje UDE.
I właśnie całe toczenie gwintu byłoby zaszyte w tym UDE. Wskazywałoby się w nim potrzebne punkty (np początek i koniec gwintu) i dodałbym też pola do wpisania potrzebnych parametrów ( wielkości warstw skrawanych, dobiegi itd)
Moim zdaniem to rozwiązanie jest bardziej rozsądne, mimo że nie zobaczymy ścieżek w NX ani nie obejrzymy weryfikacji.
Takie UDE może całkiem zgrabnie wyglądać (z ilustracjami, opisami itd)


-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 302
- Rejestracja: 20 lut 2009, 20:17
- Lokalizacja: -;)
Jest to jakaś myśl , w podobny sposób załączam właśnie bar feeder poprzez UDE.Magneto86 pisze: W Twojej sytuacji w ogóle nie używałbym operacji toczenia gwintu, tylko LATHE_CONTROL, a w nim włączał bym swoje UDE.
Zastanawia mnie tylko dlaczego wartość I jest taka nieadekwatna do rzeczywistej, wygląda na to , że jest przeliczana na odcinek skoku gwintu a nie na całość drogi narzędzia.
Przy kącie gwintu NPT 1.78 stopnia i powiedzmy 20 mm długości gwintu powinno być około 0.8mm,a ja dostaję z postprocesora I-0.15 np . Jak pomnożę to przez skok 2,54 mm to jest to w dużym przybliżeniu ale nie do końca to co powinno być.
Chyba żeby coś pogrzebać w proc PB_LATHE_THREAD_SET a konkretnie przyjrzeć się temu zapisowi
"mom_lathe_thread_lead_i" { eval set [set var] [expr $val * $mom_sys_lathe_i_factor * $mom_sys_lathe_i_double] ?