Reklamlar

reklam reklam

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

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Gürkan ISIK

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

Program bu sekilde gayet iyi calisiyor paso derinligini tam hesaplamam lazim ki kama Kanal derinligini tam yapabilsin.Mesela paso derinligini hesaplamadan verdigim Zaman bitis ölcüsüne getirmiyor.Misal verecek olursam Kanal derinligi 19.73 MM de bitmesi gerekirken 19.51 MM de bitiyor olmasi gereken 7*0.5=3.5 MM ve son pasoyuda 0.22 MM alarak 19.73 MM de bitirmesi lazim.
Yarin videoya cekip burada yayinliyacagim.
Bu arada kafkasyali Ustam gec cevap yazdigim icin de kusuruma bakma.

ziro302008 Usta dedigini denedim ama yapamadim daha dogrusu usum kalmadi yarin tekrar ugrasirim yada sizlerin yardimi ile hallederiz.Sizlere cok tesekkür ediyorum.

Video linki

Saygilar

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01    ( DELIK CAPI )      
#2=  5.00     ( GÜVENLI YAKLASMA Z )   
#3=  1.86           ( KANAL DERINLIGI X )   
#4= 15.00           ( KANAL BOYU Z )
#5=  0.5            ( PASO DERINLIGI X )
#6= #1-[0.1]      
#7= 6000      
#8=#1+[#3*2]    (burasini neden koydugumuda acikliyayim aynamiz dönmedigi icin kama derinliginin iki katini almamiz lazim)   
G00X#1.Z#2.
#1=#1+#5
N99 G01 X#1F#7
N10G99G01X#1
G01Z-#4F#7
G01X#6F#7
G00Z#2
#1=#1+#5
IF[#1LE#8]GOTO99
G00X200.Z200.M09
M05
M46
M30
« Son Düzenleme: Mart 14, 2016, 04:15:54 ÖÖ Gönderen: Gürkan ISIK »

Çevrimdışı blade93

  • Turkeycnc.com Üyesi
  • *
  • İleti: 8
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #16 : Mart 14, 2016, 08:41:34 ÖS »
kusura bakma Kafkasyalı kardeşim internetle ilgili sıkıntım vardı bir haftada anca çözüldü
yazdığım slot iç kama açma makrosu

O0001
#1=100  (SLOT BOYU)
#2=30    (SLOT GENİŞLİĞİ)
#3=20    (TAKIM ÇAPI)
#4=0      (ELLEME   
#5=20    (DERİNLİK
#6=[#1-#2]/2
#7=[#2-#3]/2
#8=0 (YANAŞMA)
G0G90G54X#6Y#7
G43H1Z50M8
M3S2500F1000
G0Z#8
N1G1G90Z#4
G3G90Y#7R#7X#6
G1X-#6
G3Y-#7R#7
G1X#6
#4=[-#4+0.5]
IF[-#5LE#4]GOTO1
N2
G0G90Z50.M9
G91G28Z0.Y0.
M30

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #17 : Mart 14, 2016, 11:02:11 ÖS »
@Gürkan ISIK ve @blade93

Vallahi ustalar şunu söylemeden geçemeyeceğim. Bu programlar birer sanat eseri. Tam birer batch programlama örneği.
Kendi deyimimle bu kadar "değişmeyen değişken" (!!?? ne demekse :) ) tanımlanmasına anlam verememiştim. Çünkü bilgisayar programlama için gereksiz değişken tanımı hafıza ve disk şişirmekten başka bir işe yaramaz. Meğer bu değişkenler diğer ölçüler için "standart" niteliği taşıyormuş. Sırf programı çözmek için 45 dakika harcadım ve 3 tane sigara içtim. Madem değişkenlerden gidiyoruz, ölçümüzü tam yapacak eklemeleri yapalım.

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01    ( DELIK CAPI )     
#2=  5.00     ( GÜVENLI YAKLASMA Z )   
#3=  1.86           ( KANAL DERINLIGI X )   
#4= 15.00           ( KANAL BOYU Z )
#5=  0.5            ( PASO DERINLIGI X )
#6= #1-[0.1]     
#7= 6000     
#8=#1+[#3*2]    (burasini neden koydugumuda acikliyayim aynamiz dönmedigi icin kama derinliginin iki katini almamiz lazim)   
G00X#1.Z#2.
#1=#1+#5
N99 G01 X#1F#7
N10G99G01X#1
G01Z-#4F#7
G01X#6F#7
G00Z#2
#1=#1+#5
IF[#1GE#8]THEN #1=#8 (son pasoyu tam ölçüye getirmek için. 20.01'i görünce ölçüyü 19.73'e getirecek. Yani #8'i okuyacak.)
IF[#1LE#8]GOTO99   (yukarıdaki satırı eklemezsek 8. pasoya geldiğinde değer 20.01 olur ve son pasoyu almadan 19.51'de döngü biter.)
G00X200.Z200.M09
M05
M46
M30

Çevrimdışı qaos35

  • Turkeycnc.com Üyesi
  • *
  • İleti: 6
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #18 : Mart 02, 2017, 04:22:19 ÖÖ »
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #17 : Mart 14, 2016, 11:02:11 ÖS »
Alıntı
@Gürkan ISIK ve @blade93

Vallahi ustalar şunu söylemeden geçemeyeceğim. Bu programlar birer sanat eseri. Tam birer batch programlama örneği.
Kendi deyimimle bu kadar "değişmeyen değişken" (!!?? ne demekse :) ) tanımlanmasına anlam verememiştim. Çünkü bilgisayar programlama için gereksiz değişken tanımı hafıza ve disk şişirmekten başka bir işe yaramaz. Meğer bu değişkenler diğer ölçüler için "standart" niteliği taşıyormuş. Sırf programı çözmek için 45 dakika harcadım ve 3 tane sigara içtim. Madem değişkenlerden gidiyoruz, ölçümüzü tam yapacak eklemeleri yapalım.

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01    ( DELIK CAPI )     
#2=  5.00     ( GÜVENLI YAKLASMA Z )   
#3=  1.86           ( KANAL DERINLIGI X )   
#4= 15.00           ( KANAL BOYU Z )
#5=  0.5            ( PASO DERINLIGI X )
#6= #1-[0.1]     
#7= 6000     
#8=#1+[#3*2]    (burasini neden koydugumuda acikliyayim aynamiz dönmedigi icin kama derinliginin iki katini almamiz lazim)   
G00X#1.Z#2.
#1=#1+#5
N99 G01 X#1F#7
N10G99G01X#1
G01Z-#4F#7
G01X#6F#7
G00Z#2
#1=#1+#5
IF[#1GE#8]THEN #1=#8 (son pasoyu tam ölçüye getirmek için. 20.01'i görünce ölçüyü 19.73'e getirecek. Yani #8'i okuyacak.)
IF[#1LE#8]GOTO99   (yukarıdaki satırı eklemezsek 8. pasoya geldiğinde değer 20.01 olur ve son pasoyu almadan 19.51'de döngü biter.)
G00X200.Z200.M09
M05
M46
M30







MERHABA KAFKASYALI ŞİMDİ BURADA İF SATIRINI ALT ALTA 2 DEFA MI YAZACAĞIZ ?
« Son Düzenleme: Mart 02, 2017, 04:27:56 ÖÖ Gönderen: qaos35 »

Çevrimdışı Kafkasyali

  • Operatör
  • **
  • İleti: 41
  • +1/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #19 : Mart 11, 2017, 12:48:17 ÖÖ »
Öncelikle mesajı geç gördüm kusura bakmayın.

Bir örnekle açıklamaya çalışayım;

Kod: You are not allowed to view links. Register or Login
#1=0
#2=9
N99 #1=#1+2
IF[#1GE#8]THEN #1=#8
IF[#1LE#8]GOTO99

#1 değişkeni 0 olsun
#8 değişkeni 9 olsun

#1 değişkenini 2'şer 2'şer artıralım ve ulaşmak istediğimiz değer #8'deki 9 değeri olsun.

Şimdi #1 değeri 2-4-6-8 diye artacak ve 5'inci döngüde #8 değişkeni 10 olacak. Fakat bize 10 değil, 9 lazım. İlk IF döngüsünde #1 ile #8 karşılaştırılıyor. Bu karşılaştırmada eğer #1 değeri 10 olursa #8 değerine eşitleyecek.

İkinci IF döngüsünde #1 değeri #8 değerinden küçük mü? diye kontrol ediliyor. Eğer 2-4-6-8 değerinden biri ise döngü devam ediyor. 8'den sonra 10 geleceği için son pasoda ilk IF döngüsü 10 değerini 9'a çeker. 9=9 olduğu için şart biter. Dolayısı ile döngü biter ve parça istenilen ölçüye alınır.

Daha kısacası makro yazarken iç içe ve alt alta IF, WHILE, FOR gibi döngüler yazılabilir.
« Son Düzenleme: Mart 11, 2017, 12:51:28 ÖÖ Gönderen: Kafkasyali »

Çevrimdışı qaos35

  • Turkeycnc.com Üyesi
  • *
  • İleti: 6
  • +0/-0
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #20 : Mart 11, 2017, 07:36:34 ÖÖ »
Anladım kafkasyalı çok iyi açıkladın normalde if  le  while  kullanıyorum ama iyi değilim teşekkür ederim verdiğin bilgi için

Çevrimdışı SFKY42

  • Operatör
  • Turkeycnc.com Üyesi
  • *
  • İleti: 8
  • +0/-0
  • Cinsiyet: Bay
  • Başkası değil, Kendin ol ;)
Ynt: macro ile iç kama programı yazdım tamamlayamıyorum
« Yanıtla #21 : Ocak 19, 2019, 07:34:55 ÖS »
You are not allowed to view links. Register or Login
@Gürkan ISIK ve @blade93

Vallahi ustalar şunu söylemeden geçemeyeceğim. Bu programlar birer sanat eseri. Tam birer batch programlama örneği.
Kendi deyimimle bu kadar "değişmeyen değişken" (!!?? ne demekse :) ) tanımlanmasına anlam verememiştim. Çünkü bilgisayar programlama için gereksiz değişken tanımı hafıza ve disk şişirmekten başka bir işe yaramaz. Meğer bu değişkenler diğer ölçüler için "standart" niteliği taşıyormuş. Sırf programı çözmek için 45 dakika harcadım ve 3 tane sigara içtim. Madem değişkenlerden gidiyoruz, ölçümüzü tam yapacak eklemeleri yapalım.

N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01    ( DELIK CAPI )     
#2=  5.00     ( GÜVENLI YAKLASMA Z )   
#3=  1.86           ( KANAL DERINLIGI X )   
#4= 15.00           ( KANAL BOYU Z )
#5=  0.5            ( PASO DERINLIGI X )
#6= #1-[0.1]     
#7= 6000     
#8=#1+[#3*2]    (burasini neden koydugumuda acikliyayim aynamiz dönmedigi icin kama derinliginin iki katini almamiz lazim)   
G00X#1.Z#2.
#1=#1+#5
N99 G01 X#1F#7
N10G99G01X#1
G01Z-#4F#7
G01X#6F#7
G00Z#2
#1=#1+#5
IF[#1GE#8]THEN #1=#8 (son pasoyu tam ölçüye getirmek için. 20.01'i görünce ölçüyü 19.73'e getirecek. Yani #8'i okuyacak.)
IF[#1LE#8]GOTO99   (yukarıdaki satırı eklemezsek 8. pasoya geldiğinde değer 20.01 olur ve son pasoyu almadan 19.51'de döngü biter.)
G00X200.Z200.M09
M05
M46
M30



Değerli forum sakinler, yukarıdaki programlamada basit bi hata payı gözden kaçmış olduğundan döngü sürekli kendisini tekrarlayacaktır(sonsuz).
Sadede gelirsek; programa yukarıdaki Kafkasyalı'nın eklediği denetim yapılarını fazla kurcalamadan, değiştirerek ve üstte de bi denetim yapısı eklersek programın hatasız çalışacağını umuyorum.


Alıntı
N08
G54
G98G18M45
G00T0808
G28H0.
C0.
#1= 16.01    ( DELIK CAPI )     
#2=  5.00     ( GÜVENLI YAKLASMA Z )   
#3=  1.86           ( KANAL DERINLIGI X )   
#4= 15.00           ( KANAL BOYU Z )
#5=  0.5            ( PASO DERINLIGI X )
#6= #1-[0.1]     
#7= 6000     
#8=#1+[#3*2]    (burasini neden koydugumuda acikliyayim aynamiz dönmedigi icin kama derinliginin iki katini almamiz lazim)   
G00X#1.Z#2.
#1=#1+#5 (LOOP BASLAMADAN, ILK PASO VERDIK(MEMORYDE) HADI HAYIRLISI. BOSTA KESME YAPMASINI KIMSE ISTEMEZ.)
N99IF[#1GT#8]THEN #1=#8 (son pasoyu tam ölçüye getirmek için. 20.01'i görünce ölçüyü 19.73'e getirecek. Yani #8'i okuyacak.)
N10G99G01X#1F#7
G01Z-#4F#7
G01X#6F#7
G00Z#2
IF[#1NE#8]THEN #1=#1+#5
IF[#1NE#8]GOTO99
G00X200.Z200.M09
M05
M46
M30
Düzenlemesi yapılan ve eklenen&silinen satırların liste ve açıklaması;
G01 X#1 (TEZGAHIN TAKIM KONUMLANDIRMASIDAN SONRAKI ILK SATIR DUPLICATE SATIR OLDUGU ICIN SILINDI. X EKSENI MUTLAK DEGERDIR, 2 TANE OLMASININ MANASI YOK.)
N99IF[#1GT#8]THEN #1=#8 (SATIR ACIKLAMASI=SON PASO 19.73DEN FAZLASI VAR ISE HIC PARCAMI BOZMADAN, PASOYU 19.73E GETIR GUZEL KARDESIM FANUC (: )
IF[#1NE#8]THEN #1=#1+#5 (SATIR ACIKLAMASI=PASO 16.01+(1.86*2)=19.73 DEGILSE TEZGAHA PASO VER, EGER IS PARCASI VERILEN OLCUDEYSE, PASO VERIP DONGU BOZMA. BU PROGRAMIN ULASILACAK PASOSU TEK SAYI OLDUGU ICIN TEZGAH 8.PASO ALINMASINI ONGORECEK VE OLCU 20.01E ESITLENECEK DAHA SONRA ALT SATIRA GECIP ISLEMIN DEVAMINI ALT SATIRDA SAGLAYACAGIZ.)
IF[#1NE#8]GOTO99 (SATIR ACIKLAMASI= TEZGAH EGER KI PASO 19.73=19.73 NOKSANSIZ ISE SATIR ATLAMA, ALT SATIRA GEC PROGRAMI REWIND'A ULASTIR )
M30 VS.
%

Bu makro program daha da geliştirilebilir.
« Son Düzenleme: Ocak 19, 2019, 07:51:44 ÖS Gönderen: SFKY42 »
Alıntı
Makro programlama deniz gibidir; yüzmeyi bilen kurtulur, bilmeyen içinde boğulur.
0LT0=FALSE boolean değeri döndürür.
0GT0=FALSE bool değeri döndürür.
0NE0=FALSE bool değeri döndürür.
0LE0=TRUE bool değeri döndürür.
0GE0=TRUE bool değeri döndürür.
0EQ0=TRUE bool değeri döndürür.