Ana Menü

G25 Macro örneği

Başlatan Sfr, Ağustos 17, 2019, 03:37:02 ÖS

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Sfr

Çeşitli macro örnekleri inceleme ve deneme yanılma sonucunda yazdığım macrodur.

O0004(DAIRE CEP FREZELEME)
-----
-----
#2=5(TAKIM YARI CAPI)
#5=47.43(ISLENECEK DAIRE YARICAP)
#7=19.07(DERINLIK)
#6=[#7/10](PASO)
#8=[#6]
#4=#5-#2
#1=#5-[#5/#2]
WHILE[#6LE#7]DO1
#4=#5-#2
G90G00X#4Y0
WHILE[0LE#4]DO2
G90G01X[#4]Y0F150
G01Z-#6
G03I-[#4]
G91G00Z3
#4=#4-#2
END2
#6=#6+#8
END1
G90G00Z10


Bu programda işin içine virgülden sonra binler basamağını (#5=47.438 gibi) kattığım zaman sonuç hatalı çıkıyor. Yani Binlik kısmında hesap yaptıramıyorum.
#6=[#7/10](PASO) paso miktarı arttıkça 10 ve katları yazmak gerekiyor. Yukarıda anlattığım sorundan dolayı.
Bu sorunu  Round'la çözmeye çalıştım ama kullanım yanlış yapıyorum yada bu çözüm değil.
Yada paso hesaplattırmanın başka bir çözüm önerisi sunabilecek arkadaşlar var cevapları için şimdiden teşekkür ederim.

Birde Macro da or ,xor, and... gibi terimlerin kullanım örneğini hiç göremedim nette. Bana kaynak gösterecek arkadaş varsa sevinirim.

Ufk

O0004(DAIRE CEP FREZELEME)
#2=5(TAKIM YARI CAPI)
#5=47.43(ISLENECEK DAIRE YARICAP)
#7=19.07(DERINLIK)
#6=2(PASO)                         buraya her tur dalmak istediğin derinlik yazılır.
#8=#6
N20#4=#5-#2
G90G0X#4Y0
IF[#6GE#7]THEN#6=#7        burada son son tur derinlik istediğin ölçüyü geçerse hatveyi #7 değişkenine eşitler.
G1Z-#6F150
WHILE[0LE#4]DO2
G1X#4
G03I-#4
#4=#4-#2
END2
G90G0Z3.
IF[#6EQ#7]GOTO10
#6=#6+#8
GOTO20
N10G90G0Z10.
M30

WHILE komutu kapalı çevrim IF komutu kullanarak daha esnek programlar yazılabilir.

Sfr

Ufk usata örnek için emeğine sağlık. 

#2=5(TAKIM YARI CAPI)
#5=25.223(ISLENECEK DAIRE YARICAP)
#7=20.001(DERINLIK)
#6=2(PASO)
#8=#6
#1=#7+#6-0.001

WHILE[#6LE#1]DO1
#4=#5-#2
IF[#6GE#7]THEN#6=#7
G90G00X#4Y0
G01Z-[#6]F150
WHILE[0LE#4]DO2
G01X[#4]
G03I-[#4]
#4=#4-#2
END2
G91G00Z5
#6=#6+#8
END1
G90G00Z10

sayende tam G25 yada Delik büyütme oldu diyebilirim :)
IF'de GOTO ile geri satırlar atınca geçikme oluyor diye okumuştum.Bu yüzden WHILE ile yazmaya çalıştık. Sadece WHILE ile olmuyor sayende  farkına vardım.

Ufk

Evet gecikme oluyor alt program kullanıyormuş gibi davranıyor.
Eğer sürekli kullanacağınız programsa kendim için hazırladığım programı verebilirim.

Sfr

Ufk usta sağolasın öyle çok kullanılcak değil.
Yeni macro öğreniyorumda deneme amaçlı yazmıştım.
Neler yapılabilir nasıl olur gibi örneklere bakarak bişleyler  öğrenmeye çalışıylrum işte.

Ufk

Allah kolaylık versin hayırlı işler

serhat16123

Arkadaşlar Yukardaki Makrolarda bir kaç değişiklik yaptım şimdi kullanılabilir oldular eksikleri vardı.,
Ben şuan iş yerimde bunu kullanıyorum.

O0004(DAIRE CEP FREZELEME)
#11=10(TAKIM CAP)
#13=20(CAP)
#7=29.07(Z TOPLAM DERINLIK)
#6=0.4(Z PASO)
#10=3000(S DEVIR)
#25=1500(F ILERLEME)
#16=54(PARCA SIFIRIN NEREDE¿)
(-----------------------------)
#12=#11/2
#14=#13/2
#8=#6
N20#4=#14-#12
G90 G#16 G1 X#-4 Y0
M3 S#10
IF[#6GE#7]THEN#6=#7
G1Z-#6F#25
WHILE[0LE#4]DO2
G1X#4
G03I-#4
#4=#4-#12
END2
G91G1Z0.
IF[#6EQ#7]GOTO10
#6=#6+#8
GOTO20
N10G90G0Z50.
M30