' OTOMATİK TAKIM DEĞİŞTİRME MAKROSU
'[B]Farklı Z seviyelerindeki tool için 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 = 50
NewTool = tool
MaxToolNum = 8 '*** Değiştirmek istenen max. takım sayısı
ToolDown = -30 '*** Takımı almak yada bırakmak için 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 *************************
Code "G00 G53 Z" & ToolUp
While IsMoving()
Wend
Call ToolPos(OldTool)
Code "G53 X" & XTool & " Y" & YTool+Park
While IsMoving()
Wend
Code "G53 Z" & ToolDown
Code "G4 P.75"
While IsMoving()
Wend
Code "G53 X" & XTool & " Y" & YTool
While IsMoving()
Wend
ActivateSignal(Output1) '*** 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 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.75"
While IsMoving()
Wend
DeActivateSignal(Output1) '*** 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 X" & XTool & " Y" & YTool+Park '*** Takım alındıktan sonra mandaldan kurtarmak için Y yönünde +Park kadar gidiliyor...
While IsMoving()
Wend
Code "G53 Z" & ToolUp
'************* Tool numarası set ediliyor ***********************
Call SetUserDRO (1200,NewTool)
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 = 50
YTool = 0
ToolDown=-25
Case Is = 2
XTool = 100
YTool = 0
ToolDown=-20
Case Is = 3
XTool = 150
YTool = 0
Tooldown=-40
Case Is = 4
XTool = 200
YTool = 0
ToolDown=-20
Case Is = 5
XTool = 250
YTool = 0
ToolDown=-20
Case Is = 6
XTool = 300
YTool = 0
ToolDown=-20
Case Is = 7
XTool = 350
YTool = 0
ToolDown=-20
Case Is = 8
XTool = 400
YTool = 0
ToolDown=-20
End Select
End Sub
Main