Wykrywanie długości narzędzia na zbazowanym czujniku

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC
Awatar użytkownika

Autor tematu
suchy2805
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 56
Rejestracja: 23 maja 2011, 09:54
Lokalizacja: legnica

Wykrywanie długości narzędzia na zbazowanym czujniku

#1

Post napisał: suchy2805 » 17 sie 2011, 12:35

Witam!
Wiem, że na forum było już pełno tematów odnośnie długości narzędzia jednak mój jest dość specyficzny.

Otóż potrzebowałbym napisać makro do wyliczania długości narzędzia za pomocą czujnika umieszczonego na brzegu stołu roboczego (w stałej niezmiennej pozycji).

Działanie polegało by na tym by w czasie pracy programu wywołanie zmiany narzędzia (m6) uruchamiało przejazd narzędzia w jedno konkretne miejsce, które określane jest przez krańcówki bazowania w osiach X, Y i Z (narzędzie wysunięte maksymalnie do góry) i tam dopiero następował zjazd osi Z do czujnika i zapisanie długości narzędzia (wyzerowanie osi Z bez zmiany wartości X i Y). Następnie narzędzie wracałoby do pozycji w której został wywołane polecenie pobrania długości narzędzia.

Ploter ma układ kartezjański gdzie oś Z do góry ma wartość dodatnie a w dół ujemne.

Czy ktoś mógłby mnie naprowadzić na właściwy tor?



Tagi:

Awatar użytkownika

k-m-r1
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1417
Rejestracja: 23 cze 2008, 10:38
Lokalizacja: OOL lub DW
Kontakt:

#2

Post napisał: k-m-r1 » 17 sie 2011, 23:58

Znasz pisanie makr? czy chcesz plik i go wkleic??

Ten twój opis jest troche nie kompletny
kiedy zmieniasz narzedzie
po zmianie os ma zjechac dotknąc czujnika i zapisac to jako z0
krancówki to chyba nie najlepszy pomysł
bo gdy maszyna sie gdzies przesuneła to niestety po zbazowaniu całosc zmieni pozycje


M6Start.m1s
Kod:
tool = GetSelectedTool()
SetCurrentTool( tool ) ; oryginalna częsc z macha
Code "g0"
Code "G53 z0" ; wybór ruchu i ruch do Z0 maszyny
While IsMoving()
Wend
Code "G28" ; ruch do pozycji zerowych wszystkich osi
While IsMoving()
Wend
[b]MACH3 cnc[/b]Tworzenie Makr do palników magazynków THC OHC inne[b]EKRANY dla firm producentów maszyn[/b] Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 708 196 Tomek Komor [email protected]

Awatar użytkownika

Autor tematu
suchy2805
Sympatyk forum poziom 2 (min. 50)
Sympatyk forum poziom 2 (min. 50)
Posty w temacie: 2
Posty: 56
Rejestracja: 23 maja 2011, 09:54
Lokalizacja: legnica

#3

Post napisał: suchy2805 » 18 sie 2011, 09:07

1. Jestem jeszcze laikiem jeśli chodzi o pisanie makr
2. Jeśli bym dostał plik to byłbym bardzo wdzięczny:)

Wymiana narzędzia ma nastąpić ręcznie.
Tzn ręcznie zmieniam narzędzie, uruchamiam polecenie zmiany narzędzia (m6) i w tym momencie następuje bazowanie z pobraniem długości narzędzia.
Natomiast zmianie ulega tylko wartość osi Z.
Moim zdaniem określenie gdzie znajduje się czujnik długości musi być ustalone poprzez krańcówki (nie poprzez wartość np. X10.000 Y15.000), ponieważ często zmieniamy miejsce początkowe układu współrzędnych (raz na rogu stołu, innym razem na środku stołu).

Jeśli chodzi o rozjechanie się maszyny (wartości aktualnych współrzędnych) to myślę, że nie będzie z tym problemu bo używam serwo.
Najwyżej może gubić impulsy na linii PC->Servo


Czy w takim razie ten kod który otrzymałem jest dalej aktualny?
Dziękuję za pomoc

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”