Czujnik wysokości narzędzia?

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
guru79
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 158
Rejestracja: 05 kwie 2012, 07:03
Lokalizacja: Myszków

Czujnik wysokości narzędzia?

#1

Post napisał: guru79 » 07 paź 2013, 19:54

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.


Guru

Tagi:


251mz
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 1
Posty: 4440
Rejestracja: 27 sie 2004, 21:59
Lokalizacja: Polska

#2

Post napisał: 251mz » 07 paź 2013, 20:26

Ustawia 0 dla osi Z?
Ustawia wartość dla Z jaką sobie wymarzysz...
A w praktyce to Ty wiesz ile czujnik łapie nad stołem , i taką wartość wbija na Z w momencie zadziałania...


Autor tematu
guru79
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 158
Rejestracja: 05 kwie 2012, 07:03
Lokalizacja: Myszków

#3

Post napisał: guru79 » 07 lis 2013, 16:28

Witam.
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
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.
Guru


Autor tematu
guru79
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 3
Posty: 158
Rejestracja: 05 kwie 2012, 07:03
Lokalizacja: Myszków

#4

Post napisał: guru79 » 09 lis 2013, 08:14

Udało się odpalić makro, tylko bez względu na wpisane parametry zawsze dla osi X jedzie na pozycję -308.7425....
Ręce opadają...
Guru


tomcat65
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 1
Posty: 1236
Rejestracja: 15 lis 2009, 02:46
Lokalizacja: Olsztyn
Kontakt:

#5

Post napisał: tomcat65 » 09 lis 2013, 14:25

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ć.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Mach 2 / 3 / 4 (ArtSoft software)”