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 852 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: 1417
- 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
[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]
-
- 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: 1417
- 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
[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]
-
- 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: 1417
- 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
[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]
-
- 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