Konfiguracja czujnika długości narzędzia w Mach3 pl
-
- Czytelnik forum poziom 2 (min. 20)
- Posty w temacie: 3
- Posty: 28
- Rejestracja: 01 paź 2007, 21:49
- Lokalizacja: W-wa
Super, no to teraz połączyć oba. Dla mnie to jakaś czarna magia, ale skoro działa ????
znalazłem paczkę makr do centrowania i pomiaru narzędzi, ale jak już pisałem dla mnie to czarna magia. Jeśli ktoś mądrzejszy mógłby " rozkodować co one tam robią i dodać komentarze po polsku??
znalazłem paczkę makr do centrowania i pomiaru narzędzi, ale jak już pisałem dla mnie to czarna magia. Jeśli ktoś mądrzejszy mógłby " rozkodować co one tam robią i dodać komentarze po polsku??
- Załączniki
-
- HossProbeCodesUpdate.zip
- (9.2 KiB) Pobrany 818 razy
Tagi:
-
- Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 2
- Posty: 10
- Rejestracja: 10 gru 2010, 15:22
- Lokalizacja: Warszawa
Witam,
Testuje makro bez sukcesu i mam kilka pytań.
Dla jakiech ustawień jest to makro, u mnie jest tak ze zero na Z jest na górze i jadąc w dół do stołu jade na minus.Czujnik mam sprężynowy z microswitchem.
Zmienna SENS_Z to ma wskazywać na co? Czubek sensora? w jakich kordynatach?
a może wysokość jego ponad blat?
Ja przecież nie znam jego pozycji początkowej. wiem tylko gdzie jest przykręcony do stołu x,y i ze ma 32mm wysokości. i moge zmierzyć jego pozycje na początku pracy dla narzędzia nr 0. czy to jest ten odczyt który tam powiniennem podac?
Drugim problemem jest ze często się zdarza ze makro wchodzi w pętle
Sub WaitForMove ()
While IsMoving()
Sleep(15)
Wend
End Sub
Naprzykład zawsze po wykonaniu lini
----
Code("G31 Z" & ZGODOWN & "F20") 'dalem to f20 recznie by mi powoli sie to działo
WaitForMove
------
Sub WaitForMove sie zapętla zawsze.
Nie mam pojęcia dlaczego tak jest.
Maciej
Testuje makro bez sukcesu i mam kilka pytań.
Dla jakiech ustawień jest to makro, u mnie jest tak ze zero na Z jest na górze i jadąc w dół do stołu jade na minus.Czujnik mam sprężynowy z microswitchem.
Zmienna SENS_Z to ma wskazywać na co? Czubek sensora? w jakich kordynatach?
a może wysokość jego ponad blat?
Ja przecież nie znam jego pozycji początkowej. wiem tylko gdzie jest przykręcony do stołu x,y i ze ma 32mm wysokości. i moge zmierzyć jego pozycje na początku pracy dla narzędzia nr 0. czy to jest ten odczyt który tam powiniennem podac?
Drugim problemem jest ze często się zdarza ze makro wchodzi w pętle
Sub WaitForMove ()
While IsMoving()
Sleep(15)
Wend
End Sub
Naprzykład zawsze po wykonaniu lini
----
Code("G31 Z" & ZGODOWN & "F20") 'dalem to f20 recznie by mi powoli sie to działo
WaitForMove
------
Sub WaitForMove sie zapętla zawsze.
Nie mam pojęcia dlaczego tak jest.
Maciej
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
tu masz najprosciej przedstawione
maszyna jedzie nad punkt pomiaru po zmianie frezu ma on jakoms długosc os jedzie na duł a czujnik najlepiej miec na blacie stołu by był w punkcie 0 a skoro maszyna zjedzie o 8 a do 0 brakuje 2 to taka jest sługosc frezu i zapisujemy go
wszytkie inne konfigurcje to przemieszcenie czujnika w przestrzeni lub zmiana automatyczna ewentualnie jakies konfiguracje i mieszanie tego
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]
-
- Czytelnik forum poziom 1 (min. 10)
- Posty w temacie: 2
- Posty: 10
- Rejestracja: 10 gru 2010, 15:22
- Lokalizacja: Warszawa
Z tego obrazka wynika ze zero maszyny w osi Z powinno być własnie na blacie.k-m-r1 pisze:
tu masz najprosciej przedstawione
Ja narazie skonfigurowałem maszynę tak ze ZERO Z jest w na górze osi Z.
Tam też umieściłem homing switch dla Z. Wiec gdy robie "reference all" maszyna odjeżdża w gorę (osie liczą na plus-homing positive) i tam zeruje sie.
Czy z tego wynika ze powinienem przekonfigurować czujnik Z home właśnie na czujnik narzędzia i wyznaczać ZERO Z na blacie z założonym pierwszym narzędziem? (oczywiście z ofsetem wysokości samego czujnika który u mnie ma 32mm)
Maciej
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
punkt zerowy frezarki to koniec uchwytu a gdy masz frez ten punkt trzeba przeniesc na koniec frezu
można rzrobic tak że przy najezdzaniu na czujnik nie pobiera sygnału tylko przy zjezdzie cofaniu pozycja jezt zapisywana jako 0 0 0
pisze jak można najprosciej zrobic bez dodatowych operacji na wspułrzednych tak na chłopski rozum skoro koniec freza dotyka czujnik to zapisuje sie jako 0 0 0 i cała bajka
można rzrobic tak że przy najezdzaniu na czujnik nie pobiera sygnału tylko przy zjezdzie cofaniu pozycja jezt zapisywana jako 0 0 0
pisze jak można najprosciej zrobic bez dodatowych operacji na wspułrzednych tak na chłopski rozum skoro koniec freza dotyka czujnik to zapisuje sie jako 0 0 0 i cała bajka
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 4
- Posty: 311
- Rejestracja: 23 cze 2006, 08:02
- Lokalizacja: wawa
Witam,
mam mały problemik podłączyłem czujniczek i wszystko fajnie działa narzędzie zjeżdża w dół na czujnik potem się podnosi i zeruje. Ale nadal nie wiem na jakiej wysokości jest narzędzie nad blatem roboczym, jak to ustawić aby po najechaniu na czujnik ustawiła się wysokość freza nad blatem roboczym? I jeszcze jedno jak zrobić aby gdy jest zmiana narzędzia dojeżdżało ono nad czujnik samo, abym mógł zmienić frez a potem wcisnąć start i nastąpił pomiar a potem powrót w miejsce pracy. Chyba jasno to opisałem i nic nie pomieszałem
mam mały problemik podłączyłem czujniczek i wszystko fajnie działa narzędzie zjeżdża w dół na czujnik potem się podnosi i zeruje. Ale nadal nie wiem na jakiej wysokości jest narzędzie nad blatem roboczym, jak to ustawić aby po najechaniu na czujnik ustawiła się wysokość freza nad blatem roboczym? I jeszcze jedno jak zrobić aby gdy jest zmiana narzędzia dojeżdżało ono nad czujnik samo, abym mógł zmienić frez a potem wcisnąć start i nastąpił pomiar a potem powrót w miejsce pracy. Chyba jasno to opisałem i nic nie pomieszałem
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
wszytsko jest opisane w temacie i pokrewnych
pit, przeczytaj napierw a potem pytaj jak czegos nie rozumiesz
pit, przeczytaj napierw a potem pytaj jak czegos nie rozumiesz
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 196 Tomek Komor [email protected]
-
- Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 1
- Posty: 3
- Rejestracja: 15 sty 2009, 22:46
- Lokalizacja: Pajęczno
Witam
Panowie przez dłuższy czas stosowałem podane poniżej makro z wersją Macha R2.63, aktualnie zainstalowałem Macha w wersji R3.043.022 i niestety ciągle makro zgłasza błąd Z-Plate is grounded!. Wszystkie ustawienia przeniosłem z pliku z poprzedniej wersji i wszystko działa poza tym makrem, czy posiada ktoś poprawioną wersję makra do tej wersji Macha?
Panowie przez dłuższy czas stosowałem podane poniżej makro z wersją Macha R2.63, aktualnie zainstalowałem Macha w wersji R3.043.022 i niestety ciągle makro zgłasza błąd Z-Plate is grounded!. Wszystkie ustawienia przeniosłem z pliku z poprzedniej wersji i wszystko działa poza tym makrem, czy posiada ktoś poprawioną wersję makra do tej wersji Macha?
jr65 pisze:Dzięki Panowie działa
Mach3 wersja R2.60pl lepiej działa ten makr poniżej:
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P2" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-20 F100" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z20" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded!) " 'this goes in the status bar if aplicable
Exit Sub
End If
Dzięki bardzo
-
- Specjalista poziom 1 (min. 100)
- Posty w temacie: 3
- Posty: 103
- Rejestracja: 07 lis 2006, 21:18
- Lokalizacja: Kraków
wkleiłem macro Pana Piotra i nie wiem dlaczego nie chce mi jechać na pozycje czujnika w osi y,wosi x ładnie jedzie nie znam się na macrach może jest tu jakiś błąd ,kropka przecinek ?
Dim ToolLen
Dim Tool
Dim SENS_Z, SENS_X, SENS_Y, Z_LIFT, Z_PARK, MAX_DTRAVEL
Dim SPD_FAST, SPD_FINE
' -----------------------------------------------------
' Configuration parameters
' -----------------------------------------------------
SENS_Z = -129 ' Sensor Z position
Z_SAFE = -45 ' Safe Z above sensor (for rapid move)
SENS_X = 8.17 ' Sensor X position
SENS_Y = 250 ' Sensor Y position
MAX_DTRAVEL = 100 ' Max down travel
SPD_FAST = 1000
SPD_FINE = 100 ' Fast and fine speeds
Z_LIFT = 1.5 ' Z lift for fine probing
Z_PARK = -5 ' Park after probe absolute Z position
' -----------------------------------------------------
Message( "Dokonuję pomiaru długości narzędzia..." )
If GetOEMLed(807) Then
Message( "TC ERROR: X Axis not referenced!" )
End
End If
If GetOEMLed(808) Then
Message( "TC ERROR: Y Axis not referenced!" )
End
End If
If GetOEMLed(809) Then
Message( "TC ERROR: Z Axis not referenced!" )
End
End If
If GetOEMLed(825) Then
Message( "TC ERROR: Czujnik pomiaru cały czas załączony! pomiar przerwany." )
End
End If
If GetOEMLed(11) Then
Message( "TC ERROR: Do pomiaru narzędzia wyłącz wrzeciono!" )
End
End If
Tool = GetDRO(24) ' Get current tool index
' narzedzie 0 nie podlega pomiarowi
If(Tool = 0) Then
Message( "TC INFO: Narzędzie nr:0 nie podlega pomiarom długości" )
End
End If
WaitForMove
Code("G43T0")
Code("G43H0") ' turn off tool lenght compensation
WaitForMove
' Move to PARK
Code("G0G53 Z" & Z_PARK)
WaitForMove
' Move to XY position of tool correction sensor
' Code("G0G53 X" & SENS_X & " Y" & SENS_Y)
Code("G0G53 X" & SENS_X)
WaitForMove
' Get actual Z offset
ZOFFSET = GetOEMDRO(49)
' Rapid go down to safe distance above sensor
Code("G0G53 Z" & Z_SAFE)
WaitForMove
' Probe
ZTOP = GetDRO(2) ' actual Z position
ZGODOWN = ZTOP - MAX_DTRAVEL ' max down travel
Code("G31 Z" & ZGODOWN & "f" & SPD_FAST)
WaitForMove
ZUPFINE = GetOEMDRO(85) + Z_LIFT
Code("G1G53 Z" & ZUPFINE & "f" & SPD_FAST) ' go up Z_LIFT
WaitForMove
' fine probe
Code("G31 Z" & ZGODOWN & "f" & SPD_FINE)
WaitForMove
ZBOTTOM = GetVar(2002) 'get probe activation point
' Lift Z to abs park position
Sleep(50)
Code("G0G53 Z" & Z_PARK)
WaitForMove
ZABS = ZBOTTOM + ZOFFSET
ToolLen = -(SENS_Z - ZABS)
WaitForMove
SetOEMDRO(42, ToolLen)
Code("G43T" & Tool) ' G43 to sync value in system
Code("G43H" & Tool) ' G43 to sync value in system
WaitForMove
Message ("Z Value : " & ToolLen)
' -----------------------------------------------------------------------------
Sub WaitForMove ()
While IsMoving()
Sleep(15)
Wend
End Sub
Dim ToolLen
Dim Tool
Dim SENS_Z, SENS_X, SENS_Y, Z_LIFT, Z_PARK, MAX_DTRAVEL
Dim SPD_FAST, SPD_FINE
' -----------------------------------------------------
' Configuration parameters
' -----------------------------------------------------
SENS_Z = -129 ' Sensor Z position
Z_SAFE = -45 ' Safe Z above sensor (for rapid move)
SENS_X = 8.17 ' Sensor X position
SENS_Y = 250 ' Sensor Y position
MAX_DTRAVEL = 100 ' Max down travel
SPD_FAST = 1000
SPD_FINE = 100 ' Fast and fine speeds
Z_LIFT = 1.5 ' Z lift for fine probing
Z_PARK = -5 ' Park after probe absolute Z position
' -----------------------------------------------------
Message( "Dokonuję pomiaru długości narzędzia..." )
If GetOEMLed(807) Then
Message( "TC ERROR: X Axis not referenced!" )
End
End If
If GetOEMLed(808) Then
Message( "TC ERROR: Y Axis not referenced!" )
End
End If
If GetOEMLed(809) Then
Message( "TC ERROR: Z Axis not referenced!" )
End
End If
If GetOEMLed(825) Then
Message( "TC ERROR: Czujnik pomiaru cały czas załączony! pomiar przerwany." )
End
End If
If GetOEMLed(11) Then
Message( "TC ERROR: Do pomiaru narzędzia wyłącz wrzeciono!" )
End
End If
Tool = GetDRO(24) ' Get current tool index
' narzedzie 0 nie podlega pomiarowi
If(Tool = 0) Then
Message( "TC INFO: Narzędzie nr:0 nie podlega pomiarom długości" )
End
End If
WaitForMove
Code("G43T0")
Code("G43H0") ' turn off tool lenght compensation
WaitForMove
' Move to PARK
Code("G0G53 Z" & Z_PARK)
WaitForMove
' Move to XY position of tool correction sensor
' Code("G0G53 X" & SENS_X & " Y" & SENS_Y)
Code("G0G53 X" & SENS_X)
WaitForMove
' Get actual Z offset
ZOFFSET = GetOEMDRO(49)
' Rapid go down to safe distance above sensor
Code("G0G53 Z" & Z_SAFE)
WaitForMove
' Probe
ZTOP = GetDRO(2) ' actual Z position
ZGODOWN = ZTOP - MAX_DTRAVEL ' max down travel
Code("G31 Z" & ZGODOWN & "f" & SPD_FAST)
WaitForMove
ZUPFINE = GetOEMDRO(85) + Z_LIFT
Code("G1G53 Z" & ZUPFINE & "f" & SPD_FAST) ' go up Z_LIFT
WaitForMove
' fine probe
Code("G31 Z" & ZGODOWN & "f" & SPD_FINE)
WaitForMove
ZBOTTOM = GetVar(2002) 'get probe activation point
' Lift Z to abs park position
Sleep(50)
Code("G0G53 Z" & Z_PARK)
WaitForMove
ZABS = ZBOTTOM + ZOFFSET
ToolLen = -(SENS_Z - ZABS)
WaitForMove
SetOEMDRO(42, ToolLen)
Code("G43T" & Tool) ' G43 to sync value in system
Code("G43H" & Tool) ' G43 to sync value in system
WaitForMove
Message ("Z Value : " & ToolLen)
' -----------------------------------------------------------------------------
Sub WaitForMove ()
While IsMoving()
Sleep(15)
Wend
End Sub
Janusz