Tablaya parçayı bağlama

Ekte yine forumdaki ağabeylerimiz tarafından paylaşılan vbscript codeları mevcut. Bu kodları ATC yapısına göre yapmışlar. Ben de ATC olmayan makinam için bu kodları düzenleseme, solidcam mach3-mm postu veya vetric carve postu ATC uyumlu olarak çalışır mı?
 

Ekli dosyalar

  • takım değiştirme ve takım sıfırlama macrosu.txt
    5.3 KB · Görüntüleme: 5
bunun içindekini operator>edit button script>auto tool zero tıkla çıkan ekranda ki yazıları sil yapıştır
 

Ekli dosyalar

  • takım sıfırlama.txt
    1.4 KB · Görüntüleme: 11
Sanırım önce makineye göre ayarlamam lazım. Benim makimda sadece home swithcler var. Ve bütün eksenlerde home noktası 0, İlerledikçe pozitif değer alıyor. Ancak sadece Z ekseninde 0'ladıktan sonra aşağıya inince - değer olarak artıyor.

Bir de benim makinada ATC yok. Sadece işlem sırasında ATC gibi davranmasını istiyorum. Yani şöyle;
Makina çalışmaya başlar. 1. freze ucu ile işlemini yapar. 1. ucun işi biter.
Uç değiştirme için otomatik olarak CNC'nin orta noktasında üst konuma gelir.
Statusbarda 2. nolu ucu takınız yazar.
2. ucu manuel olarak elle takıp OK UCU TAKTIM butonuna basarım.
2. ucu makine alıp sıfırlama probe'unun olduğu yere giderek takımı sıfırlar. Ve İşlemeye başlar.
Sonra 3. freze ucu için cnc tekrar orta-üst konunma gelir...

Bu bir döngü şeklinde devam eder... böyle bir şey yapmak istiyorum.

Ekteki kodda DeActivateSignal(Output3) vs. var. Bunlar sanırım atc tetikleme için. Bana tam tersi lazım bunun. Makinanın üzerine koyduğum bir butona tıklanınca bu macrodan algılamak istiyorum. Bu benim için "ucu değiştirdim" sinyali olacak...
 
Son düzenleme:
Scipt error diyor. çünkü kodda if yok ama else var.. sanırım hatalı bu kod.

Aslında yapmak istediğim aşağıdaki videodakinin her takım değişmede takım sıfırlama yapan hali..

 
Son düzenleme:
düzenledi
 

Ekli dosyalar

  • takım sıfırlama.txt
    1.5 KB · Görüntüleme: 6
Sanırım önce makineye göre ayarlamam lazım. Benim makimda sadece home swithcler var. Ve bütün eksenlerde home noktası 0, İlerledikçe pozitif değer alıyor. Ancak sadece Z ekseninde 0'ladıktan sonra aşağıya inince - değer olarak artıyor.

Bir de benim makinada ATC yok. Sadece işlem sırasında ATC gibi davranmasını istiyorum. Yani şöyle;
Makina çalışmaya başlar. 1. freze ucu ile işlemini yapar. 1. ucun işi biter.
Uç değiştirme için otomatik olarak CNC'nin orta noktasında üst konuma gelir.
Statusbarda 2. nolu ucu takınız yazar.
2. ucu manuel olarak elle takıp OK UCU TAKTIM butonuna basarım.
2. ucu makine alıp sıfırlama probe'unun olduğu yere giderek takımı sıfırlar. Ve İşlemeye başlar.
Sonra 3. freze ucu için cnc tekrar orta-üst konunma gelir...

Bu bir döngü şeklinde devam eder... böyle bir şey yapmak istiyorum.

Ekteki kodda DeActivateSignal(Output3) vs. var. Bunlar sanırım atc tetikleme için. Bana tam tersi lazım bunun. Makinanın üzerine koyduğum bir butona tıklanınca bu macrodan algılamak istiyorum. Bu benim için "ucu değiştirdim" sinyali olacak...
bu dediğini config>general config>tool change>stop spindle. wait for cycle start ile yapabiliyorsun
 
ERROR abi. Evet o yapılıyor oradan da ben x ve y poziyonu olarak orta konuma gelsin istiyorum değişim için. Hatta hangi ucu takmam gerektiğinide söylesin. Aynı videodaki gibi...
 
Aslında yapmak istediğim aşağıdaki videodakinin her takım değişmede takım sıfırlama yapan hali

videodaki olay,
takım değiştirme yapıyor. aklındaki takım boyunu aktif olan takıma uyarlıyor. yani senin de böyle önceden takım boyunu sıfırlayıp penslere dizdiğin takımların var bu şekilde değiştireceksen olur.
ama adamın macrosu takım boyu sıfırlamıyor. sadece pensi değiştiriyor ve bir yere kayıtlı takımın boyundan bilgi alıyor
 
Evet var olan set değerinden alıyor. Ben takımı elle taktıktan sonra takım sıfırlama yaptırabilirim diye düşünüyorum. (Nasıl yapılır bilmiyorum ama deneyeceğim).

Bakalım kodları biraz anlamaya çalışıyorum. Mehmet Köse ve Ramertürk'ün açıklamalı kodlarını inceliyorum. Onda sıfırlama da var. 16 takımlı ATC'li macronun konumlarını aynı yaparak deneyeceğim. Bütün magazinler aynı konumda olacak. Bizim CNC'de değişmek için oraya gidecek. Yani makinanın ortasına. Tabi burada bekletme yapmam lazım. Bir sinyal alana kadar..

Öğrendiğim kadarıyla deneyerek çözmeye çalışacağım.
 
Kod:
' OTOMAT? TAKIM DE???ME MAKROSU
'?zet Mehmet K?E ve Ramert?rk (Mustafa Abi)
'[B]Farkl? Z seviyelerindeki tool i?n 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 = 20
NewTool = tool

MaxToolNum = 16 '*** Değiştirmek istenen max. takım sayısı?s?
ToolDown = -50   '*** Tak?m? almak yada b?rakmak i?n 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 *************************

ActivateSignal(Output3) '*** Hareketli Magazin tutucu i?n gerekli sinyal....!
Code "G00 G53 Z" &     
While IsMoving()
Wend

Call ToolPos(OldTool)
Code "G53 X" & XTool & " Y" & YTool+Park
While IsMoving()
Wend

Code "G53 Z" & ToolDown
Code "G4 P.5"
While IsMoving()
Wend

Code "G53 X" & XTool & " Y" & YTool
While IsMoving()
Wend

ActivateSignal(Output2) '*** Tak?m? b?rakmak i?n gerekli sinyal....!
Code "G4 P1.0"          '*** Tak?m? b?rakmak i?n bekletmek... gerekti? 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.5"
While IsMoving()
Wend

DeActivateSignal(Output2) '*** Tak?m? b?rakmak i?n 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?n Y y?n?nde +Park kadar gidiliyor...
While IsMoving()
Wend

Code "G53 Z" & ToolUp


'************* Tool numaras? set ediliyor ***********************

Call SetUserDRO (1200,NewTool)
SetCurrentTool( NewTool )
PlateThickness = GetUserDRO(1151)
If GetOemLed (825)=0 Then
DoOEMButton (1010)
Code "G4 P1" 'P1 de?riyle oynayabilirsiniz. Amac? auto tool zero tu?una bast??n?zda harekete ge?ek i?n ne kadar s?re beklemesi gerekti?dir. Mesela acelem var derseniz 0.25 yapabilirsiniz:) Yaln?z nokta ile virg?l de?l


'************ Otomatik Tak?m S?f?rlama******************* (G?khan abimizin payla?m?? oldu? tak?m s?f?rlama macrosudur)

Code "G0 Z-100 X50 Y50" 'Tak?m s?f?rlama sens?r?n?n kordinatlar? buraya yaz?lacak

Code "G31Z-40 F500" '-40 de?ri Z ekseninins?f?rlama yapmak i?n en fazla ne kadar inece?nin s?n?r?d?r. Mesela Auto tool zero dedeniz ve Z inmeye ba?lad?. -40 birimde probu g?remezse i?lem iptal :) F500 ise bildiginiz gibi ini? h?z?n?z. D???rmekte fayda var.
While IsMoving()
Wend

ZProbePos = GetVar(2002)
Code "G0 Z" &ZProbePos
While IsMoving ()
Wend

Call SetDro (2, 2.5) 'Buraya virg?lden sonra bo?luk b?rakarak probunuzun kal?nl??n? giriniz. Mesela 10.5 gibi. Onluk ay?rac?n?n Nokta olmas?na dikkat)
Code "G4 P0.25" 'Buradaki P de?ri s?f?rlama i?lemi bittikten sonra Z ekseninin alt sat?ra yazaca?m?z de?re kalkarak ne kadar s?reyle beklemede kalaca?d?r.
Code "G0 Z20" '20 de?ri Z nin probu g?rd?kten sonra ne kadar y?kse? kalkmas? gerekti?dir
Code "(Z ekseni sıfırlandı...)" 'Buraya s?f?rmala i?lemi sonras?nda Mach3 Stat?s bar?nda yazmas?n? istedi?niz mesaj? yazacaks?n?z.
Else
Code "(Z Eksen Sıfırlama Hatası... Ba?ant?lar? kontrol ederek tekrar deneyiniz...)" 'Anla??laca? ?zere hata durumunda mesaj?n?z
Exit Sub
End If

Code "G00 X" & x & " Y" & y '*** Tak?m de??tirmeyi tamamlay?p kald?? yere konumlanma....
DeActivateSignal(Output3) '*** Hareketli Magazin tutucu i?n gerekli sinyal....!
End Sub


'*********** Tak?m konumlnma alt fonksiyonu Tak?m yerleri burda belirtilir. ************

'Xtool: Toolun X de?ri  Ytool: Toolun Y de?ri.
'Tool hangi eksende ise ona g?re de?rleri de??tirmek gerekir.

Sub ToolPos(ByVal ToolNumber As Integer)

Select Case ToolNumber

Case Is = 1
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 2
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 3
XTool = 175
YTool = 250
Tooldown=-30

Case Is = 4
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 5
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 6
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 7
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 8
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 9
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 10
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 11
XTool = 175
YTool = 250
Tooldown=-30

Case Is = 12
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 13
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 14
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 15
XTool = 175
YTool = 250
ToolDown=-30

Case Is = 16
XTool = 175
YTool = 250
ToolDown=-30

End Select

End Sub
Main


Şöyle denedim ama script error. Debug olsa anlayacağımda..
 

Forum istatistikleri

Konular
129,833
Mesajlar
930,587
Kullanıcılar
452,659
Son üye
ertkn

Yeni konular

Geri
Üst