Głowica rewolwerowa VDI :) komponent
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 2
- Posty: 101
- Rejestracja: 10 sie 2004, 23:50
- Lokalizacja: Grudzi?dz
Koledzy, dziękuje za zainteresowanie, prawie wszyscy macie rację. A Kolega ma555rek - dotknął chyba istoty problemu. Jeszcze parę dodatkowych informacji:
Czujniki robią za enkoder absolutny - dla pewności powinny być 4 (a właściwie 5 bo nie mam czujnika przy ryglu) ale nie miałem więcej czujników.
Nie ma żadnego zera, nie ma żadnej bazy - głowica jest dwukierunkowa, obraca się bezpośrednio na zadaną pozycję, bez liczenia 'mijanych' numerów gniazd. Dla tego użyłem silnika krokowego (oraz jako 'sprzęgła' bezpieczeństwa). Jest on skonfigurowany jako oś liniowa.
Program liczy ile kroków (wielokrotność jednej odległości, czyli np. 3x100 kroków lub 2x100 kroków) ma zrobić i w jakim kierunku. I to działa - wystarczy że przy pierwszym wywołaniu narzędzia - potwierdzę - ten numer, na którym aktualnie głowica się znajduje.
Ale jak napisał Kolega 251mz, to mógłby być silnik DC - i taka wersja ma gotowy komponent na forum LinuxCNC. Jest też wersja z krokowcem bez czujników. Dlatego mój komponent posklejałem z tych dwóch.
Przy okazji, Kolega Kamar poruszył poważny problem - numer narzędzia jest jednocześnie numerem gniazda. Czyli mam tylko osiem narzędzi... A przecież w tabeli jest miejsce na wiele więcej! Ale ja nie wiem jak to zrobic - nie rozgryzłem tego jeszcze. Coś tam jest na forum ale to mocno skomplikowane. Dlatego proszę Kolegę o podpowiedź, jak rozdzielić numer gniazda od numeru narzędzia.
W komponencie mam jako żądany numer narzędzia:
' pin in s32 toolnumber "Receives Tx data from M6 (tool number requested) Only allows 1-6"; (akurat umnie jest 8 ).
No i jest tu tylko Tx - czyli jedna liczba. A Koledzy widzę piszą o pozycji np. 1.0.1 - jak to zrobić?
Czujniki robią za enkoder absolutny - dla pewności powinny być 4 (a właściwie 5 bo nie mam czujnika przy ryglu) ale nie miałem więcej czujników.
Nie ma żadnego zera, nie ma żadnej bazy - głowica jest dwukierunkowa, obraca się bezpośrednio na zadaną pozycję, bez liczenia 'mijanych' numerów gniazd. Dla tego użyłem silnika krokowego (oraz jako 'sprzęgła' bezpieczeństwa). Jest on skonfigurowany jako oś liniowa.
Program liczy ile kroków (wielokrotność jednej odległości, czyli np. 3x100 kroków lub 2x100 kroków) ma zrobić i w jakim kierunku. I to działa - wystarczy że przy pierwszym wywołaniu narzędzia - potwierdzę - ten numer, na którym aktualnie głowica się znajduje.
Ale jak napisał Kolega 251mz, to mógłby być silnik DC - i taka wersja ma gotowy komponent na forum LinuxCNC. Jest też wersja z krokowcem bez czujników. Dlatego mój komponent posklejałem z tych dwóch.
Przy okazji, Kolega Kamar poruszył poważny problem - numer narzędzia jest jednocześnie numerem gniazda. Czyli mam tylko osiem narzędzi... A przecież w tabeli jest miejsce na wiele więcej! Ale ja nie wiem jak to zrobic - nie rozgryzłem tego jeszcze. Coś tam jest na forum ale to mocno skomplikowane. Dlatego proszę Kolegę o podpowiedź, jak rozdzielić numer gniazda od numeru narzędzia.
W komponencie mam jako żądany numer narzędzia:
' pin in s32 toolnumber "Receives Tx data from M6 (tool number requested) Only allows 1-6"; (akurat umnie jest 8 ).
No i jest tu tylko Tx - czyli jedna liczba. A Koledzy widzę piszą o pozycji np. 1.0.1 - jak to zrobić?
Tagi:
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 9
- Posty: 1563
- Rejestracja: 09 lip 2012, 20:34
- Lokalizacja: Poznań
Zeby uzyc wieksza liczbe narzedzi niz liczba gniazd, musisz te narzedzia przemocowac. I albo musisz stworzyc nowa tabele narzedzi, lub wykorzystac istniejaca jesli mocowanie nie zmienia geometrii narzedzia. Zazwyczaj sterowniki pozwalaja na utworzenie wielu tabel narzedzi zamiast jednej dlugiej.
Piszac 1.0.1 koledzy mieli na mysli zapis binarny narzedzia o numerze 5.
Piszac 1.0.1 koledzy mieli na mysli zapis binarny narzedzia o numerze 5.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1214
- Rejestracja: 15 paź 2007, 00:45
- Lokalizacja: nie ważne
nie ma takiej potrzebytschaya pisze:ak rozdzielić numer gniazda od numeru narzędzia.
Wywołujesz gniazdo na dany nr a korekty wymiarowe wywołujewsz dla danego narzędzia. To są osobne sprawy.
Po to Gkod wprowadza mozliwość ustawienia Gxx i Txx aby rozdzielnie się posługiwać licznikami programu a nie na jedno kopyto "bo tylko czubek jednego noża jest ważny - nawet bazy nie potrzeba"
Pasjonat
-
- Lider FORUM (min. 2000)
- Posty w temacie: 17
- Posty: 16281
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
No to po kolei : 
Rewolwer
Głowica jako oś obrotowa C z limitem -400 :400 , dwie czujki na siłowniku rygla.
Przerzut robi taki subik
Zmiana przypisana rownież pod klawisze Ctrl+n
Początkowe ustawianie tabeli nerzędzi;
Wpisujemy wszystkie posiadane oprawki z offsetami Z0 X0
Nozem nr 1 (prosty , zewnętrzny) zataczam czoło i kawałek zewnętrznej na jakimś materiale. Mierzymy i wpisujemy średnicę i 0 na czole.
Następnymi nożami dojezdzamy na kontakt i w tabelę wpisujemy odczytane offsety (w x polowe różnicy)
I w ten sposob robiąć cokolwiek i jakimkolwiek narzedziem ofsetujac go mamy ustawione wszyskie oprawki na pólce.
Oczywiście przy pierwszej robocie będzie potrzebna niewielka korekta (szczególnie wytaczaków ) o błąd kontaktu. Bełtanie w układach współrzędnych wczesniej czy póżniej skończy się dwonem.

Rewolwer
Głowica jako oś obrotowa C z limitem -400 :400 , dwie czujki na siłowniku rygla.
Przerzut robi taki subik
Kod: Zaznacz cały
o<zmiana> sub
#<tool> = #1
#<nr> = #2
(gniazdo 0)
o100 if [#<tool> eq 0]
m6 t[#<nr>] g43
o100 else
(pozostale gniazda)
m6 t[#<nr>] g43
m64 p0
m66 P0 L1 Q1
o101 if[#5399 eq -1]
(msg, Błąd otwarcia głowicy)
m30
o101 endif
g0 c[[#<tool> - 1] * 45]
m65 p0
m66 P0 L2 Q1
o102 if[#5399 eq -1]
(msg, Błąd zamknięcia głowicy)
m30
o102 endif
o100 endif
o<zmiana> endsub
Początkowe ustawianie tabeli nerzędzi;
Wpisujemy wszystkie posiadane oprawki z offsetami Z0 X0
Nozem nr 1 (prosty , zewnętrzny) zataczam czoło i kawałek zewnętrznej na jakimś materiale. Mierzymy i wpisujemy średnicę i 0 na czole.
Następnymi nożami dojezdzamy na kontakt i w tabelę wpisujemy odczytane offsety (w x polowe różnicy)
I w ten sposob robiąć cokolwiek i jakimkolwiek narzedziem ofsetujac go mamy ustawione wszyskie oprawki na pólce.
Oczywiście przy pierwszej robocie będzie potrzebna niewielka korekta (szczególnie wytaczaków ) o błąd kontaktu. Bełtanie w układach współrzędnych wczesniej czy póżniej skończy się dwonem.
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 403
- Rejestracja: 06 mar 2012, 13:25
- Lokalizacja: Częstochowa
Już kiedyś tego suba sprawdzałem i wiem, że działa – jako sub – ale, czy zrobiony jest następny krok, by wpisanie w MDI np. „T3 M6” wywoływało adekwatną reakcję głowicy.
Jeśli będzie działać w MDI, to będzie działać w każdym wygenerowanym CAM-em kodzie (bez zbędnych kombinacji) – mimo iż tokarka to prosta maszyna, jednak często się przydaje.
Konfiguracja zmieniarek jest chyba bardziej pasjonującym zajęciem niż ustawianie osi, bo mogą być bardzo różne konstrukcyjnie i do tego każdą można różnie zaprogramować – ale, zawsze trzeba dążyć do tego by działała na standardowy kod „Tx M6”.
Ooo – i jeszcze zabawa z numeracją gniazd i narzędzi – jeśli potrzebna.
Pozdrawiam
Jeśli będzie działać w MDI, to będzie działać w każdym wygenerowanym CAM-em kodzie (bez zbędnych kombinacji) – mimo iż tokarka to prosta maszyna, jednak często się przydaje.
Konfiguracja zmieniarek jest chyba bardziej pasjonującym zajęciem niż ustawianie osi, bo mogą być bardzo różne konstrukcyjnie i do tego każdą można różnie zaprogramować – ale, zawsze trzeba dążyć do tego by działała na standardowy kod „Tx M6”.
Ooo – i jeszcze zabawa z numeracją gniazd i narzędzi – jeśli potrzebna.
Pozdrawiam
-
- Lider FORUM (min. 2000)
- Posty w temacie: 17
- Posty: 16281
- Rejestracja: 18 wrz 2010, 06:17
- Lokalizacja: Kozienice
- Kontakt:
Zas usiłujesz mnie wciągnąć w teoretyczne dywagacjehecza pisze:J.
Jeśli będzie działać w MDI, to będzie działać w każdym wygenerowanym CAM-em kodzie (bez zbędnych kombinacji) – mimo iż tokarka to prosta maszyna, jednak często się przydaje.
Pozdrawiam

-
- ELITA FORUM (min. 1000)
- Posty w temacie: 9
- Posty: 1563
- Rejestracja: 09 lip 2012, 20:34
- Lokalizacja: Poznań
Przy uzyciu cama robi sie to troche inaczej. A przynajmniej ja tak robie. W Camie mozna zdefiniowac kilka magazynow. Zalezy jaka robota, taki magazyn wybieram.
Potem po prostu w maszynie wybieram tabele korekcji odpowiednia do wybranego magazynu i to wszystko. W kodzie nie uzywam nigdy nic wiecj niz Tx M6 i wszystko hula.
Przy nietypowych pracach, gdzie uzyc trzeba inny zestaw narzedzi niz zwykle po prostu uzbrajam magazyn wg listy narzedzi wygenerowanej przez cama. I to najlepiej dokladnie w tej kolejnosci bo to przyspiesza zmiane narzedzia (zalezy od budowy magazynu). Wtedy niestety musze wpisac do tabeli korekcji wartosci odpowiadajace narzedziom. Ale nie musze nic mierzyc czy ustawiac. Parametry poszczegolnych narzedzi sie nie zmieniaja tylko trafiaja na inna pozycje.
Potem po prostu w maszynie wybieram tabele korekcji odpowiednia do wybranego magazynu i to wszystko. W kodzie nie uzywam nigdy nic wiecj niz Tx M6 i wszystko hula.
Przy nietypowych pracach, gdzie uzyc trzeba inny zestaw narzedzi niz zwykle po prostu uzbrajam magazyn wg listy narzedzi wygenerowanej przez cama. I to najlepiej dokladnie w tej kolejnosci bo to przyspiesza zmiane narzedzia (zalezy od budowy magazynu). Wtedy niestety musze wpisac do tabeli korekcji wartosci odpowiadajace narzedziom. Ale nie musze nic mierzyc czy ustawiac. Parametry poszczegolnych narzedzi sie nie zmieniaja tylko trafiaja na inna pozycje.