[0:00]Merhaba arkadaşlar, hoş geldiniz. Bu dersimizde uçan testere uygulaması yapacağım. En çok kullanılan MC komutlarını anlattım. Anlatmadıklarım da var. Ancak onlar yeri gelirse anlatırım. Artık bundan sonra uygulamaya yönelik sahada karşılaştığımız gerçek projeler yapacağım. Bunların programlanmasını anlatacağım. Bazı uygulama tipleri vardır. Bunlar temel uygulamalardır. Bunları birçok projede kullanabilirsiniz. Flying Saw, uçan testere de bunlardan bir tanesi. Örneğin Rotary Knife dediğimiz bir uygulama çeşitleri var. Onu da birçok projede uygulamada kullanıyoruz. Onu da daha sonra ilerleyen zamanlarda, ilerleyen videolarda anlatacağım. Önce uçan testere uygulaması neydi, onu bir hatırlayalım. Buna benzer bir uygulamayı MC Impost eğitim videosunda anlatmıştım. Hatırlamak isteyenler tekrar orayı izleyebilir. Orada yaptığım örneği Kam komutlarıyla yapacağız bu sefer. Ve uçan testereyi üç aşamada anlatacağım. Bu üç aşamalı olan üç farklı tipteki uygulamanın birbirinden bazı farklı yönleri var. Uygulamanın çeşidine göre bu üçünden birini seçip kullanabilirsiniz. Birinci aşamada en basit olan MC Impost'ta anlattığım şekilde ve buradaki şekle bakacak olursak hemen hatırlayalım. Bir tane konvoyör vardı. Bir tane sensör var. Sensör süngeri gördüğü zaman belli bir mesafe sonra senkron olacaktı. Tam şu kırmızı noktada senkron olup beraber giderken kesme işlemini bitirecek. Kesme işlemi bittikten sonra buradaki araba dediğimiz üzerinde testerenin olduğu kütle tekrar geri yerine gelecekti. Buradaki sünger sürekli akıyor. Ön tarafta üretilen sünger arka tarafa doğru ileriye doğru sürekli akmakta. Burada konvoyörün bir hat hızı var. Bu hat hızına bu aşağıdaki araba dediğimiz uçan makas veya uçan testere yukarıdaki hat hızına senkron olduktan sonra kesme işlemini yapıp tekrar geri gelecek. Burada uçan testere Flying Saw deniyor. Uçan makas da denebilir veya uçan testere de söylenebilir. Hepsi aynı şey. Buradaki esas mantık Slave ekseninin yani buradaki bu kütlenin, bu üzerinde kesici aletin, testerenin bulunduğu kısmın ana hattaki yani Master'a belli bir pozisyon kadar veya belli bir süre senkron olması ve bu senkronizasyon esnasında belli işlemlerin yapılıyor olması mantığına dayanıyor. Bu işlemler genellikle kesme işlemidir ancak farklı işlemler de olabilir. Uygulamaya göre değişebilir bu durum. Buna en temel Motion uygulaması diyebiliriz. Şimdi bir de grafiğine bakalım. Burada kırmızı ile gösterilen çizgi Master'ın hızı. Master sürekli akıyor, akmakta. Yeşil ile gösterilen Slave'in hız zaman grafiği. Burada Master'ın hızını bir harici enkoder ile alabiliriz veya bir Servo motor döndürüyorsa bu konvoyörü oradan da ulaşabiliriz. Şimdi bu uçan testerenin örnek uygulamalarını görsel olarak görmek istiyorsanız YouTube'dan Flying Saw veya uçan testere yazarak öncelikle bir videolarını izleyin. Bir nasıl olduğunu anlayın bilmeyenler için söylüyorum bunu ki burada yapacağımız uygulama kafanızda daha iyi canlanır. Ben bu eğitime video koymadım, telif sıkıntısı olmasın diye. O yüzden kendiniz YouTube'dan şu anahtar kelimeleri yazarak nasıl oluyormuş gerçekte diye bakabilirsiniz kendiniz. Ondan sonra devam ederseniz daha iyi olur. Ne demiştik? Burada Slave belli bir ivmelenme ile hızlanacak. Master hızla senkron olacak. Şu bölge senkronizasyon bölgesi. Burada birtakım işlemler yapılacak. Bu işlem bittikten sonra Slave yavaşlayacak ve işi bittikten sonra geri gelecek. Tekrar bir sonraki komutu bekleyecek. Yani tekrardan arkadan yeni bir sünger gelecek. Sensör görecek, tam şurası trik noktası. Tekrar sensör gördüğü zaman hızlanacak, senkron olacak, yavaşlayacak ve tekrar geri gelecek. Bu örnekte şu arada bir boşluk var görüyorsunuz. Bu continuous bir örnek değil, uygulama değil. Bunun continuous yani sürekli akan örneği de var. Kesintisiz versiyonu da var. Onu da anlatacağım. Ama bu başlangıç için bu örnek yeterli. Gear Impost videomda şu noktada senkron olsun, beraber hareket etsin, kessin ve geri gelsin demiştik. Şimdi burada tam yine şu noktada senkron olmasını istiyorum ben.
[4:47]Ama tam buradan yani Slave'in buradan buraya gelmesi aslında rampalanma kısmını ifade ediyor bizde. Yani Slave tam şu kırmızı çizgiye geldiği zaman şu rampalanmanın bitmiş olması gerekiyor. Tam şu noktada senkronizasyon başlıyor. Bıçak aşağı yukarı yaparak sünger kestikten sonra tekrar Slave geri gelip rampalı bir şekilde yavaşlayarak geri gelecek.
[5:17]Aynı süreç bir sonraki periyot için tekrar etmiş olacak ta ki sensör yeni ürünü görene kadar, yani süngeri görene kadar. Şu ara yeni ürünü bekleme zamanı. Ne zaman geleceği üretimle alakalı. Geldikten sonra sensör süngeri gördükten sonra burada tekrardan aynı süreç, aynı cycle devam edecek. Şimdi programlama editörüne bakalım. Evet arkadaşlar, şimdi ben dört tane Kam bloğu ekledim. Ben bu uygulamayı dört segmentte yapacağım. Yani benim burada bir hızlanma profilim var. Bu bir Kam olacak. Burada da bir constant bölgesi var, sabit hız bölgesi, senkron bölgesi. Bu bir Kam olacak. Ve yavaşlama bölgesi var. Bu da bir Kam olacak ve toplamda bir geri dönüş olacak. Bunu tek bir segment olarak düşünüyoruz. Bu da dördüncü Kam bölgesi olacak. Bunun için dört tane Kam bloğu eklemem gerekiyor benim uygulamada. Bu birinci Kam. İsmi instance acceleration. Bu ikinci senkron bölgesi, bu üçüncü deaceleration, bu da dördüncü. Dördüncü bu örnekte olmayacak.
[6:28]Bu ilk aşama olacağı için burada şu üç segment Kam olacak. Bu geri dönüşü normal Move absolute ile yapacağız ve başladığı noktayı göndereceğiz. Şimdi değişkenlerimize bakalım neler girdiğimize bakalım. Şimdi öncelikle ben buraya Master'ı bağladım, Slave'i bağladım ve bir kesim start ile bu Kam'ı tetikletmiş oluyorum. Şimdi benim öncelikle şu Kam tablomıza bakalım. Kam acceleration'da ne var? Kam acceleration'ımı bu şekilde yaptım. Burada birebir yaptık. Böyle bir hız zaman grafiği olacak. Kam cycle time'ı 2 saniye yaptım. Ondan sonra Kam constant'ım var. Şu şekle tekrar bakacak olursak arkadaşlar buradaki Kam hız zaman grafiği şekline bakacak olursak burada hızlanıyor ve sonra bir hız birleşimi var. Blend yapıyor yani bu hız birleşiminden sonra devam ediyor, tekrar bir hız birleşimi var ve burada bitiyor. Burada hız birleşimi olmayacak. Burada zaten sıfıra iniyoruz. Yani şu köşelerde bir hız birleşimi var. Buna dikkat edin. Tanımlamamız gerekiyor. Şimdi ben hız profilinde Polinomik 3 seçtim veya 5 de seçebilirsiniz veya Free seçmeniz gerekiyor. Bu connection velocity yapabilmeniz için, connection velocity yapabilmeniz için burayı tiklemeniz gerekiyor ve bunu da bir birim olarak seçmeniz gerekiyor. Yine Master ve Slave zaten bir. Bunların değerlerini Master scale, Slave scale üzerinden vereceğiz programlama editöründe. Burada Kam cycle time'ı 2 yaptım çünkü burada 1 yaparsanız bu şekilde bir eğri oluyor. Bunu istemiyorum ben. Bu şekilde düz bir doğru olmuş oluyor gördüğünüz gibi. Şimdi constant bölgesine bakalım. Constant bölgesinde yine birebir girdim. Bu sefer straight line girdim yani düz doğru. Düz doğru şeklinde yaptım bunu. Kam deaceleration'a bakalım. Şimdi burada bir önceki hıza kendini bağlaması gerektiği için bunun initial velocity'sine bir girmem gerekiyor. Hatırlarsanız burada da Kam acceleration'ın connection velocity'sini işaretlemiştim ve 1 girmiştim. Araya bu girdi sonra bu olacak ama bunun öncesinde hız olduğu için initial velocity'ye 1 girmiş oldum. Polinomik 3 şeklinde. Yani burada bu Kam acceleration, Kam constant ve Kam deaceleration'ı tanımlamış oldum. Şimdi bunların parametrelerine bakalım. Şimdi burada bazı basit hesaplar yapacağız. Şimdi bu örneğimizde kesim boyunu ben 500 mm aldım. Stroke'um 750 mm ve senkron mesafem 200 mm olarak seçtim. Şimdi buradan bakalım. Stroke'um 750 mm'ymiş. Yani şunun şurada şu hareket bölgesi toplamı 750 mm olarak düşünün. Kesme boyum da 500 mm'ymiş. Senkron mesafem de 200 mm. Yani şurada senkron olduktan sonra şu bölgede 200 mm yol gidecekmiş. Şimdi şunu hatırlayalım. Şu altta kalan alan Master'ın alanıydı. Şu üçgen alan Slave'in alanıydı. Yani Master'ın alacağı yolun yarısı olmuş oluyor. Yani ben şunu diyeceğim. Master 50 yol alırken burada ne olmuş oluyor?
[9:41]Slave 25 mm yol almış oluyor, yarısı kadar. Burası sabit bölge. Buraya ben senkron bölgeye 200 mm demiştim. Acceleration'da yaptığım şeyi deaceleration'da da yapacağım. Şunu şöyle düşünürsek, şu altta kalan alan 50. Slave için şu bölge 25 oluyor. Şurası. Burada tanımlamalarımı yaptım. Şimdi buraya girecek olursak ilk başta benim acceleration var. Bunun instansını buraya yazdım ben. Acceleration Kam FB. Master scaling'i Master scaling'i 2'ye böl dedim. Yani Master 50 yol alırken Slave'inkine bunun yarısı kadar al dedim çünkü oradaki o üçgen eşitliğini sağlamak için. Ve senkron Kam'ıma bakacak olursak burada girdiğim senkron mesafe kadar ikisi yol alacak. Yavaşlama Kam'ında da yukarıdakiyle aynı yaptım. Master 50 yol alırken Slave onun yarısı kadar yol alacak. Bunları da girdim. Şimdi benim start position'ım var. Yani bu Kam'ın bir başlama pozisyonu olması gerekiyor. Bunu da kesim start dediğim zaman o andaki Master'ın pozisyonu neyse onu atayacak start position'a. Bu şekilde başlayacak. Şurada senkronizasyon değilse, Slave senkronizasyon değilse diye bir tedbir koymuşuz. Bu aslında gerçek uygulamalarda bu tedbir sayıları artacaktır. Burada bunun olmasının sebebi ben bu kesim start'ı verdiğim zaman bu start position sürekli burada Master'ın artmasıyla değişmiş olacak. Bu sefer Kam çalışmamış olacak veya saçma çalışacak. Bu yüzden bu senkronizasyon yokken alsın. Ondan sonra senkronizasyon geldiği zaman zaten burasının işletmesine gerek yok. Başka ne vardı? Şimdi bu da kesim start'ı koydum, buraya da koydum. Buraya buzilerini koyuyoruz. Yani bu meşgul değilse, buzi değilse bunu tetikletecek. Şimdi bu tetiklendikten sonra dikkat edin. Burada blending next girili buffer modlar hepsinde blending next girili. Yukarıdaki Kam bloğunun in senkronuyla veya inkamıyla bunu tetikliyoruz. Bunun inkamını veya in senkronuyla bir sonrakini tetikliyoruz. En sonunda da ileri hareket tamamlandıktan sonra bunun end of profile yani profil sonundaki durum bitiyle de MC Move ile Slave ekseni başlangıç konumuna geri gönderiyoruz.
[12:06]Bu grafikte görmüş olduğunuz hız profili, hareket profilini yapmış oluyoruz. Yani hızlanıyor, senkron oluyor, yavaşlıyor. Ondan sonra tam şurada end of profile geliyor, şurada. Burada end of profile geldiği zaman Move komutuyla bunu geri başladığı noktaya gönderiyoruz. Command olarak tekrar burası sıfır oluyor. Pozisyon olarak Slave sıfır noktası oluyor. Burada tekrardan bekliyor. Bu da tekrardan sensör trik geldiği zaman aynı hareket profilini tekrardan tamamlıyor. Yani tekrar baştan alırsam eğer kesim start dediğimde Master'ın o anki pozisyonunu acceleration komut start position olarak atıyoruz. Master 50 gittiğinde Slave onun yarısı kadar gidecek. Burada girilen senkron mesafe kadar Master scaling ve Slave scaling hareket edecek. Ondan sonra yavaşlama Kam'ında da yine Master 50 giderken Slave onun yarısı kadar yol alacak. Bunları da girdim. Bu Kam tetiklendiği zaman bu Kam'ı da tetikliyoruz ve Blending next ile birbirine bağlıyoruz. Ondan sonra bu Kam harekete başladığında bu Kam'ı tetikliyoruz. Bu Kam'ın end of profile'ında da Slave ekseni başladığı noktaya geri gönderiyoruz. Şimdi bunu trace alıp nasıl olduğuna bakalım. Ben burada şimdi Master'ı açtım. Master dönüyor burada arkadaşlar. 100 hızla dönüyor. Trace'imi de açtım. Kesim start dediğimde trace başlayacak. Zaten burada Slave hareketlerini görüyorsunuz.
[13:37]Şu anda geri geliyor ve hareket tamamlandı. Hatta tekrardan vereceğim. İki kere peş peşe yapmış olalım. Evet şimdi trace'i açalım. Evet gördüğünüz gibi burada senkron oluyor. Şu mavi Master'ız, turuncu Slave'ız. Senkron oluyor, aynı hızdalar. Ondan sonra yavaşlıyor, yavaşladıktan sonra geri gidiyor sıfıra. Şurada bekleme süremiz var. Tam burada tekrardan trik yapıyorum. Trik yaptıktan sonra aynı hareketi tekrar yapıyor. Yani buradaki çalışma mantığı bu şekilde. Sensör gördükçe şu profili tamamlıyor. Sensör gördükçe bu profili tamamlıyor. Peki grafiği okuyalım. Gerçekten doğru mu değerler diye. Şimdi biz demiştik ki Master 50 gittiğinde Slave 25 gidecek. Bakalım. Şimdi Master CMD posu burada 895 küsuratlara çok takılmayın. 50 sonrasına bakalım. 945 yapar. Şurada görüyorsunuz 50 gitmiş. Slave de Slave'in pozisyonu da burada sıfırdı. Burada 25 gitmiş oldu. Bakın burada görüyorsunuz. Biraz daha yaklaştırırsak şurada da bir yerde 25 olmuş oldu. Slave'in buradan buraya 200 gitmesi gerekiyor. Evet 225 oldu. Aynı şekilde Master da Master'ın burada pozisyonu 950. 200 daha giderse 1150. Aynı hareket profilini burada yapıyor. Sonra buradan buraya aldığı yolu Slave geri gelecek. Geri geldikten sonra burada bekliyor artık. Bir sonraki sinyali bekliyor. Gördüğünüz gibi grafik üzerinde de bizim burada girdiğimiz rakamlar uyuşuyor. Bu temel seviye bir uçan testere örneği. Şimdi bunu ilerleteceğiz yavaş yavaş. Bir sonraki örnekte bunun bir ileri versiyonunu yapacağız. Şimdi arkadaşlar diyeceksiniz ki bu kesim boyunu hiç kullanmadık. Bunu nerede hesaba kattık diye. Şimdi bu ilk örnekte dediğim gibi sensör geldiği zaman, sensörün yükselen kenarı ile tetikletip Slave rampa yapıyor. Senkroniza ulaşıyor ve kesip tekrar yerine geri geliyor. Aslında burada kesim boyunun bir önemi yok şundan dolayı yok. Burada bir sensöre bakıyoruz. Şurada sensör var. Bu sensör tetiklediğinde zaten bu sensör ile şu kesme arası 500 mm olmuş oluyor aslında. Yani bunu program içerisinde girmenize gerek yok bu örnekte. Çünkü burada tamamen sensörün hareketine göre biz bu hareket profilini oluşturuyoruz ve uyguluyoruz. Ama biz program içerisinde bunu buraya girdik. Şu anda kullanmadık. Biraz sonra kullanacağız bilginiz olsun. Yani ben bu sensörü bu tarafa kaydırırsam bu kesme boyunu artırmış olurum. Bu tarafa kaydırırsam bu kesme boyunu kısaltmış olurum. Mantık bu şekilde burada. Şimdi arkadaşlar continuous yani sürekli akan bir uçan testere uygulaması yapacağız. Akan şey malzemenin kendisi. Malzeme sürekli akmakta. Ve bizim testeremiz de boya ulaşınca, girilen set değerine ulaşınca malzemenin boyu uçan testere senkrona ulaşıyor. Burada olduğu gibi rampasını yapıyor. Rampayı yaptıktan sonra senkron oluyor. Senkron oldu biti geldikten sonra burada kesme işlemi başlıyor. Yani burada cutting started oluyor. Kesme işlemi başlıyor. Kesme işlemi bittikten sonra yavaşlıyor. Yavaşladıktan sonra burada geri geliyor Slave. Yani testereyi taşıyan arabamız, kütlemiz geri geliyor. Sonra bir sonraki boya gelince, bu sefer boy tamamlanınca tekrardan hareketini başlıyor. Bu gerçek bir piyasada olan uçan testere uygulaması. Şimdi bununla ilgili YouTube'dan videoları izlediğinizi düşünüyorum. Örneğin bir profil boru düşünün. Profil boru ön taraftan sürekli akıyor. Malzeme sürekli akan bir malzeme. Ve benim girdiğim set boyum neyse, set edilen boy neyse o boya ulaştıkça otomatik olarak sürekli kesiyor. Biz örneğimizde 500 mm gideceğiz, set boyu. Şöyle upuzun bir boru var. Bu boru sürekli akıyor. Şimdi ilk start'ta hemen Slave harekete başlayacak ve şuradan kestiğini düşünelim. Bu ilk kestiğindeki şu kısım free oluyor. Yani aslında bizim ilk start'ta şu ucundaki artık free olmuş oluyor. Ama ondan sonra her kestiğinde, her kestiğinde ben burada tam boya ulaşmış olacağım. Set edilen boy neyse ona ulaşmış olacağım. Buradaki örneğimiz bir profil boru olarak düşünün. Yani benim aslında periyodum şöyle olmuş oluyor. Şimdi ben burada senkrona ulaştım, kestim. Bir sonraki kesme işlemim burada olmuş oluyor. Yani benim aslında boyum şu grafik üzerinden gösterirsem şu iki çizgi arasında olmuş oluyor 500 mm. İlk start'ta hızlandı, burada verdim, burada kestim, yavaşladım, geri geldim. Bu esnada tabii ki boy saymaya devam ediyor. Hat sürekli akıyor. Burada hızlıca geri geliyorum. Burada bekliyorum. Burada beklerken de boy saymaya devam ediyor. Sonra boya ulaşınca tekrardan hızlanıyorum. Aynı işlem devam ediyor. Ama dediğim gibi benim esas kesme işlemim burada başlıyor. Bir sonraki kesme işlemim de burada olduğu için benim boyum bu iki çizgi arasında olmuş oluyor. Bu da ekrandan set ettiğim değer neyse o olmuş oluyor. Biz bu rampaları da ekrandan giriyoruz. Ben burada buna 10 gireceğim. Yani Master 10 gittiğinde Slave 5 gitmiş olacak. Yine aynı şekilde burada da öyle. Master 10 gittiğinde Slave 5 gitmiş olacak. Bu rampaları uygulamaya göre ayarlıyoruz ama olabildiğince kısa tutmamız gerekiyor. Şu senkronizasyon bölgesini de, bunu da ekrandan giriyoruz. Burada 200 mm girili. Bu senkronizasyon uzunluğu burada kesim işleminin yapılabilmesi için yeterli bir uzunlukta olması gerekiyor. Bazen bunu süre de girebiliriz. Örneğin kesim süresini 3 saniye veya 2 saniye girersin çarpı hat hızı örneğin 100 mm saniye olsun. Bu zaten 200 mm yapar. Bu şekilde de yapılabilir. Yani ekrandan süre girilir. Hat hızı zaten bellidir. Buradan otomatikman buradaki senkron mesafe ortaya çıkar ya da direkt bu senkron mesafeyi ekrana koyup izleyip yeterli bir uzunluk girilmesi yeterli olur. İvmelenme için girilen mesafe ve senkron mesafelerin toplamı bu ileri hareketin toplamı benim mekaniktek ki stroke'u geçmemesi gerekiyor arkadaşlar.
[20:29]Buna dikkat etmek gerekiyor. Yani bu şu ileri hareket olduğu için testere de ileri gidiyor sonra geri geliyor. Bu ileri giderkenki hareketin toplamı Slave'in toplamı yani şuradaki toplam şu 200 + 5 + 5 benim mekanikteki stroke'u geçmemesi gerekiyor. Zaten bununla ilgili bir tedbir yazıyoruz programda. Yoksa bindirir aksi halde şu girilen değerler benim mekanikteki stroke'umdan büyükse Slave'in ileri hareketinde bindirme yapacaktır.
[21:02]Şimdi demiştik ki bu örnekte boy girdiğimiz boy neyse otomatik olarak sayacak ve hareketine başlayıp devam edecek. Şimdi burada şu hareketin sonunda end of profile'da biz bunu MC Move ile geri gönderiyoruz. Bir sonraki örnekte bunu da Kam'la yapacağız. Bunu aslında dört segmentli bir Kam şeklinde yazıyoruz normalde. Şu hareketi de bir back yani geri Kam olarak yazıp buradaki gibi yapacağız. Yani gördüğünüz gibi back yaparken şurada bu bir sonraki Kam'la hemen birleşiyor. Hiç arada bekleme yok. Geriye gelirken dahi boyu sayarak hesaplayarak gelmiş oluyor. Ancak burada biz işini bitirdikten sonra hızlı bir şekilde geri git. Bekle. Sonra pozisyona gelince tekrardan hareketine devam et şeklinde yapmış olduk. Yani bu da bir tarz. Bundan sonraki de bir tarz. Burada benim yaptığım örneğin içeriği de bir tarz arkadaşlar. Yani herkesin yoğurt işi farklı. Bunu kendiniz de geliştirebilirsiniz. Bu farklı komutlarla, farklı hesaplarla, farklı uygulamalarla da yapabilirsiniz. Bu benim yorumum. Başka yorumlara da bakabilirsiniz. Kendi programınızı da yazabilirsiniz. Burada önemli olan mantığı anlamak. Daha iyi yöntemleri de olabilir ancak burada ben bu şekilde anlatıyorum. Şimdi programlama editörüne bakalım. Ben burada bir tane kesim start bitine tetiklediğimde burada started tetikleniyor. Started tetiklendiğinde burada şuna dikkat etmemiz gerekiyor.
[22:36]Şimdi ben ilk start'ı verdiğimde yani butona bastığımda burada o anki Master'ın pozisyonu neyse bu Kam'ın start pozisyonunu ben burada atıyorum. Kam'ın ilk hareketini başlayabilmesi için. Kesim boyu, stroke ve senkron mesafe bilgilerini de giriyorum. Master scaling'e 10 dedim. Slave'i bunun yarısı dedim. Aynı şekilde yavaşlama rampasında da aynısını söyledim. 10 ve onun yarısı 5. Senkron mesafe zaten ikisine de aynı giriyoruz. Burada dediğim gibi ilk start'ta Master'ın o anki pozisyonu neyse.
[23:18]Onun pozisyonunu buraya veriyorum. İlk start'ta bu started da buradan tetiklendiğinde bu hareket profili başlamış oluyor. Şimdi bundan sonraki start için ne yapmamız gerekiyor? Yani bir sonraki periyot için ne yapmamız gerekiyor? Onun için de işte burada started olduktan sonra şimdi en aşağıda burada end of profile'ında bu deceleration'ın end of profile'ında MC Move tetikleniyor ve geri geliyor. Şimdi bu tetiklenme esnasında bu hareketin sonunda yani benim Slave'im geri geldikten sonra done biti ile ben burada tekrardan buradaki parametreleri tetikliyorum. Niçin tetikliyorum? Burada start position'a bir sonraki start position'ı bildirmem gerekiyor Kam'a. Ben ilk start'ta burada verdim Master'ın o anki pozisyonunu. Ancak bir sonraki Master pozisyonunu da buna bildirmem gerekiyor ki Slave Master'ın buradaki girilmiş olduğumuz start pozisyonuna gelince hareketine başlasın. O da nasıl oluyor? Benim kesim boyum belli zaten. Bir önceki start position'ın üzerine kesim boyunu eklediğim zaman bir sonraki periyodun başlangıç pozisyonu ortaya çıkmış oluyor. Bunu da her Slave'in geri döndüğünde, geri döndükten sonraki done bit'inde burayı update ederek burayı güncelleyerek bunu oluşturmuş oluyorum. Şimdi aslında bunları normalde tekrardan işletmeme gerek yok ama bunlar genelde parametrik oluyor. Ekrandan giriliyor bunlar. Ekrandan değiştirildiği zaman bunlar da kendini update etsin diye veya senkron mesafe de ekrandan giriliyor. Ekrandan girildiği zaman burası kendini güncellesin diye bunları da buraya koyuyoruz. Aynı şekilde kesim boyu da ekrandan giriliyor. Ha bunları buraya koymamız gerekiyor.
[25:11]Çünkü bunların hepsi parametrik oluyor normalde. Şimdi bakalım ben trace'imi açtım. Buradan kesim start diyeceğim. Master'ım şu anda dönüyor halen daha. Kesim start dedim. Bakın burada Slave çalışmaya başladı. Sürekli olarak çalışacak. Şu senkronizasyon hiç bozulmayacak.
[25:42]Ta ki ben Slave ekseni MC stop veya Kam stop komutuyla durdurana kadar. Her geri gelişinde, her geri gelişinde burayı güncelliyor. Ve her geri geldiğinde bu başlangıç Kam'ını tetikliyor. Yani şuradan akıyor burası. Şu started ilk durumdaki şart için geçerli. Aynı şekilde buradaki started da ilk start için. Ben bunu kestiğim zaman geriye gelip hareketini tamamlayacak. Slave başlangıçta bekliyor. Benim tekrar start vermemi bekliyor. Şimdi grafiğe bakalım.
[26:32]Evet gördüğünüz gibi burada hızlandı, senkron oldu, yavaşladı. Ondan sonra geri gelirken bakın bir sonraki Kam'a kendini Blend yapıyor yani bağlıyor, birleştiriyor. Ondan sonra tekrar yollarına devam ediyor. Buradaki kesintisizliği sağlamış oluyoruz. Grafikten şimdi değerleri kontrol edelim. Benim boyum 500 mm'ydi. Bir sonraki başlangıca baktığımızda burada D'ye 500 mm olduğunu görüyorsunuz. Bu şekilde olunca herhangi bir kesinti olmadan senkronizasyon bozulmadan.
[27:26]Ben stop yapana kadar bu sürekli çalışacak. Hızlıca bir özet geçersek eğer burada ilk start'ta Master pozisyonunu başlangıç Kam'ının start pozisyonunu atıyoruz.
[28:51]Ondan sonra bu Kamlar sırasıyla birbirini tetikleyince en sonda back Kam'ı tetikleniyor. Bu back Kam'ın devreye girmesiyle de başlangıç Kam'ını tekrardan tetikliyoruz burada olduğu gibi.
[37:14]Ve burada da back Kam'a Master scaling ve Slave scaling hesaplamalarının yapıp veriyoruz. Kesim boyundan Master'ın almış olduğu yolu çıkardığımda burada back Kam'ın Master scaling'i kalmış oluyor 280 mm. Daha sonrasında Slave scaling için de bu ana kadarki Slave'in aldığı toplam yolları çıkarmamız gerekiyor. O da 5 + 200 + 5'ten 210 mm. Burada da ufak bir kontrolümüz var. Nedir o?
[37:41]Birincisinde demişim ki back Kam'ın Master scaling'i küçük 10. Yani geri dönerken kalan Master yol çok küçük olmamalı. Bu çok küçük olursa geri dönerken çok hızlı hareket etmeye çalışacak ya da servo'ya düşecek ya da çok hızlı geldiği için başka problemlere sebebiyet çıkaracaktır. İleri giderkenki yani şurası aslında buranın içi şurası oluyor. Karşılığı bu. İleri giderkenki toplam mesafe stroke'dan büyük olmaması gerekiyor. İleri giderken toplam aldığı yol stroke'dan büyük olmamalı. Eğer bu şartlar sağlıyorsa kesim yapılamaz bitini True yapmışım. Onu da burada yukarıda kapalı kontak olarak koymuşuz. Bu küçük bir tedbir. Bu tedbirler artırılabilir. Bu dersin sonuna geldik. Bir sonraki derste görüşmek üzere. Hoşça kalın.



