Mach3 Otomatik Takım Değiştirme

Bu arada;
Select Case ToolNumber
Case Is = 1
Xpos = 12.00
YPos = 2.00

Case Is = 2
Xpos = 14.00
YPos = 2.00
Case Is = 3

Xpos = 16.00
YPos = 2.00
Case Is = 4

Xpos = 18.00
YPos = 2.00
Case Is = 5

Xpos = 12.00
YPos = 4.00
Case Is = 6

Xpos = 14.00
YPos = 4.00

Case Is = 7
Xpos = 16.00
YPos = 4.00

Case Is = 8
Xpos = 18.00
YPos = 4.00

End Select
bu satırları sen kendi takımlarının koordinatları ile değiştirmen gerekiyor arkadaşım...
 

Eğer sabit sıralı ve boşluklar sabitse her takımın yerini tek tek tanıtmak yerine formul ile de yapılabilir sanırım...

Yanlışım varsa düzeltin...

Kod:
IF Toolnumber>=1 and toolnumber<=8 then 
xpos = (toolnumber * 20 {20=takımlar arası sabit boşluk mm}) + 50 (ilk takım için başlangıç pos.)
ypos = 10
end if
 
Haklısın arkadaşım olur fakat bu kodlama da o forülasyonu kullanamayız, çünkü;

While NewTool > MaxToolNum
NewTool = Question ("Enter New Tool Number up to " & MaxToolNum)
Wend

kodunda hangi takımı alacağımızı bize soruyor ve klaveden aldığı değere göre yönleniyor program...

ama dediğiniz gibi düzenlenebilir, eğer siz yeniden yapılandırıp paylaşırsanız memnun olurum, vakit bulabilirsem de ben düzenlerim çünkü daha kısa bir kodlama olur ve kolay uygulanır....
 
Mach3 ü pek bilmiyorum. Bilgim sınırlı.

Bu macro ne zaman, ne şekilde çalıştırılıyor. T01 gibi bir komut gördüğünde mi?.
Yada söyle sorayım. T01 gibi bir komut gördüğünde bu macro nun otomatik olarak çalışmasını nasıl sağlarız.
Ya da G codeları modifiye edip T01 gördüğümüz yerlere call ATC gibi bir komut mu yazılıyor.
 

Arkadaşım Mach3 de takım değiştirme M06 T01.... gibi yazılıyor... eğer otomatik takım değiştirme aparatımız mevcutsa ve sistemi otomatik olarak çalıştırmak istiyor isek; verdiğim makroyu M06 makrosuna yazıyoruz ve mach3 çalıştığı sürece M06 görünce bizim yazdığımız kodu uyguluyor.... bunu değişik şekillerde de yapabiliriz... mesela; macropump olarak da kaydederek yapabiliriz ama en kolay yöntem M06 makrosunu değiştirmek...
 
Operator -> VB script Editor

File -> Load File

C:\Mach3\macros\Mach3Mill
içindeki M6start.m1s macrosunu çağırıp bu macroyu onun içine yapıştırıyoruz, ve kayıt ediyoruz.

Ayrıca Config -> General Config menusunde
Tool Change bölümünde Auto Tool Changer seçiyoruz.

ArtSoft USA - Video Tutorials
Sol taraftan Tool Change Macro seçip videoyu izleyebilirsiniz.
 
Denedim çalışıyor...
Sadece Maxtoolnum değişkeninde değişiklik yapıldığında alt fonksiyonda da değişiklik yapmak gerekir...

Kod:
' OTOMATİK TAKIM DEĞİŞTİRME MAKROSU' Mehmet İzzet KÖSE
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()
NewTool = tool


MaxToolNum = 8 '*** Değiştirmek istenen max. takım sayısı
ToolDown = 2   '*** Takımı almak yada bırakmak için Z nin pozisyonu...!
ToolUp = 5     '*** 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 MovePos(OldTool)
While IsMoving()
Wend


Code "G53 Z" & ToolDown
Code "G4 P.75"
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.. istenirse kullanılmaz... şuan pasif durumda gerekirse satır başındaki tırnağı kaldırmak yeterli...


Code "G53 Z" & ToolUp






'*********** Yeni takım alınıyor ***********
Call MovePos(NewTool)
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 Z" & ToolUp


'---- Yeni 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 ************
Sub MovePos(ByVal ToolNumber As Integer)


If (Toolnumber>=1) And (Toolnumber<=8) Then 
xpos = (toolnumber * 25) + 10 
ypos = 4
' 25 : Takımlar arasındaki sabit mesafe
' 10 : Takım balangiç poz.


Else 
xpos=x
ypos=y
End If


Code "G53 X" & XPos & " Y" & YPos
End Sub
Main
 
Degerli kardeşim MEHMET ilgin için teşekkür eder bu degerli bilgiyi bizim ile paylaştıgın içim müteşekkürlerimi sunarım.makroyu nasıl kurup ayarlamaları nasıl yapacagımız hakkında bize detay verirseniz çok sevinirim saygılarım ile...birde takım sıfırlam gerekli oldugunu ve takım telafisi yapılması gerektigini düşünüyorum bunun hakkında da bilgilendirirseniz sevinirim, saygılarım ile...
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…