witam naskrobałem nowe makro do wymiany narzędzia tylko jest z nim mały problem
maszynka jedzie w wybrane miejsce oś z jedzie do góry na "0"
potem maszynka jedzie nad czujnik z osia podniesioną do góry
następnie maszynka dokonuje pomiaru dł narzędzia i zapisuje je
w tabeli narzędzi np frez ma dł 50mm jak dokonam ponownego pomiaru tym samym frezem to długość narzędzia pokazuje "0" i tak w koło a jak ustawie zero materiału to już całkiem cyry wychodzą mach nie liczy dł narzędzia od zera osi tylko od tego co jest na liczniku osi "z"
Dim zmienna,zdro,wz 'deklaracja zmiennych
Code "g0"
Code "g53 x1.56 y-31.84 "'ruch do pozycji XY czujnika dlugosci narzędzi
While IsMoving()
Wend
GetVar(2002)
Code "G31 Z" & -100 & "f600" ' pomiar narzędzia
While ismoving()
Sleep 100
Wend
zdro=getdro(2)'zapamietanie położenia osi z gdy sonda da sygnał
Call SetOEMDRO(42,zdro)
Tool = GetDRO( 24 ) ' wpisanie wyliczonej wartosci Do rejestru dlugosci narzedzia
code "g43 H"&tool
Code "g0"
Code "G53 z0"
While ismoving()
Sleep 100
Wend
MsgBox("zmieniono długość narzędzia") 'komunikat
Znaleziono 3 wyniki
Wróć do „macro wymiany narzędzia”
- 04 cze 2010, 19:04
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: macro wymiany narzędzia
- Odpowiedzi: 13
- Odsłony: 5874
- 13 maja 2010, 16:01
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: macro wymiany narzędzia
- Odpowiedzi: 13
- Odsłony: 5874
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
- 12 maja 2010, 19:09
- Forum: Mach 2 / 3 / 4 (ArtSoft software)
- Temat: macro wymiany narzędzia
- Odpowiedzi: 13
- Odsłony: 5874
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