' OTOMAT? TAKIM DE???ME MAKROSU
'?zet Mehmet K?E ve Ramert?rk (Mustafa Abi)
'[B]Farkl? Z seviyelerindeki tool i?n ATC makrosu[/B]
Public xtool As Integer
Public Ytool As Integer
Public ToolDown As Integer
Sub Main()
OldTool = GetOEMDRO (1200)
x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )
z = GetToolChangeStart( 2 )
a = GetToolChangeStart( 3 )
b = GetToolChangeStart( 4 )
c = GetToolChangeStart( 5 )
tool = GetSelectedTool()
Park = 20
NewTool = tool
MaxToolNum = 16 '*** Değiştirmek istenen max. takım sayısı?s?
ToolDown = -50 '*** Tak?m? almak yada b?rakmak i?n Z nin pozisyonu...! Her tool icin ayr? olabilir.
ToolUp = -30 '*** B?rakt?? tak?mdan alaca? tak?ma giderken Z nin pozisyonu...!
If NewTool = OldTool Then
Exit Sub
End If
While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend
'*************** Eski tak?m b?rak?l?yor *************************
ActivateSignal(Output3) '*** Hareketli Magazin tutucu i?n gerekli sinyal....!
Code "G00 G53 Z" &
While IsMoving()
Wend
Call ToolPos(OldTool)
Code "G53 X" & XTool & " Y" & YTool+Park
While IsMoving()
Wend
Code "G53 Z" & ToolDown
Code "G4 P.5"
While IsMoving()
Wend
Code "G53 X" & XTool & " Y" & YTool
While IsMoving()
Wend
ActivateSignal(Output2) '*** Tak?m? b?rakmak i?n gerekli sinyal....!
Code "G4 P1.0" '*** Tak?m? b?rakmak i?n bekletmek... gerekti? kadar gecikme yapt?r?l?r...!
'SystemWaitFor (7) '*** Tak?m? ald??n? bildiren Limit switch sinyalini beklemek...opsiyoneldir..
Code "G53 Z" & ToolUp '*** Tak?m b?rak?ld? ve Toolup seviyesine ?k?ld?...
'************** Yeni tak?m al?n?yor ******************************
Call ToolPos(NewTool)
Code "G53 X" & XTool & " Y" & YTool
While IsMoving()
Wend
Code "G53 Z" & ToolDown
Code "G4 P.5"
While IsMoving()
Wend
DeActivateSignal(Output2) '*** Tak?m? b?rakmak i?n g?nderilen sinyali kapat?yor, yani tak?m? tutuyor.
Code "G4 P1.0" '*** Wait for the tool to Clamp
While IsMoving()
Wend
Code "G53 X" & XTool & " Y" & YTool+Park '*** Tak?m al?nd?ktan sonra mandaldan kurtarmak i?n Y y?n?nde +Park kadar gidiliyor...
While IsMoving()
Wend
Code "G53 Z" & ToolUp
'************* Tool numaras? set ediliyor ***********************
Call SetUserDRO (1200,NewTool)
SetCurrentTool( NewTool )
PlateThickness = GetUserDRO(1151)
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P1" 'P1 de?riyle oynayabilirsiniz. Amac? auto tool zero tu?una bast??n?zda harekete ge?ek i?n ne kadar s?re beklemesi gerekti?dir. Mesela acelem var derseniz 0.25 yapabilirsiniz:) Yaln?z nokta ile virg?l de?l
'************ Otomatik Tak?m S?f?rlama******************* (G?khan abimizin payla?m?? oldu? tak?m s?f?rlama macrosudur)
Code "G0 Z-100 X50 Y50" 'Tak?m s?f?rlama sens?r?n?n kordinatlar? buraya yaz?lacak
Code "G31Z-40 F500" '-40 de?ri Z ekseninins?f?rlama yapmak i?n en fazla ne kadar inece?nin s?n?r?d?r. Mesela Auto tool zero dedeniz ve Z inmeye ba?lad?. -40 birimde probu g?remezse i?lem iptal :) F500 ise bildiginiz gibi ini? h?z?n?z. D???rmekte fayda var.
While IsMoving()
Wend
ZProbePos = GetVar(2002)
Code "G0 Z" &ZProbePos
While IsMoving ()
Wend
Call SetDro (2, 2.5) 'Buraya virg?lden sonra bo?luk b?rakarak probunuzun kal?nl??n? giriniz. Mesela 10.5 gibi. Onluk ay?rac?n?n Nokta olmas?na dikkat)
Code "G4 P0.25" 'Buradaki P de?ri s?f?rlama i?lemi bittikten sonra Z ekseninin alt sat?ra yazaca?m?z de?re kalkarak ne kadar s?reyle beklemede kalaca?d?r.
Code "G0 Z20" '20 de?ri Z nin probu g?rd?kten sonra ne kadar y?kse? kalkmas? gerekti?dir
Code "(Z ekseni sıfırlandı...)" 'Buraya s?f?rmala i?lemi sonras?nda Mach3 Stat?s bar?nda yazmas?n? istedi?niz mesaj? yazacaks?n?z.
Else
Code "(Z Eksen Sıfırlama Hatası... Ba?ant?lar? kontrol ederek tekrar deneyiniz...)" 'Anla??laca? ?zere hata durumunda mesaj?n?z
Exit Sub
End If
Code "G00 X" & x & " Y" & y '*** Tak?m de??tirmeyi tamamlay?p kald?? yere konumlanma....
DeActivateSignal(Output3) '*** Hareketli Magazin tutucu i?n gerekli sinyal....!
End Sub
'*********** Tak?m konumlnma alt fonksiyonu Tak?m yerleri burda belirtilir. ************
'Xtool: Toolun X de?ri Ytool: Toolun Y de?ri.
'Tool hangi eksende ise ona g?re de?rleri de??tirmek gerekir.
Sub ToolPos(ByVal ToolNumber As Integer)
Select Case ToolNumber
Case Is = 1
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 2
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 3
XTool = 175
YTool = 250
Tooldown=-30
Case Is = 4
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 5
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 6
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 7
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 8
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 9
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 10
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 11
XTool = 175
YTool = 250
Tooldown=-30
Case Is = 12
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 13
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 14
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 15
XTool = 175
YTool = 250
ToolDown=-30
Case Is = 16
XTool = 175
YTool = 250
ToolDown=-30
End Select
End Sub
Main