takım son üzerinde kalan takım olarak görünüyor. ilk açılışta referansa gönderdikten sonra y-300 lere gidiyor.sanki takımı bırakıyor tekrar alıyor gibi ve takım telafisi iptal olmuş oluyor kod şöyle
' OTOMATİK TAKIM DEĞİŞTİRME MAKROSU'
Public Xtool As Integer
Public Ytool As Integer
Sub Main()
OldTool = GetOEMDRO (1200)
x = GetToolChangeStart( 0 )
y = GetToolChangeStart( 1 )
z = GetToolChangeStart( 2 )
tool = GetSelectedTool()
Park = 50
NewTool = tool
MaxToolNum = 10 '*** Değiştirmek istenen max. takım sayısı
ToolDown = -15 '*** Takımı almak yada bırakmak için Z nin pozisyonu...!
ToolUp = 185 '*** Bıraktığı takımdan alacağı takıma giderken Z nin pozisyonu...!
If NewTool = OldTool Then
Exit Sub
End If
If OldTool = 0 Then
Call ToolPos(NewTool)
Code "G53 G00 X" & XTool & " Y" & YTool
While IsMoving()
Wend
Code "G53 G00 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
Code "M9" '*** Takımı bırakmak için gönderilen sinyali kapatıyor, yani takımı tutuyor.
Code "G4 P1.0" '*** Wait for the tool to Clamp
While IsMoving()
Wend
Code "G53 G00 X" & XTool & " Y" & YTool-Park '*** Takım alındıktan sonra mandaldan kurtarmak için Y yönünde +20 gidiliyor...
While IsMoving()
Wend
Code "G53 G00 Z" & ToolUp
While IsMoving()
Wend
Call SetUserDRO (1200,ToolUp)
Code "G43 H" & NewTool
Code "M3"
'************* Tool numarası set ediliyor ***********************
Call SetUserDRO (1200,NewTool)
Call SetCurrentTool( NewTool )
Code "G00 X" & x & " Y" & y '*** Takım değiştirmeyi tamamlayıp kaldığı yere konumlanma....
End If
'*************** Eski takım bırakılıyor *************************
Code "G53 G00 Z" & ToolUp
While IsMoving()
Wend
Code "M5"
Call ToolPos(OldTool)
Code "G53 G00 X" & XTool & " Y" & YTool-Park
While IsMoving()
Wend
Call SetUserDRO (1200,ToolUp)
Code "G53 G00 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
Code "G53 G00 X" & XTool & " Y" & YTool
While IsMoving()
Wend
Code "M7" '*** Takımı bırakmak için gerekli sinyal....!
Code "G4 P1.0" '*** Takımı bırakmak için bekletmek... gerektiği kadar gecikme yaptırılır...!
'SystemWaitFor (7) '*** Takımı aldığını bildiren Limit switch sinyalini beklemek...opsiyoneldir..
Code "G53 G00 Z" & ToolUp '*** Takım bırakıldı ve Toolup seviyesine çıkıldı...
'************** Yeni takım alınıyor ******************************
Call ToolPos(NewTool)
Code "G53 G00 X" & XTool & " Y" & YTool
While IsMoving()
Wend
Code "G53 G00 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
Code "M9" '*** Takımı bırakmak için gönderilen sinyali kapatıyor, yani takımı tutuyor.
Code "G4 P1.0" '*** Wait for the tool to Clamp
While IsMoving()
Wend
Code "G53 G00 X" & XTool & " Y" & YTool-Park '*** Takım alındıktan sonra mandaldan kurtarmak için Y yönünde +20 gidiliyor...
While IsMoving()
Wend
Code "G53 G00 Z" & ToolUp
While IsMoving()
Wend
Call SetUserDRO (1200,ToolUp)
Code "G43 H" & NewTool
Code "M3"
'************* Tool numarası set ediliyor ***********************
Call SetUserDRO (1200,NewTool)
Call SetCurrentTool( NewTool )
Code "G00 X" & x & " Y" & y '*** Takım değiştirmeyi tamamlayıp kaldığı yere konumlanma....
End Sub
'*********** Takım konumlnma alt fonksiyonu Takım yerleri burda belirtilir. ************
'Xtool: Toolun X değeri Ytool: Toolun Y değeri.
'Tool hangi eksende ise ona göre değerleri değiştirmek gerekir.
Sub ToolPos(ByVal ToolNumber As Integer)
Select Case ToolNumber
Case Is = 1
XTool = 45
YTool = 60
Case Is = 2
XTool = 165
YTool = 60
Case Is = 3
XTool = 285
YTool = 59
Case Is = 4
XTool = 405
YTool = 59
Case Is = 5
XTool = 525
YTool = 59
Case Is = 6
XTool = 645
YTool = 60
Case Is = 7
XTool = 765
YTool = 60
Case Is = 8
XTool = 885
YTool = 60
Case Is = 9
XTool = 1005
YTool = 60
Case Is = 10
XTool = 1125
YTool = 60
End Select
End Sub