Mach3 Otomatik Takım Değiştirme


bu videodaki gibi takım boyu telafisi işlemini nasıl yaparız. yardımcı olursanız sevinirim ben baya bi macro indirdim işin içinden çıkamadım
 
Belki yardımcı olabilir...

Mach 3 tool setter Big-tex version - Page 25



 

teşekkürler bi kaç gün içinde deniyecem. m6 makrosunun içinde çalışmasını istiyorum.
tool change pozisyonunda duracak takımı değiştirdikten sonra tekrar startladığımda 1. takımla 2. takım arasındaki boy farkını düşecek. bu kadar yazdıktan sonra farkettim macroda g43 varmış yalnız anlamadığım deactivaresignal(output5) i ne için koymuş sanırsam atc için, bide bu macro m6 macrosumu yoksa m6end macrosumu.
 
Selamlar bu macroyu biraz düzenleyip kullandım sorunsuz çalışıyor ama bahsedildiği gibi takımları sadece tepeden inip alıyor ve bırakıyor. bu macroya tooldown konumuna indikten sonra y ekseninde 20mm geriye giderek takımı bırakacak ve aynı şekilde yeni takımı tepeden inip alacak ve y ekseninde 20mm ileri çıkıp toolup yapacak şekilde nasıl düzenlerim. Çok uğraştım ama bir türlü yapamadım.
 
Visual Basic fazla bilmiyorum. Delphi olsa şipşak hallederdim.
Bende de ATC yok bu nedenle tam deneyemedim de. Her ihtimale karşı tedbirli kullanın. Sanal olarak denedim sorun gözükmüyor ama orjinali gibi bazı eksikleri var. Bazı kontroller yok bu nedenle hatalar olabilir. Spindle ağzında bıçak varmı yokmu? Bıçak konulacak yerde başka bıçak varmı yokmu? Makine ilk açıldığında spindle ağzında kaç numaralı bıçak var yada yok? Vs. vs..
Ayrıca hata durumlarında ne yapılacağıda belirsiz. Orjinalinde de bu kontroller olmadığı için şimdilik eklemeye gerek görmedim. Tüm bunları gözönünde bulundurup kullanırken emniyeti elden bırakmamak gerekir.

Tüm sorumluluk kullanacak olanlara aittir şimdiden belirteyim...

Macroda kullanılan bazı değişkenlerle ilgili bilgilerde şöyle:

Xtool, Ytool: Bıçakların bulunduğu pozisyonlar. Kullanılan magazine göre değişiklikler olabilir.

Park : Mandaldan kurtulmak için gereken mesafe. + yada - yönde olabilir.
Magazinin X yada Y ekseninde olmasına veya makinanın ön tarafında veya arka tarafında olmasına göre kullanım şekli değişebilir.
Pozisyona göre
Y+Park / Y-Park / X+Park / X-Park
olarak değişebilir.

ToolUp: Z nin bıçak bıraktıktan sonra diğer bıçağı almak için bulunacağı pozisyon (Güvenlik seviyesi)

ToolDown: Bıçakların bulunduğu Z pozisyonu.


Bıçak bırakma İşlemi:
1-Önce Z ToolUp pozisyonuna gelir.
2-XTool , Ytool+Park pozisyonuna gidilir.
3-Z Tooldown seviyesine iner.
4-XTool , Ytool pozisyonuna itilir.
5-Bıçak bırakılır.
6-Z ToolUp seviyesine çıkar.

Bıçak Alma İşlemi:
1-Önce Z ToolUp pozisyonuna gelir.
2-XTool , Ytool pozisyonuna gidilir.
3-Z Tooldown seviyesine iner.
4-Bıçak Tutulur.
5-XTool , Ytool+Park pozisyonuna çekilir.
6-Z ToolUp seviyesine çıkar.
7-Kalınan X,Y pozisyonuna gidilir.

Umarım işinize yarar. Kolay gelsin.


Kod:
' OTOMATİK TAKIM DEĞİŞTİRME MAKROSU' Mehmet İzzet KÖSE
Public xtool As Integer
Public Ytool 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...!
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 +20 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


Case Is = 2
XTool = 100
YTool = 0


Case Is = 3
XTool = 150
YTool = 0


Case Is = 4
XTool = 200
YTool = 0


Case Is = 5
XTool = 250
YTool = 0


Case Is = 6
XTool = 300
YTool = 0


Case Is = 7
XTool = 350
YTool = 0


Case Is = 8
XTool = 400
YTool = 0


End Select


End Sub
Main
 
Son düzenleme:
ramertürk teşekkürler sanal olarak sorunsuz çalıştı gerçek makinada henüz denemedim ama çalışır büyük ihtimalle. Ben park olarak yazmamıştım değişkeni ondan çalışmadı galiba benim macro her neyse.

Seninde bahsettiğin gibi mach3 her açılışında tool0 olarak açılıyor ama makinada daha önceki işten kalma tool 3 takılı olsa bile 0 olarak başlıyor. bunun bir yolu varmı mach3 kapanırken hangi tool takılı olduğunu kaydetse bunun bir yolu varmı.
yada makina işini bitirince takımı götürüp yerine bırakacak ve tool0 olarak kapanacak bir macromu eklemek lazım
 
Sanırım var. General Config içindeki Tool Selections Persistent ayarını yaparsanız en son takılı olan tool hafızada kalıyor.


 
ramerturk hocam sizinle birkac konuda görüsmem lazım.Bana yardımcı olacagınız ümidindeyim.
 
Sanırım var. General Config içindeki Tool Selections Persistent ayarını yaparsanız en son takılı olan tool hafızada kalıyor.
selam üstad. bir şey sormak istiyorum takım değiştirmede tooldowna sabit bir ölçü giriyoruz takımı almak yada bırakmak için sıfıra in gibi. bunu bütün takımlar için kullanıyor. tooldown kısmını her takım için farklı bir değer atayamazmıyız.
 

Olur tabiki neden olmasın, sadece makroda biraz değişiklik yapmak lazım. Makroda XTool,YTool yanına birde her tool için Ztool gibi bir değişken vermek gerekir. Ama bunlar için nasıl bir toolchange mekanizması kullanıldığını da bilmek gerekir. Yoksa yanlış yönlendirmiş olmayalım.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…