Mach3 Kullanımı

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Lpt drayver i kurdunuzmu mach 3 ile birlikte kuruluyor
 
arkadaşlar mach3 te takım değiştirme üzerinde çalışıyorum. Sağolsunlar paylaşımlardan çok yararlandım.fakat şöyle bir sıkıntı var makinayı kapattıktan sonra yeniden açtığımda referans home gönderiyorum. programı yükleyip çalıştırınca takım üzerinde olmasına rağmen alakasız bir yere gidip takımı bırakıp almaya çalışıyor.

acaba referans home macro yazıp, referansa gittikten sonra g54 e gitse ve orda takımı ve takım boyunu set ettirebilirmiyim .

şimdiden yardımlarınız için teşekkürler.
Merhaba konu detayli bi sekilde mehmet kose abinin takim degistirme konusu icinde yer aliyor.. forumda kontrol edersen ve okursa isi cozersin... macro icinde kullanim sekli detayli anlatimis....

Titizmutfak kardes konu farkli bi mecrada...mach3 ara birim kartlari icindeki driver kart ile mach3 icin kullanilmak iken birda konu kurulu mach 3 icinde auto toolchange bolumune macro ile yapilan bir islem yapilmasi durumu...
 
Alakasiz dedigin belkide alakalidir. Mach3 kafasina gore is yapmaz. Ya macroda hata var ya yukledigin programda yada makinayi kapatip acinca tool no 1 oluyor bundan kaynaklidir. Toolchange macronu ve yukledigin programi buraya yapistirirsan yardımcı olabiliriz belki. Kapatip actiginda tool no resetlenmesin istersen ayarlardan yapabilirsin.
 
Son düzenleme:
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
 
bu da general config ayarı
 

Ekli dosyalar

  • general config.jpg
    general config.jpg
    330.4 KB · Görüntüleme: 60
KAZIM emmi hallederdi ama haberi olmadı heralde :))) yaklaşık 1 yıldır foruma dahil olmuyordum, bıraktığımda 101. sayfadaydı, şuan 102. sayfada , demek ki çok bilmiş abiler amaçlarına ulaşmışlar, istedikleri gibi kendileri yazmazsa kimseyi de yazmaz hale getirmişler... buyrun meydan :) Allah kolaylık versin....
 
Mehmet bey abi sen sen ol... genede kendini burdan mahrum birakma...belki biri senden faydalanir..
 
bu mokro için her gece vakit ayırıp günlerce uğraşarak yazmış olduğum takım değiştirme makrosu, emeğe saygı adına kullanırken işinize yarayan kısmı almak yerine başlık satırı ile alıp kullansanız daha bir hoş olurdu diye düşünüyorum, başlık satırı aynen şu şekilde idi yanlış hatırlamıyorsam;

'******************************************************************************************************************************'
'********************************************************************************************************************************'
'***************************************************MEHMET İZZET KÖSE**************************************************'
'**************************************OTOMATİK TAKIM DEĞİŞTİRME MAKROSU**************************************'
'*********************************************************************************************************************************'
'********************************************************************************************************************************'

neyse her ne şekilde her kim kullanırsa helali hoş olsun istediği gibi kullansın :) (zaten öyle yapıyoruz diyenleri duyar gibiyim)...

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
 
Oyle olmuyo bazi seylerin parasininda odenmesin lazim. Sadece tedarik ediken tarafin hayatta kalip tekrar tedarik etmek icin. Gerci zeki murenin dedigi gibi dualarla yasiyorum...

benim de deneme yapmak istedigim... cnc torna projem var.. ama c eksenli...ozelden. yazmistim..ama iyi anlatamadim...
 
Negibi deneme yapmak istiyorsun arkadaşım? C ekseni kullanımı basit mekanik olarak düzenin hazır ise ve donanım olarakta gerekli malzemelerin varsa kolayca halledebilirsin... yapmak istediğini kısaca özetlersen belki bir yardımımız dokunabilir...
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Forum istatistikleri

Konular
129,834
Mesajlar
930,598
Kullanıcılar
452,662
Son üye
Yılmaz Çetiner

Yeni konular

Geri
Üst