Reklamlar

reklam reklam

Gönderen Konu: macro ile iç kama programı yazdım tamamlayamıyorum  (Okunma sayısı 4968 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı blade93

  • Turkeycnc.com Üyesi
  • *
  • İleti: 8
  • +0/-0
macro ile iç kama programı yazdım tamamlayamıyorum
« : Mart 06, 2016, 02:17:13 ÖÖ »
O0001
#1=100  (Toplam Boyu)
#2=30    (Genişlik)
#3=20    (takım çapı)
#4=0.5   (Talaş Miktarı)
#5=-20   (Derinlik)
#6=[#1-#2]/2  (X'de Gidecek Mesafe)
#7=[#2-#3]/2  (Y'de Gidecek Mesafe Ayrıyetten Radyüs)
#8=0      (yanaşma mesafesi
G0G90G54X#6Y#7
G43H1Z50M8
M3S2500F1000
G0Z#8
N1G1G91Z-#4
G3G90Y#7R#7X#6
G1X-#6
G3Y-#7R#7
G1X#6
G3G90Y#7R#7
G1Y-#7
IF[#4GE#5] GOTO1 (Burası Tamamlamıyor Programda Çalıştırdım Sonsuz Döngü Diyor)
G0G90Z150.M9
G91G28Z0.Y0.
M30

Bu Programda Hatalarım Ne Nerede Yanlış Yapmışım Anlatırsanız Sevinirim
Aktif Normal Programlama Yapıyorum Macroya Yeni Geçtim
kolay gelsin

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #1 : Mart 06, 2016, 03:57:42 ÖÖ »
Yapmak istediğiniz şeyi biraz daha ayrıntılı olarak yazar mısınız?

Mesela ilk gözlemimde #8 değişkeni gereksiz ve kalabalık yapıyor. Değişken adı üstünde program çalışırken farklı değerler alan ölçülerdir. Bunun yerine 12. satırdaki kod bloguna direkt G0Z0 (#8'den okuttuğunuz değişken değerini) yazabilirsiniz. Hatta ve hatta #4 dışında tüm değişkenler gereksiz gibi duruyor. Çünkü #4 hariç hepsi sabit değerler. Yani N1 ve IF döngüsü arasındaki tüm değişken ifade eden yerlere gerçek ölçüleri yazabilirsiniz.

#4 değişkeni IF döngüsünden önce 0.5 artırılmalı. Çünkü program G3 G90 Y#7 R#7 X#6 satırına geldiğinde G91'i unutacak ve IF satırından N1'e yönlendirilene kadar G90 ile devam edecektir. Bu da #4 değişkenini sürekli sabit tutacak ve asla #4 ve #5 birbirine eşit olmayacak. Yani demek oluyor ki program sürekli ilk 0.5 mm adımını sonsuz tekrar edecek.

Şunu bir deneyin;

O0001
#1=100  (Toplam Boyu)
#2=30    (Genişlik)
#3=20    (takım çapı)
#4=0.5   (Talaş Miktarı)
#5=-20   (Derinlik)
#6=[#1-#2]/2  (X'de Gidecek Mesafe)
#7=[#2-#3]/2  (Y'de Gidecek Mesafe Ayrıyetten Radyüs)
#8=0      (yanaşma mesafesi  (BU SATIR İPTAL)
G0G90G54X#6Y#7
G43H1Z50M8
M3S2500F1000
G0Z0 (DİREKT DEĞER VERDİK. ÇÜNKÜ IF DÖNGÜSÜ DIŞINDA)
N1G1G90Z-#4 (G91 - G90 OLDU. #4 HARİÇ TÜM DEĞİŞKENLERE GERÇEK DEĞERLERİ YAZIP YUKARIDA TANIMLADIĞINIZ #4 HARİÇ TÜM DEĞİŞKENLERİ SİLEBİLİRSİNİZ.
KOD KALABALIĞINI ÖNLEMİŞ OLUSUNUZ. AMA BU ŞEKİLDE DE ÇALIŞIR)
G3G90Y#7R#7X#6
G1X-#6
G3Y-#7R#7
G1X#6
G3G90Y#7R#7
G1Y-#7

#4=#4+0.5 (#4 DEĞİŞKENİ HER DÖNGÜDE 0.5 ARTACAK. 0.5 - 1 - 1.5 - 2.....)
IF[-#4LE#5] GOTO1 (#4 DEĞİŞKENİ ARTI 20 OLDUĞUNDA DÖNGÜDEN ÇIKACAK VE PROGRAM BİTECEK. DİKKAT EDİLMESİ GEREKEN IF SORGUSUNDA #4'DEN ÖNCE EKSİ İŞARETİ VE "GE" YANİ BÜYÜK EŞİT DEĞİL "LE" KÜÇÜK EŞİT OLMASI GEREKİYOR. ÖRNEKLERSEM -0.5=-20 EŞİTSİZLİĞİNDE DÖNGÜ DEVAM EDECEK. İŞLEM 40 SEFER TEKRAR ETTİĞİNDE -20=-20 OLDUĞUNDA DÖNGÜ VE PROGRAM SONLANACAK. YA DA MATEMATİKSEL VE MANTIKSAL İŞLEYİŞİ TERS ÇEVİRİRSENİZ YİNE AYNI SONUCA ULAŞABİLİRSİNİZ.)
G0G90Z150.M9
G91G28Z0.Y0.
M30

Çevrimdışı blade93

  • Turkeycnc.com Üyesi
  • *
  • İleti: 8
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #2 : Mart 06, 2016, 08:19:10 ÖÖ »
Teşekkür Ederim Cevapladığın için Denedim usta oda aynı z'de bir kere -0.5 e iniyor kalkıyor
parça
100*30 Bir dişi olarak açılcak Slot Kama
20 mm derinlik var
« Son Düzenleme: Mart 06, 2016, 08:28:39 ÖÖ Gönderen: blade93 »

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #3 : Mart 06, 2016, 11:21:50 ÖS »
#4=-0.5
#5=-20.5
.
.
.
N1 G1 G90 Z#4
.
.
.
.
#4=#4-0.5
IF[#4EQ#5] GOTO1 (EQ eşitlik söz konusu. #4 -20 olduğunda işlem 39 tekrar edecek. O yüzden #5'i -20.5 yaptık.)

Bir de böyle dener misin?

Çevrimdışı blade93

  • Turkeycnc.com Üyesi
  • *
  • İleti: 8
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #4 : Mart 07, 2016, 09:34:05 ÖS »
Kafkasyalı kardeşim çok teşekkür ederim çözdüm bugün tezgahta deneye deneye yarın yazıyım tekrar nasıl yaptığımı koyarım buraya
yardımcı olduğun için çok çok teşekkür ederim

Çevrimdışı Gürkan ISIK

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #5 : Mart 09, 2016, 07:01:44 ÖÖ »
Esenlikler Ustalar
Bana da delikte kama kanali acmak icin bir makro lazim.
Malzeme Aluminyum
Delik Capi 16 H7
Acilacak Kama genisligi 4 H9
Kama derinligi 1.8 MM
Makinam Victor C eksenli
Katerim ve Bicagim var Simtek
0.02 MM derinliklerle acmayi düsünüyorum makro olmazsa 90 sefer git gel yapmak lazim.
Yardimci olursaniz cok memnun olurum.

Saygilar
« Son Düzenleme: Mart 09, 2016, 07:55:06 ÖS Gönderen: Gürkan ISIK »

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #6 : Mart 09, 2016, 05:59:29 ÖS »
Mesleki terimlere hakim değilim ama 90 sefer dediğiniz işlemin 3-5 satırını yazarsanız döngü konusunda yardımcı olmaya çalışırım.

Çevrimdışı Gürkan ISIK

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #7 : Mart 09, 2016, 07:54:39 ÖS »
Esenlikler Kafkasyali
Simdi söyle,
Delik capi 16 H7
Kanalin derinligi 17.85 yani 1.85 MM derinligi
her seferinde 0.02 MM dalaraktan 1.85 MM derinlige gitmem lazim

Örnek satir,

G00 X15.5 Z5. ( BASLANGIC NOKTASI Z VE GÜVENLI YAKLASMA X )
G01X16.03F1000 ( BIRINCI DALMA )
G01 Z-15.F5000 ( KANAL BOYUNA GIDIS )
G01X15.5F1000 ( GERI KACMA X )
G00Z5.  ( BASLANGIC NOKTASINA DÖNÜS Z )
G01X16.05F1000 ( IKINCI DALMA )
G01Z-15.F5000 ( KANAL BOYUNA GIDIS )
G01X15.5F1000 ( GERI KACMA X )
G00Z5.  ( BASLANGIC NOKTASINA DÖNÜS Z )
Döngünün 17.85 e Kadar devam etmesi lazim
degiskenler:
1.Delik Capi örnegin 16 MM
2.Kanal derinligi örnegin 1.85 MM
3.Kanal boyu örnegin 15 MM
4.Her seferinde dalma miktari örnegin 0.02 MM
5.Ilerleme hizi örnegin F5000

Esenlikler Saglicakla Kal
« Son Düzenleme: Mart 09, 2016, 08:04:07 ÖS Gönderen: Gürkan ISIK »

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #8 : Mart 10, 2016, 01:02:34 ÖÖ »
Öncelikle açıklayıcı kod için teşekkürler.

#1=16.03 (x için başlangıç değişkeni)
G00 X15.5 Z5. ( BASLANGIC NOKTASI Z VE GÜVENLI YAKLASMA X )
N1 G01 X#1 F1000 ( BIRINCI DALMA ) (her dalmada x'in alacağı değer)
G01 Z-15.F5000 ( KANAL BOYUNA GIDIS )
G01 X15.5 F1000 ( GERI KACMA X )
G00 Z5.  ( BASLANGIC NOKTASINA DÖNÜS Z )
#1=#1+0.02 (her döngüde dalma ölçüsü 0.02mm artacak)
IF[#1LE17.85]GOTO1 (eğer değişken 17.85'den küçük ya da eşitse döngüye devam et. büyükse döngüyü bitir)

DÖNGÜNÜN SON PASOSUNDA KESİCİ TAKIM BAŞLANGIÇ NOKTASINA DÖNECEK. BUNA GÖRE PROGRAM BİTİŞ KODLARINI GÜVENLİ ÇIKIŞ VE GÜVENLİ REFERANS NOKTASINA GELECEK ŞEKLİNDE DÜZENLEYİNİZ. LÜTFEN TÜM TEDBİRLERİ ALINIZ. PROGRAMI SİMÜLATÖRDE TEST ETME İMKANINIZ VARSA ÖNCE TEST EDİNİZ. GEREKİRSE İLK ÇALIŞMAYI TEZGAHA PARÇA BAĞLAMADAN YAVAŞ YAVAŞ ÇALIŞTIRINIZ.

Makronun çalışıp çalışmadığını belirtirseniz sevinirim. İyi çalışmalar.

Çevrimdışı Gürkan ISIK

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #9 : Mart 10, 2016, 02:03:20 ÖÖ »
Esenlikler Kafkasyali

Ellerine saglik yarin veya Cuma günü deneyecegim ve sonucuda mutlaka bildirecegim.

Esenlikler Saglicakla kal Saygilar

Çevrimdışı Gürkan ISIK

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #10 : Mart 10, 2016, 09:00:43 ÖS »
Esenlikler kafkasyali

Calistiramadim adres bulunamadi diyor

Saygilar

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #11 : Mart 10, 2016, 11:06:38 ÖS »
Kullandığınız tam programı yazabilir misiniz?
« Son Düzenleme: Mart 10, 2016, 11:41:42 ÖS Gönderen: Kafkasyali »

Çevrimdışı Gürkan ISIK

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #12 : Mart 10, 2016, 11:29:20 ÖS »
Esenlikler kafkasyali
Bu sekilde yazdim evde cimko edit ile calisti ve tam istedigim gibi oldu ellerine saglik ilgine sonsuz tesekkürler.Yalniz söyle bir sey var simdi dalma miktarini degistirdigim Zaman tam älcüye getirmiyor örnek verecek olursam "17.85-16.01=1.84"  "1.84/0.02=92" bu tamam "1.84/0.05=36.8" burada sadece  "36*0.05=1.8" yani 0.04 almiyor bununda bir cözümü vardir herhalde.
Birde geri kacmayida hesaplattirabiliriz herhalde.
Yarin isyerinde bu sekilde deniyecegim olmasi lazim.Sonucu da yine bildirecegim mutlaka.

Saygilar

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01       ( DELIK CAPI )
#2=  5.00       ( GÜVENLI MESAFE Z )
#3= 17.85      ( KANAL BITIS ÖLCÜSÜ )
#4=-15.00      ( KANAL BOYU )
#5= 15.90      ( GERI KACMA X )
#6= 3000      ( ILERLEME )
#7= 0.02      ( DALMA MIKTARI )
G00X#1.Z#2.
N99 G01 X#1#6
N10G99G01X#1
G01Z-#4.F#6
G01X#5F#6
G00Z#2
#1=#1+#7
IF[#1LE#3]GOTO99
G00X200.Z200.M09
M05
M46
M30
« Son Düzenleme: Mart 10, 2016, 11:30:58 ÖS Gönderen: Gürkan ISIK »

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #13 : Mart 11, 2016, 12:48:31 ÖÖ »
Öncelikle sabit ölçüler için değişken tanımlamak kullanışsız olur. Mesela F için değişken tanımlamak fazladan satır yazmanıza sebep oluyor. Direkt F3000 yazabilirsiniz. Hatta görünüşe göre döngüye giren tek değişken #1 olduğu için diğer tüm değişkenleri silip, yerine gerçek ölçüleri yazabilirsiniz. Böylece #2 veya #7 neydi deyip program başına dönmezsiniz. Tabi yazdığım programı benden başkası anlamasın diyorsanız iyi bir çözüm  :)

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01       ( DELIK CAPI )
#2=  5.00       ( GÜVENLI MESAFE Z )
#3= 17.85      ( KANAL BITIS ÖLCÜSÜ )
#4=-15.00      ( KANAL BOYU )
#5= 15.90      ( GERI KACMA X )
#6= 3000      ( ILERLEME )
#7= 0.02      ( DALMA MIKTARI )
G00X#1.Z#2.
N99 G01 X#1#6
N10G99G01X#1
G01Z-#4.F#6     (#4 değişkeni zaten negatif değerde? eksi çarpı eksi artı sonuç vermez mi?)
G01X#5F#6
G00Z#2

#1=#1+#7
IF[#7GE#3] THEN #7=#3(EKLENECEK SATIR. BÖYLECE SON DALMA KANAL BİTİŞ ÖLÜSÜNDEN BÜYÜK OLURSA TAM ÖLÇÜYE GELMİŞ OLACAK)
IF[#1LE#3]GOTO99
G00X200.Z200.M09
M05
M46
M30

Açıkçası döngü içeriğini yani mavi kısmı pek anlamadım. Fakat mantık şu şekilde işliyor. IF'ler kapı olsun. Birinci IF kapısından geçerken dalma miktarı kontrol ediliyor. Bitiş ölçüsünden küçükse işlem yapmıyor. Büyükse ya da eşitse dalma miktarını tam ölçüye getirip alttaki IF kapısına paslıyor. Eğer dalma miktarı döngü sonucunda tam ölçüye geldiyse döngü ve program sonlanıyor. Dediğim gibi mavi kısmı pek anlamadım ama bilgisayar programlama dahil tüm programlama dillerinde mantık bu şekilde işliyor. Eğer yarın uygun bir saate teamviewer ile bağlantı kurarsak daha detaylı bakabiliriz.

Bu arada keşke çırağınız olsaydım. Torna hakkında sadece teorik bilgilere sahibim.
« Son Düzenleme: Mart 11, 2016, 12:59:21 ÖÖ Gönderen: Kafkasyali »

Çevrimdışı ziro302008

  • Turkeycnc.com Üyesi
  • *
  • İleti: 9
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #14 : Mart 13, 2016, 07:03:34 ÖS »
Gordugum kadariyla zaten program sonsuz calisacak sekilde yazilmis
bise ( while) do1  ve (end1) satirlarini kullan yani programi sartlandirman lazim
Örnek: while [#1gt#2] do1 program sonunada END1 yazarsin