#501=#26(zdeinligi)
#502=#23(whatve)
#503=#9(filerleme)
#504=#1(adaireninyarıçapı)
#505=#7(takımyarıçapıdyazılacak)
#508=#504-#505(diş çekilecek çaptan takım çapını çıkartır)
G54G90(G54 sıfırı nı kullanmayan değiştirebilir)
Z-#501+3(VERİLEN Z BOYUNDAN 3 MM YUKARI GÜVENLİ YANAŞIR)
Z-#501F#503/4(Kalan 3 mm ye verilen ilerlemenin 4/1 ile malzemeye temas eder)
G0X-#508F#503/2(diş çekilecek çapa verilen ilerlemenin 1/2 ile dalar)
N1G2I#508J0Z-#501F#503(1/1 ilerleme ile dişi çeker)
#501=#501-#502(her pasoda bulundugu yerden hatveyi hessaplar)
IF[#501GE#30]GOTO1(burada koşul oluşturma #30 ne yazarsam yazayım 0 kadar çekiyor artıya çıkmıyor)
G91G28Z0
M99
alt proğramı
G54
G90S1000M03
G0X0.Y0.
G65P9004Z30.W5.A100.D20.F200.
G28G91Z0.
M30
(z toplam derinlik)
(w hatvesi )
(A diş çekilecek yarı çap)
(D takım yarı çapı)
(f ilerleme )
bu makroyu ben yazdım ve istenilen hatvede istenilen çapa diş çekiyor umarım işe yarar
benden daha iyi makro yazmayı bilen arkadaşlarda prğramı geliştirip sunmalarını bekliyorum teşekkürler
sinan usta paylaşım için teşekkürler..macro konusunda böle örneklere ihtiyacımız var.devamı gelir inşallah.
M6 T1
#1=10 (TAKIM YARI ÇAP) (istege göre değiştirilebilir)
#2=50 (DAİRE ÇAP) (istege göre değiştirilebilir)
#3=40 (DERINLIK) (istege göre değiştirilebilir)
#4=3 (HATVE) (istege göre değiştirilebilir)
#5=0 (Z0.)
#6=[#4*0.6495] (DİŞ DİBİ HESABI)
#7= [#2-#1] (DAİRE EKSİ=TAKIM YARI ÇAP)
G0 G90 G54 X[#7/2+#6] Y0 (#7+#6 takım ve diş hesabı )
M3 S1500
G43 H1 Z5
G1 Z1 F500
WHILE [#5 LE #3]DO1 (Z0. DAN Z-40'A DERİNLİGE KADAR)
G2 I-[#7/2+#6] Z-#5 F500
#5=#5+[#4/2] (yay yarım olacagı için hatve bölü 2 yaptık)
END1
G1 X0 Y0
G0 Z150
M5
M30
buyrun bu makro da benden alt program yok
;D gülerek kullanın ;D
Güzel konu
Alıntı yapılan: osecgin - Mayıs 10, 2009, 09:19:46 ÖS
Arkadaşlar, burada diş çekme ile ilgili iki örnek vermişsiniz fakat anlamadığım bir konu var.
Tornada vida açarken fenermili ile Z ekseni koordineli çalışmalı. bunu nasıl sağlıyorsunuz?
(Fenermili sürekli dönerken, ikinci pasoda kesici ucun ilk pasoda oluşturduğu kanala gelmesi olayını nasıl sağlıyorsunuz?)
Açıklarsanız sevinirim.
Selamlar...
iş parçası sökülmediği sürece torna ep aynı hatve üzerinden gider bunu sen değil tezgah saglar ve özellikle bir komutu yoktur diş çekerken ve hatta işleme yaparken devir ve ilerlemeni her pasoda değiştirme yeter anladın diye düşünüyorum
Alıntı yapılan: semih77 - Mayıs 10, 2009, 12:10:52 ÖS
sinan usta paylaşım için teşekkürler..macro konusunda böle örneklere ihtiyacımız var.devamı gelir inşallah.
tabiki kardeşim çokk iyi değilim ama makro konusunda buyur elimden gelenleri yayınlayayım
http://www.turkeycnc.com/macro-programlama/ornek-makrolar-t3895.0.html
fanuc freze diş açma
M6 T1
#1=10 (TAKIM YARI ÇAP) (istege göre değiştirilebilir)
#2=50 (DAİRE ÇAP) (istege göre değiştirilebilir)
#3=40 (DERINLIK) (istege göre değiştirilebilir)
#4=3 (HATVE) (istege göre değiştirilebilir)
#5=0 (Z0.)
#6=[#4*0.6495] (DİŞ DİBİ HESABI)
#7= [#2-#1] (DAİRE EKSİ=TAKIM YARI ÇAP)
G0 G90 G54 X[#7/2+#6] Y0 (#7+#6 takım ve diş hesabı )
M3 S1500
G43 H1 Z5
G1 Z1 F500
WHILE [#5 LE #3]DO1 (Z0. DAN Z-40'A DERİNLİGE KADAR)
G2 I-[#7/2+#6] Z-#5 F500
#5=#5+[#4/2] (yay yarım olacagı için hatve bölü 2 yaptık)
END1
G1 X0 Y0
G0 Z150
M5
M30
buyrun bu makro da benden alt program yok
gülerek kullanın
Alıntı yapılan: sinan - Mayıs 10, 2009, 09:02:58 ÖÖ
#501=#26(zdeinligi)
#502=#23(whatve)
#503=#9(filerleme)
#504=#1(adaireninyarıçapı)
#505=#7(takımyarıçapıdyazılacak)
#508=#504-#505(diş çekilecek çaptan takım çapını çıkartır)
G54G90(G54 sıfırı nı kullanmayan değiştirebilir)
Z-#501+3(VERİLEN Z BOYUNDAN 3 MM YUKARI GÜVENLİ YANAŞIR)
Z-#501F#503/4(Kalan 3 mm ye verilen ilerlemenin 4/1 ile malzemeye temas eder)
G0X-#508F#503/2(diş çekilecek çapa verilen ilerlemenin 1/2 ile dalar)
N1G2I#508J0Z-#501F#503(1/1 ilerleme ile dişi çeker)
#501=#501-#502(her pasoda bulundugu yerden hatveyi hessaplar)
IF[#501GE#30]GOTO1(burada koşul oluşturma #30 ne yazarsam yazayım 0 kadar çekiyor artıya çıkmıyor)
G91G28Z0
M99
alt proğramı
G54
G90S1000M03
G0X0.Y0.
G65P9004Z30.W5.A100.D20.F200.
G28G91Z0.
M30
(z toplam derinlik)
(w hatvesi )
(A diş çekilecek yarı çap)
(D takım yarı çapı)
(f ilerleme )
bu makroyu ben yazdım ve istenilen hatvede istenilen çapa diş çekiyor umarım işe yarar
benden daha iyi makro yazmayı bilen arkadaşlarda prğramı geliştirip sunmalarını bekliyorum teşekkürler
sinan bu program ile diş çektinmi?
bende adress not found hatası veriyo
birde #500 lere bağımsız değişken leri atamışsın #501=#26(zdeinligi) gibi,burayı anlayamadım acıklayabilirmisin
şimdiden teşekkürler
HER TEZGAH Z- OLARAK KABUL ETMİYOR..
Z-#501 DERKEN BENCE...
adresn not faunt hatası veren sistem nedir acaba
fanuc 21 i-mb
program basında hata veriyodu
Z-#501+3
bu ve benzeri işlemleri köşeli parantez içinde yapmalısın Z-[#501+3]
N1G2I#508J0Z-#501F#503 burda ilk pasoyu olduğun yerde dönüyomuşsun gibi geldi bana
çünkü #501 i ilk konumlandığı pozisyondan sonra değiştiren bir macro yok
yani z30 da ise N1 deki işlemi yaparken yine z30 da kalıcak
sonraki işlemlerde hatveye göre z den ölçü düşülecek
Z-#501+3 burda ise toplama işlemi yapılmış fakat Z- demişsin yani eksi yöne doğru işlem yapıcak buda Z-33 gitmesine neden olucaktır
bu yüzden bu macro ile diş çektinmi diye sordum umarım beni yanlış anlamamışsındır
bende macro yu yeni öğreniyorum amacım yapılan herhangi bir program altındaki mantığı,ordaki pratik zekayı anlamak,kavramak
tabi bununla birlikte çözüm yolları bulup hem kendimi hemde karşımdakileri geliştirmek
Alıntı yapılan: crisis - Mayıs 12, 2009, 06:41:17 ÖS
fanuc 21 i-mb
program basında hata veriyodu
Z-#501+3
bu ve benzeri işlemleri köşeli parantez içinde yapmalısın Z-[#501+3]
N1G2I#508J0Z-#501F#503 burda ilk pasoyu olduğun yerde dönüyomuşsun gibi geldi bana
çünkü #501 i ilk konumlandığı pozisyondan sonra değiştiren bir macro yok
yani z30 da ise N1 deki işlemi yaparken yine z30 da kalıcak
sonraki işlemlerde hatveye göre z den ölçü düşülecek
Z-#501+3 burda ise toplama işlemi yapılmış fakat Z- demişsin yani eksi yöne doğru işlem yapıcak buda Z-33 gitmesine neden olucaktır
bu yüzden bu macro ile diş çektinmi diye sordum umarım beni yanlış anlamamışsındır
bende macro yu yeni öğreniyorum amacım yapılan herhangi bir program altındaki mantığı,ordaki pratik zekayı anlamak,kavramak
tabi bununla birlikte çözüm yolları bulup hem kendimi hemde karşımdakileri geliştirmek
bu proğramla ycm tezgahında fanuc oi serisi diş çektim sıkıntısız bir şekilde eksiden artıya doğru çekiyor sebebi ilk dişi dalarken bozmaması
z-501+3
33 mm değil üstadım 27 mm yanaşır -30+3 = -27 mantıgı 27 mm hızlı yanaştıktan sonra ilerleme ile -30 mm gidiyor güvenlik amaçlı
parantez içinde kullanmak dersen haklısın bende bununla ilgili makaleyi bu gün okudum makro da benden iyisin ve ilgin ve yardımına teşekkür ederim ayrıca istersen makro ile ilgili elimde olan tüm dökümanı seninle paylaşıcam kısa zamanda değerli şeyler var içinde...
Alıntı yapılan: sinan - Mayıs 13, 2009, 12:01:17 ÖÖ
Alıntı yapılan: crisis - Mayıs 12, 2009, 06:41:17 ÖS
fanuc 21 i-mb
program basında hata veriyodu
Z-#501+3
bu ve benzeri işlemleri köşeli parantez içinde yapmalısın Z-[#501+3]
N1G2I#508J0Z-#501F#503 burda ilk pasoyu olduğun yerde dönüyomuşsun gibi geldi bana
çünkü #501 i ilk konumlandığı pozisyondan sonra değiştiren bir macro yok
yani z30 da ise N1 deki işlemi yaparken yine z30 da kalıcak
sonraki işlemlerde hatveye göre z den ölçü düşülecek
Z-#501+3 burda ise toplama işlemi yapılmış fakat Z- demişsin yani eksi yöne doğru işlem yapıcak buda Z-33 gitmesine neden olucaktır
bu yüzden bu macro ile diş çektinmi diye sordum umarım beni yanlış anlamamışsındır
bende macro yu yeni öğreniyorum amacım yapılan herhangi bir program altındaki mantığı,ordaki pratik zekayı anlamak,kavramak
tabi bununla birlikte çözüm yolları bulup hem kendimi hemde karşımdakileri geliştirmek
bu proğramla ycm tezgahında fanuc oi serisi diş çektim sıkıntısız bir şekilde eksiden artıya doğru çekiyor sebebi ilk dişi dalarken bozmaması
z-501+3
33 mm değil üstadım 27 mm yanaşır -30+3 = -27 mantıgı 27 mm hızlı yanaştıktan sonra ilerleme ile -30 mm gidiyor güvenlik amaçlı
parantez içinde kullanmak dersen haklısın bende bununla ilgili makaleyi bu gün okudum makro da benden iyisin ve ilgin ve yardımına teşekkür ederim ayrıca istersen makro ile ilgili elimde olan tüm dökümanı seninle paylaşıcam kısa zamanda değerli şeyler var içinde...
doğrudur tezgahımda bir iki uyumsuz nokta oldu
zaten amaç gelişmek geliştirmek,aynı işi birçok farklı şekilde işleyebilip en kısa ve pratik olanı bulmak
paylaşacağın dökümanlara sadece ben değil eminim tüm forum sevinecektir
şimdiden teşekkürler
crsis vu makroyu musait bir zamanında incelemen münkünmü tornada sana bir sorum olmuştu kalan pasoyu temizleme diye şimdi bu makroya uyguladım ama çözemedim tşk
gecen gunku o iş için yapılmış bişeydi,senin yazdıkların çok bozulmasın diye üstüne ekleme yapmıştım ben
buna direk uymaması normal biraz değişiklikle uydurdum
G65 kullandığına göre sen paket program tarzında bir alt makro istiyosun sanırım
programdan anladığım kadarı ile yaptım,neden böyle söyledim cunku o programda şekli çıkardıktan sonra ortada işlenmemiş bir bölüm kalıyodu,yani bi cep boşaltma değil
takım telafilerini iptal ettim,ana programda G41-G42 kullanılırsa bu yazdığım makro hem dış kenar hemde ceplerde iç kenarlar için kullanılabilir diye düşündüm,aslında G65 e dahil edilen takım çapı + yada - olarak belirtilirse öylede olabilir,onu sen ekle istersen,birde köşe radyus leri çalıştığım tezgahlarda bu şekilde çalışmıyor tam köşe oluyor,
elimden geleni yaptım sen üstüne istediğin eklemeleri kendine göre yaparsın artık
G91G30Z0
G91G30X0Y0
S1000M03
G54G90G0X0.Y0. (DKTRKENMERKEZNOKTASI)
Z50.F200.
G65P9120X100.Y50.Z-10.W3.R50.D20.F500
G91G30Z0
G91G30X0Y0
...
O9120
#501=#24(X)
#502=#25(Y)
#503=0(Z)
#504=#23(W PASO)
#505=#26(Z FINISH)
#506=#18(R KOSE RADYUS)
G0X#501Y-#502 (İLK POZİSYONLAMA)
Z[#503+3] (Z3 GUVENLİ MESAFE)
G1Z#503F200 (MALZEMEYE TEMAS ETTI)
#503=[#503-#504] (Z OLCUSUNDEN VERİLEN PASOYU DÜŞ)
N1G90G1Z#503F#9 (Z DE 3MM EKSI YONDE KESME YAP)
G1X-#501R#506
Y#502R#506
X#501R#506
Y-#502R#506
G91X-#506
IF[#503EQ#505]GOTO2 (Z BOYU İSTENİLEN DERİNLİĞE EŞİT İSE N2 DEN DEVAM ET,DEĞİL İSE ALT SATIR)
#503=[#503-#504] (Z DEN 3 MM DUS)
IF[#503GT#505]GOTO1 (Z İSTENİLEN DEĞERDEN BÜYÜK İSE N1 E DÖN,DEĞİL İSE ALT SATIR)
IF[#503NE#505]THEN#503=#505 (Z BOYU İSTENİLEN DERİNLİK DEĞERİNE EŞİT DEĞİL İSE EŞİTLE VE ALT SATIRDAN DEVAM ET)
IF[#503EQ#505]GOTO1 (Z BOYU İSTENİLEN DERİNLİK DEĞERİNE EŞİT İSE N1 DEN DEVAM ET)(BU 2 SATIR SON PASO İÇİN)
N2G0G90Z10.
Z50.
M99
program denenmiştir
aslında bunu farklı bir başlık altında yazsaydık
crisis açıklayıcı örnegine teşekkür ederim süper olmuş....benim G65 YAPMAMIN SEBEBİ bu proğramlara G Veya m kodu atıyor olmam
Anladıgın üzre tezgahlara yeni m ve g kodu yapıyorum bunlarla çok işlevsel bir şey oluyor
ÖRNEK:
M66Z30.
Bu minik satırla tezgah x0 Y0 otomatik geliyor z3. otomatik
yanaşıyor ve 3mm 3mm gagalayarak 30 mm delik deliyor ve z ekseni takım değiştirme noktasına gelip bekliyor...
3202 parametresinden
tekrar emegine sağlık crsis
G91G30Z0
G91G30X0Y0
S1000M03
G54G90G0X0.Y0.
Z50.F200.
G65P9120X100.Y50.Z-10.W3.R3.F500
G91G30Z0
G91G30X0Y0
O9120
#3=0
G0X#24Y-#25
Z#18 (Z3 GUVENLİ MESAFE)
G1Z#3F200
#3=[#3-#23]
N1G90G1Z#3 F#9
G1X-#24
Y#25
X#24
Y-#25
G91X-[#24/2]
IF[#3EQ#26]GOTO2
#3=[#3-#23]
IF[#3GT#26]GOTO1
IF[#3NE#26]THEN#3=#26
IF[#3EQ#26]GOTO1
N2G0G90Z10.
Z50.
M99
o zaman boyle kullan istersen hem daha kısa hemde direk G65 in harflerine karşılık gelen değişken macrolarla yazılmış oluyor
bu arada radyus lerini iptal ettim R yi guvenli mesafe için kullandım genelde o maksatla kullanılıyo
radyus için sen baska kod kullanabilirsin
hemen bakıyorum kaile deger bir değişiklik yapabilirsem paylaşırım emegine sağlıku
istersen yeni bir sayfada yayınla bu makroyu ama köşe raidusları katarsak daha tatlı ve işlevsel olur çogu tezgaahın tanıyacagını düşünüyorum