CODESYS SoftMotion'da Sıfırdan Kam Tablosu Oluşturma
Önceki yazıda elektronik kamın mantığını ve MC_CamIn / MC_CamOut bloklarını ele almıştık. Ama o blokların çalışabilmesi için önce bir kam tablosuna ihtiyaç var: master eksenin konumunu slave eksenin konumuna eşleyen profil. Bu yazıda o tabloyu CODESYS içinde sıfırdan nasıl oluşturacağınıza bakıyoruz.
Adım 1: Kam nesnesini projeye ekleyin
Kam tablosu, projede kendi başına bir nesnedir. Cihaz ağacında (device tree) uygun bir düğüme sağ tıklayıp Add Object → Cam table yolunu izleyerek yeni bir kam ekleyin. Nesneye anlamlı bir isim verin (örneğin Cam_Dolum); bu ismi daha sonra kod tarafında MC_CamTableSelect'in CamTable girişine doğrudan yazacaksınız.
Nesne oluşturulunca CODESYS grafik Cam Editor'ü açar. Karşınıza genellikle üç görünüm gelir: konum, hız ve ivme diyagramları. Profili konum diyagramında çizersiniz; hız ve ivme eğrileri otomatik türetilir.
Adım 2: Master ve slave aralığını tanımlayın
Profilin sınırlarını belirleyin:
Master aralığı (X ekseni): Master eksenin bir çevrimde kat edeceği aralık. Örneğin dönel bir uygulamada 0–360°.
Slave aralığı (Y ekseni): Slave eksenin bu çevrimde ulaşacağı konum aralığı.
Bu aralıklar profilin "çerçevesini" oluşturur. İçini birazdan noktalarla dolduracağız.
Adım 3: Noktaları ve segmentleri ekleyin
Profil, noktalar ve bu noktaları birbirine bağlayan segmentlerden oluşur. Her noktaya bir master ve karşılık gelen bir slave konumu tanımlarsınız; ardından iki nokta arasını hangi eğri tipinin dolduracağını seçersiniz. En sık kullanılan segment tipleri:
Doğrusal (line): İki nokta arasını düz çizgiyle bağlar. Slave'in sabit hızla hareket ettiği bölümler için uygundur.
Poly5 (5. derece polinom): Yumuşak hızlanma-yavaşlama sağlayan standart seçim. Başlangıç ve bitişte hız/ivme sürekliliği kurar, sarsıntıyı (jerk) azaltır.
Bekleme (dwell): Master hareket ederken slave'in sabit kaldığı bölüm.
Tipik bir profil bu segmentleri birleştirir: bir dwell ile başlar, poly5 ile hızlanıp konuma gider, tekrar dwell yapar ve geri döner.
Adım 4: Sınır koşullarını (süreklilik) kontrol edin
Kam kalitesinin belirleyicisi geçiş noktalarıdır. Her segment sınırında konum, hız ve ivme sürekliliğini kontrol edin. Konumda kopukluk mekanik darbe, hızda kopukluk sarsıntı, ivmede kopukluk ise titreşim ve aşınma demektir. Cam Editor'deki hız ve ivme diyagramları bu kopuklukları görsel olarak yakalamanıza yardımcı olur; keskin sıçramalar gördüğünüz yerlerde segment tipini veya sınır koşullarını gözden geçirin.
Adım 5: Periyodik mi, tek seferlik mi?
Profil master her turunda tekrar edecekse periyodik (periodic) bir kam tanımlarsınız. Bu durumda profilin başı ve sonunun birbirine sorunsuz bağlanması, yani başlangıç ve bitiş sınır koşullarının uyuşması gerekir. Aksi hâlde her çevrim başında bir sıçrama oluşur. Bu ayar, kodda MC_CamTableSelect'in Periodic girişiyle de birlikte çalışır.
Adım 6: Derleme formatını seçin
CODESYS kam tablosunu derlerken profili sayısal bir yapıya dönüştürür. Kamın özelliklerinden derleme formatını seçebilirsiniz. Genel mantık:
Nokta tabanlı (XYVA) tablolar: Profili sık aralıklı konum/hız/ivme noktalarına böler. Değerlendirmesi hızlıdır, ancak nokta sayısına göre daha fazla bellek kullanır.
Polinom tabanlı format: Profili polinom katsayılarıyla saklar. Daha az bellek kullanır, ancak çalışma anında hesaplama gerektirir.
Uygulamanızın bellek ve çevrim süresi kısıtlarına göre seçim yaparsınız.
Adım 7: Kodda kullanın
Tablo hazır olduğunda geri kalanı önceki yazıdaki akıştır:
MC_CamTableSelect bloğunun CamTable girişine kam nesnesinin ismini verin; bu blok size bir CamTableID döndürür.
Bu kimliği MC_CamIn'e verip slave'i profile kilitleyin.
InSync çıkışını izleyerek senkronizasyonu doğrulayın.
İşiniz bitince MC_CamOut ile ayrılın.
Özetle
CODESYS'te kam tablosu oluşturmak; nesneyi eklemek, master/slave aralığını tanımlamak, noktaları uygun segment tipleriyle bağlamak ve geçişlerde süreklilik ile derleme formatını gözetmekten ibarettir. Grafik editörün asıl gücü, profili çizerken hız ve ivme eğrilerini anında görebilmenizdir; böylece makine üzerinde denemeye geçmeden önce hareketin ne kadar yumuşak olduğunu ekranda görürsünüz. Metal bir kam diski işlemeye kıyasla ise dakikalar içinde tasarlayıp değiştirebileceğiniz bir esneklik kazanırsınız.