Czy ktoś używa sondę pomiarową touch probe w mach 3 ?
Typu
Interesuje mnie oprogramowanie do ustawiania punktów zerowych na materiale przy pomocy takiej sondy .
Touch probe w Mach3
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 1
- Posty: 1417
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
Gotowa odpowiedź już jest trzeba jej poszukać tu.
[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 1 (min. 100)
- Posty w temacie: 1
- Posty: 190
- Rejestracja: 15 sie 2009, 08:55
- Lokalizacja: kujawsko-pomorski
- Kontakt:
pod przyciska podepnij to (środek otworu, kwadratu, itp)
ale to nie jest do pomiaru bardzo dokładnego
If GetOemLed (825) <> 0 Then 'sprawdzanie stanu sondy
Code "(Płyta próby jest uziemiona sprawdź połączenie i spróbuj ponownie)"
Else
FeedCurrent = GetOemDRO(818) 'bieżące ustawienia F
XCurrent = GetDro(0)
YCurrent = GetDro(1)
Code "G4 P1" 'Pauza 1 sek
Code "F400" 'Niska prędkość
Code "S0"
XNew = XCurrent - 300
Code "G31 X" &XNew
While IsMoving()
Wend
XPos1 = GetVar(2000)
Code "G0 X" &XCurrent
While IsMoving()
Wend
'Sonda w x
XNew = XCurrent + 300
Code "G31 X" &XNew
While IsMoving()
Wend
XPos2 = GetVar(2000)
XCenter = (XPos1 + XPos2) / 2
Code "G0 X" &XCenter
While IsMoving()
Wend
YNew = YCurrent + 300
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos1 = GetVar(2001)
Code "G0 Y" &YCurrent
While IsMoving()
Wend
'Sonda w y
YNew = YCurrent - 300
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos2 = GetVar(2001)
YCenter = (YPos1 + YPos2) / 2
Code "G0 Y" &YCenter
While IsMoving()
Wend
Code "G4 P1"
While IsMoving()
Wend
' dokładny obmiar x
Code "G0 X" &XPos1 + 5
Code "F100"
While IsMoving()
Wend
Code " G91"
Code "G31 X-50"
While IsMoving()
Wend
Code " G90"
XPos3 = GetVar(2000)
Code "G0 X" &XCenter
Code "G0 X" &XPos2 - 5
While IsMoving()
Wend
Code " G91"
Code "G31 X+50"
While IsMoving()
Wend
Code " G90"
XPos4 = GetVar(2000)
XCenter2 = (XPos3 + XPos4) / 2
Code "G0 X" &XCenter2
While IsMoving()
Wend
'dokładny obmiar y
Code "G0 Y" &YPos1 - 5
While IsMoving()
Wend
Code " G91"
Code "G31 Y+50"
While IsMoving()
Wend
Code " G90"
YPos3 = GetVar(2001)
Code "G0 Y" &YCenter
While IsMoving()
Wend
Code "G0 Y" &YPos2 + 5
While IsMoving()
Wend
Code " G91"
Code "G31 Y-50"
While IsMoving()
Wend
Code " G90"
YPos4 = GetVar(2001)
YCenter2 = (YPos3 + YPos4) / 2
Code "G0 Y" &YCenter2
While IsMoving ()
Wend
Code "90"
Code "F" &FeedCurrent 'przywrócić początkową wartość F
DoOEMButton (1008) 'Zeruje dro osi X
DoOEMButton (1009) 'Zeruje dro osi Y
End If
ale to nie jest do pomiaru bardzo dokładnego
If GetOemLed (825) <> 0 Then 'sprawdzanie stanu sondy
Code "(Płyta próby jest uziemiona sprawdź połączenie i spróbuj ponownie)"
Else
FeedCurrent = GetOemDRO(818) 'bieżące ustawienia F
XCurrent = GetDro(0)
YCurrent = GetDro(1)
Code "G4 P1" 'Pauza 1 sek
Code "F400" 'Niska prędkość
Code "S0"
XNew = XCurrent - 300
Code "G31 X" &XNew
While IsMoving()
Wend
XPos1 = GetVar(2000)
Code "G0 X" &XCurrent
While IsMoving()
Wend
'Sonda w x
XNew = XCurrent + 300
Code "G31 X" &XNew
While IsMoving()
Wend
XPos2 = GetVar(2000)
XCenter = (XPos1 + XPos2) / 2
Code "G0 X" &XCenter
While IsMoving()
Wend
YNew = YCurrent + 300
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos1 = GetVar(2001)
Code "G0 Y" &YCurrent
While IsMoving()
Wend
'Sonda w y
YNew = YCurrent - 300
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos2 = GetVar(2001)
YCenter = (YPos1 + YPos2) / 2
Code "G0 Y" &YCenter
While IsMoving()
Wend
Code "G4 P1"
While IsMoving()
Wend
' dokładny obmiar x
Code "G0 X" &XPos1 + 5
Code "F100"
While IsMoving()
Wend
Code " G91"
Code "G31 X-50"
While IsMoving()
Wend
Code " G90"
XPos3 = GetVar(2000)
Code "G0 X" &XCenter
Code "G0 X" &XPos2 - 5
While IsMoving()
Wend
Code " G91"
Code "G31 X+50"
While IsMoving()
Wend
Code " G90"
XPos4 = GetVar(2000)
XCenter2 = (XPos3 + XPos4) / 2
Code "G0 X" &XCenter2
While IsMoving()
Wend
'dokładny obmiar y
Code "G0 Y" &YPos1 - 5
While IsMoving()
Wend
Code " G91"
Code "G31 Y+50"
While IsMoving()
Wend
Code " G90"
YPos3 = GetVar(2001)
Code "G0 Y" &YCenter
While IsMoving()
Wend
Code "G0 Y" &YPos2 + 5
While IsMoving()
Wend
Code " G91"
Code "G31 Y-50"
While IsMoving()
Wend
Code " G90"
YPos4 = GetVar(2001)
YCenter2 = (YPos3 + YPos4) / 2
Code "G0 Y" &YCenter2
While IsMoving ()
Wend
Code "90"
Code "F" &FeedCurrent 'przywrócić początkową wartość F
DoOEMButton (1008) 'Zeruje dro osi X
DoOEMButton (1009) 'Zeruje dro osi Y
End If