nieprawidłowo działające makro manualnej wymiany narzędzia

Dyskusje dotyczące najpopularniejszego programu sterującego maszynami CNC

Autor tematu
qulet
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 106
Rejestracja: 26 lip 2008, 19:15
Lokalizacja: Poznań
Kontakt:

nieprawidłowo działające makro manualnej wymiany narzędzia

#1

Post napisał: qulet » 11 lut 2014, 19:16

WITAM !
Mam w Machu3 na stałe przykręcony do stołu prawidłowo skonfigurowany czujnik indukcyjny. Podstawiłem do klawisza Auto tool zero makro:

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 = -10 ' Sensor Z position
Z_SAFE = -20' Safe Z above sensor (for rapid move)
SENS_X = 80.99 ' Sensor X position
SENS_Y = 3.46 ' 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( "Dokonuje pomiaru d3ugooci narzedzia..." )
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 ca3y czas za31czony! pomiar przerwany." )
End
End If
If GetOEMLed(11) Then
Message( "TC ERROR: Do pomiaru narzedzia wy31cz wrzeciono!" )
End
End If

Tool = GetDRO(24) ' Get current tool index
' narzedzie 0 nie podlega pomiarowi
If(Tool = 0) Then
Message( "TC INFO: Narzedzie nr:0 nie podlega pomiarom d3ugooci" )
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
Najpierw robię referencje ustawiam x,y,z, materiałun 0,0,0 dla narzędzia "0"
zmieniam długość narzędzia i nr narzędzia na 1 wciskam klawisz uruchomienia makra.....
Najazd na czujnik i pomiar wydaje się być "OK"
ale nie następuje oczekiwana zmiana wartości wsp. w osi "Z" w oknie programu
Co należy zmienić w kodzie makra aby po zmierzeniu narzędzia, wpisywała się właściwie skorygowana wartość w osi Z" w oknie programu "Mach"



Tagi:


Autor tematu
qulet
Specjalista poziom 1 (min. 100)
Specjalista poziom 1 (min. 100)
Posty w temacie: 2
Posty: 106
Rejestracja: 26 lip 2008, 19:15
Lokalizacja: Poznań
Kontakt:

#2

Post napisał: qulet » 15 lut 2014, 13:24

Podpowiem wszystkim którzy instalują to makro.

Użytkownik sam wpisuje wartości dla parametrów:
--------------------------------------------------
SENS_Z = ** ' Sensor Z position
SENS_X =** ' Sensor X position
SENS_Y=** ' Sensor Y position

Wartości muszą być z czytane z DRO wsp. MASZYNOWE z włąściwym znakiem.
SENS_Z - ta wartość to moment kiedy zadziała czujnik

[ Dodano: 2014-02-15, 13:50 ]
Podaję schemat podłączenia czujnika indukcyjnego do Płyty Głównej "OTTOP"a
Dwa oporniki i tranzystor montujemy w obudowie dużej wtyczki stereo w/g schematu i na 100% działa.
Załączniki
czujnik indukcyjny.rar
(52.19 KiB) Pobrany 219 razy

ODPOWIEDZ Poprzedni tematNastępny temat

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