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: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
Gotowa odpowiedź już jest trzeba jej poszukać tu.
MACH3 cncTworzenie Makr do palników magazynków THC OHC inneEKRANY dla firm producentów maszyn Budowa sprzedaż wypalarki plazma gaz obrotnice Elektrodrążarki Frezarki Tokarki Giętarki3D inne wg zlecenia 888 703 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