Witam.
Zrobiłem sobie banalny czujnik wysokości narzędzia.
Niestety im więcej czytam tym mniej wiem.
Załóżmy taką drogę postępowania.
- uruchamiam makro
- wrzeciono (wyłączone) jedzie na określone współrzędne gdzie przymocowany jest czujnik
- powoli z zadaną prędkością opuszcza się nad czujnik
- gdy dotknie czujnika.... no właśnie
co robi w tym momencie Mach?
Ustawia 0 dla osi Z?
Na bank góra czujnika nie będzie zerem stołu.
Zazwyczaj przy zabawie z różnymi materiałami łapałem zero na górze materiału.
Czy teraz muszę robić na odwrót ? Czyli łapać zero na czujniku i dodawać taką wartość aby była to góra materiału??? To raczej będzie trochę trudne.
W zasadzie to może mi ktoś wyjaśnić zasadę działania takiego czujnika bo im więcej czytam tym bardziej głupi jestem.
Pozdrawiam.
Czujnik wysokości narzędzia?
-
Autor tematu - Specjalista poziom 1 (min. 100)
- Posty w temacie: 3
- Posty: 160
- Rejestracja: 05 kwie 2012, 07:03
- Lokalizacja: Myszków
Witam.
Nie mogę dojść dlaczego nie działa mi poniższe makro na machu 3:
Efektem uruchomienia makra bez względu na ustawienie parametrów jest zjeżdżanie osi Z w dól. Makro nie reaguje na czujnik wysokości. Jedynym wyjściem jest przerwanie makra.
Nie mogę dojść dlaczego nie działa mi poniższe makro na machu 3:
Kod: Zaznacz cały
Dim ZOFFSET, ZTOP, ZBOTTOM, ZGODOWN, ZABS, ZUPFINE, Z_SAFE
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 = -92.95 ' Sensor Z position
Z_SAFE = -30 ' Safe Z above sensor (for rapid move)
SENS_X = 10 ' Sensor X position
SENS_Y = 0 ' 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)
Code("G0G53 Y" & SENS_Y)
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
Guru
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 1
- Posty: 1242
- Rejestracja: 15 lis 2009, 02:46
- Lokalizacja: Olsztyn
- Kontakt:
Problemem może być g53. Nie wiem jak masz ustawione offsety między g53 (maszynowy) a g54,w którym najczęściej się pracuje. Albo zrównaj je ze sobą albo w makro użyj g54.
Albo najedź nad czujnik, wywołaj koordy maszynowe i wpisz je do makro - SENS X. Wtedy zostawiasz g53 w makrze. Makro z innej maszyny będzie miało inne współrzędne i trzeba je do własnej dostosować.
Albo najedź nad czujnik, wywołaj koordy maszynowe i wpisz je do makro - SENS X. Wtedy zostawiasz g53 w makrze. Makro z innej maszyny będzie miało inne współrzędne i trzeba je do własnej dostosować.