PLCopen ve CiA 402
Donanımdan bağımsız hareket yazılımı: standart fonksiyon blokları ve eksen durum makinesi.
Nedir
PLCopen, hareket kontrolü yazılımının donanımdan bağımsız yazılabilmesi için standart fonksiyon blokları tanımlayan bir kuruluş ve bu blokların şartnamesidir. Çerçeve IEC 61131-3 standardına dayanır. Kuruluşun kendi ifadesiyle: PLCopen hareket standardı, birden çok donanım platformunda yeniden kullanılabilen standart uygulama kütüphanelerine sahip olmanın bir yolunu sunar; bu da geliştirme, bakım ve destek maliyetlerini düşürürken karışıklığı ortadan kaldırır.
Çözdüğü problem somuttur. Aynı işi yapan bir eksen hareketi, her donanım için sıfırdan yazılmak zorunda kalırsa; makine üreticisi her yeni projede aynı mantığı yeniden yazar, her yeni mühendis her platformu ayrı öğrenir ve sahada kanıtlanmış kod bir sonraki projeye taşınamaz. PLCopen bu tekrarı, ortak bir arayüz tanımlayarak kırar.
Şartname bugün bir dizi bölümden oluşur: Bölüm 1 ve 2 temel ve genişletmeler olarak birleştirilmiştir; Bölüm 3 kullanıcı kılavuzları ve örnekler; Bölüm 4 koordineli hareket; Bölüm 5 referanslama prosedürleri; Bölüm 6 akışkan gücü genişletmeleri. Her şartname temel olarak üç kısım içerir: durum makinesinin tanımı, tek eksenli ve çok eksenli hareket kontrolü için temel fonksiyon bloğu kümesinin tanımı, ve uyum kuralları ile beyan prosedürü.
Nasıl çalışır
PLCopen'ın merkezinde eksen durum makinesi vardır. Kuruluşun ifadesiyle eksen her zaman tanımlı durumlardan birindedir; her hareket komutu, eksenin durumunu değiştiren bir geçiştir ve sonuç olarak mevcut hareketin nasıl hesaplandığını değiştirir. Durum diyagramı, eksenin davranışını üst seviyede normatif olarak tanımlar.
Tanımlı sekiz durum vardır: Disabled, Standstill, Homing, Discrete Motion, Continuous Motion, Synchronized Motion, Stopping ve ErrorStop.
Normal akış Disabled durumunda başlar. Bu durumda eksen başına güç MC_Power komutuyla verilir ve ilgili eksen Standstill durumuna geçer. Oradan eksen başına verilen Home komutuyla Homing durumuna girilir; normal tamamlanma sonrasında yine Standstill'e dönülür. Buradan eksen Discrete Motion ya da Continuous Motion durumuna aktarılabilir. Bir master eksene kenetlenme örneğin MC_GearIn ile gerçekleştirilir; kenetlenen eksenin durumu o zaman Synchronized Motion olur. Tek eksenli bir hareket komutu vermek ekseni yeniden Discrete ya da Continuous Motion durumuna getirir. Stopping durumu üzerinden Standstill'e dönülür. ErrorStop, hata durumunda eksenin geçtiği durumdur; bir Reset komutuyla Standstill'e dönülür ve makine yeniden işletime alınabilir.
Hareket komutları da standartlaştırılmıştır. Örneğin MC_MoveAbsolute, belirtilen mutlak pozisyona kontrollü bir hareket komutu verir; girişleri arasında eksen referansı, Execute, Position, Velocity, Acceleration, Deceleration, Jerk, yön ve tampon modu bulunur. Farklı platformlarda aynı bloğun aynı girişleri taşıması, uygulama mantığının taşınabilir olmasını sağlayan şeydir.
Eksene erişim AXIS_REF türetilmiş veri tipiyle yapılır; kuruluşun ifadesiyle bu veri tipi bütün üreticiler tarafından sağlanır. Gerçek arayüzün teknik ayrıntıları bu yapının ve fonksiyon bloğunun içinde saklı kalır; böylece merkezi, dağıtık ya da ağa bağlı mimariler kullanıcı tarafında aynı görünür.
AXIS_REF, fonksiyon bloklarına giriş-çıkış (Var_In_Out) olarak verilir. Bu ayrıntının pratik sonucu şudur: aynı eksene atıfta bulunan birden çok fonksiyon bloğu arka arkaya bağlandığında, her blok bir öncekinin güncellediği değerleri okur. Yapı bloğun dışında saklandığı için kopyalanması gerekmez ve eksenin durumu bloklar arasında tutarlı kalır.
Hareket bloklarının bir başka ortak özelliği tampon modudur. MC_MoveAbsolute gibi bloklar, bir sonraki hareketin öncekini keserek mi yoksa bekleyip sıraya girerek mi uygulanacağını belirleyen bir tampon modu girişi taşır. Bir makinede hareketlerin kesintisiz zincirlenmesi ile her hareketin ayrı ayrı tamamlanması arasındaki fark burada kurulur; profil değiştirmek için uygulama mantığını yeniden yazmak gerekmez, tampon modunu değiştirmek yeterlidir.
CiA 402 ile ilişkisi
PLCopen ile CiA 402 rakip değil, aynı zincirin iki ucudur. PLCopen uygulama tarafını standartlaştırır: kontrolcü programında bir ekseni nasıl adreslersiniz, hangi fonksiyon bloklarını çağırırsınız, eksen hangi durumlardan geçer. CiA 402 ise sürücü tarafını standartlaştırır: sürücüler ve hareket kontrolü için CANopen cihaz profili olarak, sürücünün kendi durum makinesini ve çalışma modlarını tanımlar.
Bu ayrımın pratik değeri şudur: CiA 402 profilini uygulayan bir sürücü ile PLCopen bloklarını sunan bir kontrolcü ortada buluşur. Uygulama yazılımı sürücünün iç kayıt haritasına göre değil, standart bloklara göre yazılır; sürücü markası veya haberleşme protokolü değiştiğinde uygulamanın büyük bölümü korunur.
SMB tarafında
SMB kontrolcüleri CODESYS ile programlanır: IEC 61131-3 dilleri ve tümleşik hareket kontrolü, makine mantığı ile eksenleri tek projede toplar. Sürücü tarafında SMB servo sürücüleri CiA 402 sürücü profilini uygular; aynı durum makinesi ve aynı çalışma modları hem EtherCAT hem CANopen üzerinde geçerlidir.
Bu iki katman bir araya geldiğinde makine üreticisi için sonuç şudur: eksen sayısı ve haberleşme protokolü projeden projeye değişse de uygulama katmanındaki hareket mantığı büyük ölçüde aynı kalır. Sistem mimarisinin bütününü — kontrolcü, sürücü, motor, kablo ve protokoller — bir arada görmek için sistem sayfamıza bakabilirsiniz.
Sık sorulanlar
PLCopen bir ürün mü? Hayır, bir şartnamedir. Kontrolcü üreticileri bu şartnameye uyan fonksiyon bloğu kütüphaneleri sunar; siz uygulama programınızı bu bloklarla yazarsınız.
Neden doğrudan sürücünün kayıtlarına yazmayayım? Yazabilir siniz, ama o uygulama o sürücüye bağlanır. Standart bloklarla yazılmış bir uygulama, donanım değiştiğinde büyük ölçüde korunur; kuruluşun ifadesiyle standartlaştırmanın amacı tam olarak yeniden kullanılabilir bileşen kütüphaneleri tanımlamaktır.
Durum makinesini bilmem gerekir mi? Evet. Hata ayıklamanın büyük kısmı “eksen neden bu komutu kabul etmedi” sorusudur ve cevabı neredeyse her zaman eksenin o anda hangi durumda olduğudur. Durumlar fonksiyon bloklarının işlevselliğini tanımlar.
Çok eksenli koordineli hareket de kapsanıyor mu? Evet; şartnamenin Bölüm 4'ü koordineli hareketi ele alır, Bölüm 5 ise referanslama prosedürlerini.
İlgili konular
Sahada en çok sorulanlar
Makinenizi birlikte boyutlandıralım
Eksen sayısını, yükü, çevrim süresini ve güvenlik gereksinimlerinizi iletin; sürücüyü, motoru ve kabloyu sizin için seçelim.
Teklif İste