Konfiguracja czujnika długości narzędzia w Mach3 pl
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 3
- Posty: 9
- Rejestracja: 30 mar 2010, 23:03
- Lokalizacja: Piekary Śląskie
Konfiguracja czujnika długości narzędzia w Mach3 pl
Chciałem prosić o pomoc w konfiguracji czujnika długości narzędzia do programu Mach3 pl
przeglądałem to forum doczytałem się że potrzeny jest makr, ale niestety nie wiem jak powinien taki wyglądać, (napisać i udostępnić w postaci pliku do wgrania)
menu/Operator/EdytorVBSkrypt
Czujnik mam podłaczony do 15 pina do którego wejścia go przypisać w porty/piny chciałem prosić o pomoc krok po kroku jak to zrobić z pewnością innym początkującym też się przyda
dzięki bardzo
przeglądałem to forum doczytałem się że potrzeny jest makr, ale niestety nie wiem jak powinien taki wyglądać, (napisać i udostępnić w postaci pliku do wgrania)
menu/Operator/EdytorVBSkrypt
Czujnik mam podłaczony do 15 pina do którego wejścia go przypisać w porty/piny chciałem prosić o pomoc krok po kroku jak to zrobić z pewnością innym początkującym też się przyda
dzięki bardzo
Tagi:
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 3
- Posty: 9
- Rejestracja: 30 mar 2010, 23:03
- Lokalizacja: Piekary Śląskie
Dzięki Nico65
Jeszcze jedno przypisałem Pin 15 do Próbe w zakładce diagnostyka zapala mi się kontrolka Digitizer wgrałem makro z linku powyżej uruchomiłem makro Oś Z zjeżdża do -20 później 0 oś jedzie na 20 staje zapisuje niby ok
Ale teraz pytanie niby proste, ale teraz jak wywołać tą procedurę akurat zera materiału jak wynika z makra nie widzę przycisku wywołujacego polecenie zera materiału czy długości narzędzia
W głownym oknie jest okienko "Dane Narzędzia", a w nim "Auto zero Narzedzia" (to chyba ten przycisk) ale po naciśnieciu wyskakuje mi w statusie Not Yet Implemented ( nie wprowadzono)
i niewiem co dalej ???
poniżej jest jeszcze przycisk "Pamiętaj" i "Powrót"
może mnie ktoś oświecić co dalej
Jeszcze jedno przypisałem Pin 15 do Próbe w zakładce diagnostyka zapala mi się kontrolka Digitizer wgrałem makro z linku powyżej uruchomiłem makro Oś Z zjeżdża do -20 później 0 oś jedzie na 20 staje zapisuje niby ok
Ale teraz pytanie niby proste, ale teraz jak wywołać tą procedurę akurat zera materiału jak wynika z makra nie widzę przycisku wywołujacego polecenie zera materiału czy długości narzędzia
W głownym oknie jest okienko "Dane Narzędzia", a w nim "Auto zero Narzedzia" (to chyba ten przycisk) ale po naciśnieciu wyskakuje mi w statusie Not Yet Implemented ( nie wprowadzono)
i niewiem co dalej ???
poniżej jest jeszcze przycisk "Pamiętaj" i "Powrót"
może mnie ktoś oświecić co dalej
Andrzej
-
- Specjalista poziom 3 (min. 600)
- Posty w temacie: 1
- Posty: 741
- Rejestracja: 16 lip 2008, 15:07
- Lokalizacja: Polska, Augustow
jest taki folder mach3/ macros tam należy stworzyć makro ( najlepiej przypisać je do komendy m6- jest to wywołanie wymiany narzędzia), następnie będziemy mogli z g-kodu używając m6 wywołać wymianę narzędzia.
„Jeżeli nie znasz portu do którego płyniesz,
to żadne wiatry nie będą Ci sprzyjać”
Programowanie sterowników PLC Fatek, HMI Weintek, sterowniki maszyn CNC, Mach3;
to żadne wiatry nie będą Ci sprzyjać”
Programowanie sterowników PLC Fatek, HMI Weintek, sterowniki maszyn CNC, Mach3;
-
Autor tematu - Nowy użytkownik, używaj wyszukiwarki
- Posty w temacie: 3
- Posty: 9
- Rejestracja: 30 mar 2010, 23:03
- Lokalizacja: Piekary Śląskie
Dzięki Panowie działa
Mach3 wersja R2.60pl lepiej działa ten makr poniżej:
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P2" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-20 F100" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z20" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded!) " 'this goes in the status bar if aplicable
Exit Sub
End If
Dzięki bardzo
Mach3 wersja R2.60pl lepiej działa ten makr poniżej:
CurrentFeed = GetOemDRO(818) 'Get the current feedrate to return to later
PlateThickness = GetUserDRO(1151) 'Z-plate thickness DRO
If GetOemLed (825)=0 Then 'Check to see if the probe is already grounded or faulty
DoOEMButton (1010) 'zero the Z axis so the probe move will start from here
Code "G4 P2" ' this delay gives me time to get from computer to hold probe in place
Code "G31Z-20 F100" 'probing move, can set the feed rate here as well as how far to move
While IsMoving() 'wait while it happens
Wend
ZProbePos = GetVar(2002) 'get the axact point the probe was hit
Code "G0 Z" &ZProbePos 'go back to that point, always a very small amount of overrun
While IsMoving ()
Wend
Call SetDro (2, PlateThickness) 'set the Z axis DRO to whatever is set as plate thickness
Code "G4 P0.25" 'Pause for Dro to update.
Code "G0 Z20" 'put the Z retract height you want here
Code "(Z axis is now zeroed)" 'puts this message in the status bar
Code "F" &CurrentFeed 'Returns to prior feed rate
Else
Code "(Z-Plate is grounded!) " 'this goes in the status bar if aplicable
Exit Sub
End If
Dzięki bardzo
Andrzej
-
- Moderator
-
ELITA FORUM (min. 1000)
- Posty w temacie: 1
- Posty: 1495
- Rejestracja: 11 kwie 2005, 13:00
- Lokalizacja: Gdansk
patrząc jak się ludziska meczą podepnę makro napisane przez nas do MACH-a do czujnika długości narzędzia
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 = -129 ' Sensor Z position
Z_SAFE = -45 ' Safe Z above sensor (for rapid move)
SENS_X = 8.17 ' Sensor X position
SENS_Y = 250 ' 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)
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
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 = -129 ' Sensor Z position
Z_SAFE = -45 ' Safe Z above sensor (for rapid move)
SENS_X = 8.17 ' Sensor X position
SENS_Y = 250 ' 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)
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
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 6
- Posty: 1418
- Rejestracja: 23 cze 2008, 10:38
- Lokalizacja: OOL lub DW
- Kontakt:
Srodek centrowanie
Kod: Zaznacz cały
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
XCurrent = GetDro(0)
YCurrent = GetDro(1)
Code "G4 P1" 'Pauza 1 sek
Code "F4" 'Niska prędkość obrotów
Rem Sonda lewo
XNew = Xcurrent - 3 'Sonda 3 cm w lewo
Code "G31 X" &XNew
While IsMoving() 'czeka na ruch do końca
Wend
XPos1 = GetVar(2000) 'lokalizacja sondy
Code "G0 X" &XCurrent 'szybki powrót
Rem Sonda prawo
XNew = XCurrent + 3 '3 cm w prawo
Code "G31 X" &XNew
While IsMoving()
Wend
XPos2 = GetVar(2000)
XCenter = (XPos1 + XPos2) / 2 'Środek jest między XPos1 i XPos2
Code "G0 X" &XCenter 'szybki ruch do środka
Rem Sonda w górę
YNew = YCurrent + 3
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos1 = GetVar(2001)
Code "G0 Y" &YCurrent
Rem Sonda w dół
YNew = YCurrent - 3
Code "G31 Y" &YNew
While IsMoving()
Wend
YPos2 = GetVar(2001)
YCenter = (YPos1 + YPos2) / 2
Rem przejdź do centrum
Code "G0 Y" &YCenter
While IsMoving ()
Wend
Code "F" &FeedCurrent 'przywrócić początkową wartość obrotów
End If
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]