macro wymiany narzędzia
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 316
- Rejestracja: 10 cze 2007, 15:09
- Lokalizacja: Ostrów
macro wymiany narzędzia
Witam bardzo proszę o pomoc z tym oto macrem. Wszystko ładnie chula aż do momentu kiedy jest wpisywana korekta długości narzędzia maszyna poprawnie liczy korektę długości
w jednym tylko przypadku gdy brana jest pod uwagę tylko wartość z1 jeśli podam w aby robił korektę od wyliczonej wartości z2 wychodzą jaja maszyna po pomiarze jedzie do pozycji zerowej osi z i jeżeli różnica w długości narzędzia wynosi 15mm i kliknę na przycisk go to zero to maszyna zamiast jechać na dół jedzie do góry
macro wpisuje na odwrót wartości przynajmniej tak mi się wydaje
bardzo proszę o pomoc bo mi już ręce opadają.
zero maszyny mam u góry
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 ( mozna tez przez G28 G91 Z0 )
While IsMoving()
Wend
Code "G28" ; ruch do pozycji zerowych wszystkich osi dla latwiejszej wymiany narzędzi u mnie
While IsMoving()
Wend
M6End.m1s
Kod:
dim Z,z1,z2,z3
dim tool ; pare zmiennych
z = 70.72
z3 = GetDRO(2) ; pobranie pozycji osi Z
z3 = z3 - 70
Code "g0"
Code "g53 x1.56 y-31.84" ; ruch do pozycji XY czujnika dlugosci narzędzi
While IsMoving()
Wend ; pętla, która czeka az maszyna dojedzie
Code "G31 Z" & z3 & "f600" ; funkcja która bedzie jechała osią Z w dół aż do napotkania sygnału "DIGITIZE" ale nie wiecej niz do wartości Z3 wyliczonej wyzej
While IsMoving()
Wend
Z1 = GetVar( 2002 ) ' pobranie osi Z maszyny , ta metoda jest dokladniejsza poniewaz podczas zderzenia jest zapamietywana wartosc i nie zalezy od predkosci hamowania silnika po zatrzymaniu
Z2 = Z+z1
message (z2) ; wyswietlenie wartosci na dolnym pasku wiadomosci
Code "G0"
Code "G53 z0"
While IsMoving() ; podjechanie do góry Z maszyny Z0
Wend
call SetOEMDRO(42,z2) jesli tutaj zamiast z2 wpisze z1 to jest git ale wtedy jak ustawie zero materiału to masztna nie bierze tego pod uwagę
Tool = GetDRO( 24 ) ; wpisanie wyliczonej wartosci do rejestru dlugosci narzedzia
Code "G43 H"&Tool ; i wywolanie korekty dla tego narzedzia
Code "G53 z-1"
While IsMoving()
Wend
Code "G53 z0"
While IsMoving()
Wend
w jednym tylko przypadku gdy brana jest pod uwagę tylko wartość z1 jeśli podam w aby robił korektę od wyliczonej wartości z2 wychodzą jaja maszyna po pomiarze jedzie do pozycji zerowej osi z i jeżeli różnica w długości narzędzia wynosi 15mm i kliknę na przycisk go to zero to maszyna zamiast jechać na dół jedzie do góry
macro wpisuje na odwrót wartości przynajmniej tak mi się wydaje
bardzo proszę o pomoc bo mi już ręce opadają.
zero maszyny mam u góry
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 ( mozna tez przez G28 G91 Z0 )
While IsMoving()
Wend
Code "G28" ; ruch do pozycji zerowych wszystkich osi dla latwiejszej wymiany narzędzi u mnie
While IsMoving()
Wend
M6End.m1s
Kod:
dim Z,z1,z2,z3
dim tool ; pare zmiennych
z = 70.72
z3 = GetDRO(2) ; pobranie pozycji osi Z
z3 = z3 - 70
Code "g0"
Code "g53 x1.56 y-31.84" ; ruch do pozycji XY czujnika dlugosci narzędzi
While IsMoving()
Wend ; pętla, która czeka az maszyna dojedzie
Code "G31 Z" & z3 & "f600" ; funkcja która bedzie jechała osią Z w dół aż do napotkania sygnału "DIGITIZE" ale nie wiecej niz do wartości Z3 wyliczonej wyzej
While IsMoving()
Wend
Z1 = GetVar( 2002 ) ' pobranie osi Z maszyny , ta metoda jest dokladniejsza poniewaz podczas zderzenia jest zapamietywana wartosc i nie zalezy od predkosci hamowania silnika po zatrzymaniu
Z2 = Z+z1
message (z2) ; wyswietlenie wartosci na dolnym pasku wiadomosci
Code "G0"
Code "G53 z0"
While IsMoving() ; podjechanie do góry Z maszyny Z0
Wend
call SetOEMDRO(42,z2) jesli tutaj zamiast z2 wpisze z1 to jest git ale wtedy jak ustawie zero materiału to masztna nie bierze tego pod uwagę
Tool = GetDRO( 24 ) ; wpisanie wyliczonej wartosci do rejestru dlugosci narzedzia
Code "G43 H"&Tool ; i wywolanie korekty dla tego narzedzia
Code "G53 z-1"
While IsMoving()
Wend
Code "G53 z0"
While IsMoving()
Wend
Ostatnio zmieniony 14 maja 2010, 20:36 przez kamil1986, łącznie zmieniany 1 raz.
Tagi:
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 5
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
a kolega analizował krok po kroku?
bo na moje oko raz pracujesz w jednych współrzędnych raz w innych
zerknij na to GetOEMDRO (85) 'get ZPos Machine i z3 = GetDRO(2) ; pobranie pozycji osi Z
bo na moje oko raz pracujesz w jednych współrzędnych raz w innych
zerknij na to GetOEMDRO (85) 'get ZPos Machine i z3 = GetDRO(2) ; pobranie pozycji osi Z
[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]
-
Autor tematu - Specjalista poziom 2 (min. 300)
- Posty w temacie: 3
- Posty: 316
- Rejestracja: 10 cze 2007, 15:09
- Lokalizacja: Ostrów
Czy mógł by mi kolega to trochę bardziej łopatologicznie wytłumaczyć bo nie bardzo wiem o co chodzi macro znalazłem na forum i siedzę nad nim już kilka dni i kombinuje
z3 = GetDRO(2)to pobranie aktualnej pozycji osi proszę mnie poprawić jesli się mylę z
a GetOEMDRO (85) co oznacza? Może mnie kolega naprowadzić jak poprawić to macro aby działało poprawnie
z3 = GetDRO(2)to pobranie aktualnej pozycji osi proszę mnie poprawić jesli się mylę z
a GetOEMDRO (85) co oznacza? Może mnie kolega naprowadzić jak poprawić to macro aby działało poprawnie
Ostatnio zmieniony 14 maja 2010, 20:37 przez kamil1986, łącznie zmieniany 1 raz.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 5
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
251mz, to tylko nazwa nikt nie jest tu fahowcem piszmy jasno by każdy wiedział o co chodzi
M6End.m1s
Kod:
dim Z,z1,z2,z3
dim tool ; pare zmiennych
z = 70.72 do czego ta czesc
z3 = GetDRO(2) ; pobranie pozycji osi Z
z3 = z3 - 70 do czego te wyliczenia
Code "g0"
Code "g53 x1.56 y-31.84" ; ruch do pozycji XY czujnika dlugosci narzędzi
While IsMoving()
Wend ; pętla, która czeka az maszyna dojedzie
Code "G31 Z" & z3 & "f600" ; funkcja która bedzie jechała osią Z w dół aż do napotkania sygnału "DIGITIZE" ale nie wiecej niz do wartości Z3 wyliczonej wyzej
While IsMoving()
Wend
Z1 = GetVar( 2002 ) ' pobranie osi Z maszyny , ta metoda jest dokladniejsza poniewaz podczas zderzenia jest zapamietywana wartosc i nie zalezy od predkosci hamowania silnika po zatrzymaniu
Z2 = Z+z1 to działanie co ma na celu
message (z2) ; wyswietlenie wartosci na dolnym pasku wiadomosci pominoł bym to
Code "G0"
Code "G53 z0"
While IsMoving() ; podjechanie do góry Z maszyny Z0
Wend
call SetOEMDRO(42,z2) jesli tutaj zamiast z2 wpisze z1 to jest git ale wtedy jak ustawie zero materiału to masztna nie bierze tego pod uwagę
Tool = GetDRO( 24 ) ; wpisanie wyliczonej wartosci do rejestru dlugosci narzedzia
Code "G43 H"&Tool ; i wywolanie korekty dla tego narzedzia
Code "G53 z-1" tego nie rozumiem
While IsMoving()
Wend
Code "G53 z0"
While IsMoving()
Wend
M6End.m1s
Kod:
dim Z,z1,z2,z3
dim tool ; pare zmiennych
z = 70.72 do czego ta czesc
z3 = GetDRO(2) ; pobranie pozycji osi Z
z3 = z3 - 70 do czego te wyliczenia
Code "g0"
Code "g53 x1.56 y-31.84" ; ruch do pozycji XY czujnika dlugosci narzędzi
While IsMoving()
Wend ; pętla, która czeka az maszyna dojedzie
Code "G31 Z" & z3 & "f600" ; funkcja która bedzie jechała osią Z w dół aż do napotkania sygnału "DIGITIZE" ale nie wiecej niz do wartości Z3 wyliczonej wyzej
While IsMoving()
Wend
Z1 = GetVar( 2002 ) ' pobranie osi Z maszyny , ta metoda jest dokladniejsza poniewaz podczas zderzenia jest zapamietywana wartosc i nie zalezy od predkosci hamowania silnika po zatrzymaniu
Z2 = Z+z1 to działanie co ma na celu
message (z2) ; wyswietlenie wartosci na dolnym pasku wiadomosci pominoł bym to
Code "G0"
Code "G53 z0"
While IsMoving() ; podjechanie do góry Z maszyny Z0
Wend
call SetOEMDRO(42,z2) jesli tutaj zamiast z2 wpisze z1 to jest git ale wtedy jak ustawie zero materiału to masztna nie bierze tego pod uwagę
Tool = GetDRO( 24 ) ; wpisanie wyliczonej wartosci do rejestru dlugosci narzedzia
Code "G43 H"&Tool ; i wywolanie korekty dla tego narzedzia
Code "G53 z-1" tego nie rozumiem
While IsMoving()
Wend
Code "G53 z0"
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]
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 5
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
251mz, tak da sie sterowac ale po co?
moje pytanie co Tobie da sygnał że chłodziwo jest albo go nie ma
ja wiem że lepiej uproscic sterowanie chłodziwa niż kombinowac z programem
może dac czujnik gdziec niedaleko dyszy i zrobic zatrzymanie bądz dodatkową lampke informującom o braku chłodziwa w ten sposób dajesz sygnał np pauza do programu i nieruszy a lampka miga i wiesz że cos jest z chłodziwen
moje pytanie co Tobie da sygnał że chłodziwo jest albo go nie ma
ja wiem że lepiej uproscic sterowanie chłodziwa niż kombinowac z programem
może dac czujnik gdziec niedaleko dyszy i zrobic zatrzymanie bądz dodatkową lampke informującom o braku chłodziwa w ten sposób dajesz sygnał np pauza do programu i nieruszy a lampka miga i wiesz że cos jest z chłodziwen
[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]
-
- Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 4
- Posty: 4478
- Rejestracja: 27 sie 2004, 21:59
- Lokalizacja: Polska
chodzi o to ,że mam jedno wolne wejście....
a wyjść nie mam , bo 5 bitami steruje magazynem 30 narzędziowym...
2 do 5 to 32 pozycje - zerowa odpada to zostaje 31 pozycji a ,że magazyn mam na 30 oprawek to 31 pozycje chce wykorzystać do załączania i wyłączania chodziwa....
w każdym bądź razie chodzi o to ze jak podam na wyjscia bitowo liczbę 31 to zeby program wiedział czy chłodziwo się załączyło czy wyłączyło...
a wyjść nie mam , bo 5 bitami steruje magazynem 30 narzędziowym...
2 do 5 to 32 pozycje - zerowa odpada to zostaje 31 pozycji a ,że magazyn mam na 30 oprawek to 31 pozycje chce wykorzystać do załączania i wyłączania chodziwa....
w każdym bądź razie chodzi o to ze jak podam na wyjscia bitowo liczbę 31 to zeby program wiedział czy chłodziwo się załączyło czy wyłączyło...
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 5
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
a masz może wyjscie midi?
ale czy to nie utrudni g-code?
no i jak chcesz to zrobic bo mach odczyta 31 pozycje jako inne narzedzie z magazynku
najprosciej dokupic port lpt za 30 zł masz sledzia z kontrolerem
aha niekoniecznie pozycja bitowa 00000 odpada ja robie wyżłobienia i gdy następuje zmiana z 111111 na 00000 to w tym momęcie jest kolejne narzedzie robisz tajakby na tarczy rowki
ale czy to nie utrudni g-code?
no i jak chcesz to zrobic bo mach odczyta 31 pozycje jako inne narzedzie z magazynku
najprosciej dokupic port lpt za 30 zł masz sledzia z kontrolerem
aha niekoniecznie pozycja bitowa 00000 odpada ja robie wyżłobienia i gdy następuje zmiana z 111111 na 00000 to w tym momęcie jest kolejne narzedzie robisz tajakby na tarczy rowki
[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]
-
- Moderator
-
Lider FORUM (min. 2000)
- Posty w temacie: 4
- Posty: 4478
- Rejestracja: 27 sie 2004, 21:59
- Lokalizacja: Polska
Już mam obsadzone 2x LPT:))) potrzebowałem na liniały pomiarowe;)
Macro narzedzia
Chcę zrobić tak jeśli wystawię na wyjście binarnie od 2-31 to zacznie zmieniać się narzedzie , jeśli zakończy się zmiana narzedzia to na wejście zostanie podany sygnał i na wyjściu znów bedzie 00000
Macro chłodziwa
Jeśli na te same wyjścia co narzędzia wystawię 1 to załączy lub wyłaczy się chłodziwo a o załączonym lub wyłączonym chłodziwie bedzie informowało wejście w stanie wysokim lub niskim.....
Dlatego tyle wykorzystane gdyż maszyna to frezarka 3osiowa z możliwością dołaczenia 4 osi.... na 3ch osiach liniały pomiarowe (2gi lpt)
Czy da radę posterować tak chłodziwem jak myślę??
Oczywiscie te 5 wyjść binarnych oraz wejście potwierddzenia zmiany narzedzia i potwierdzenia załączenia chłodziwa dołączone i sterowane z uC
Macro narzedzia
Chcę zrobić tak jeśli wystawię na wyjście binarnie od 2-31 to zacznie zmieniać się narzedzie , jeśli zakończy się zmiana narzedzia to na wejście zostanie podany sygnał i na wyjściu znów bedzie 00000
Macro chłodziwa
Jeśli na te same wyjścia co narzędzia wystawię 1 to załączy lub wyłaczy się chłodziwo a o załączonym lub wyłączonym chłodziwie bedzie informowało wejście w stanie wysokim lub niskim.....
Dlatego tyle wykorzystane gdyż maszyna to frezarka 3osiowa z możliwością dołaczenia 4 osi.... na 3ch osiach liniały pomiarowe (2gi lpt)
Czy da radę posterować tak chłodziwem jak myślę??
Oczywiscie te 5 wyjść binarnych oraz wejście potwierddzenia zmiany narzedzia i potwierdzenia załączenia chłodziwa dołączone i sterowane z uC