CoDeSys nedir?

CODESYS nedir? PLC programından çalışan makineye
Merhaba dostlar,
CODESYS, endüstriyel kontrol uygulamaları geliştirmek için kullanılan bir yazılım platformudur. Bilgisayarda program yazmayı, projeyi derlemeyi ve uyumlu bir denetleyici üzerinde çalıştırmayı kapsar. CODESYS’in ne için kullanıldığını anlamanın iyi bir başlangıcı, programı hazırlayan geliştirme ortamıyla programı cihazda çalıştıran runtime’ı ayırmaktır.
Geliştirme ortamı, runtime ve donanım
CODESYS Development System, bilgisayardaki geliştirme ortamıdır. Runtime, kontrol uygulamasını hedef cihazda yürütür. Donanım ise işlemciyi, belleği, giriş ve çıkışları ve haberleşme bağlantılarını sağlar. Bu üç katman birlikte çalışır; CODESYS için donanım seçimi bu yüzden yalnızca bilgisayarın özellikleriyle sınırlı değildir.
Uygun runtime kurulu bir endüstriyel bilgisayar SoftPLC olarak kullanılabilir; cihaz üreticisinin CODESYS’i bütünleştirdiği bir PLC de hedef olabilir. Ancak her PLC kendiliğinden CODESYS uyumlu değildir. Runtime, cihaz tanımı, kütüphaneler ve üreticinin desteklediği sürüm birlikte kontrol edilmelidir.
CODESYS’i farklı PLC yazılımlarından ayıran özelliklerden biri, farklı üreticilerin uyumlu cihazlarında ortak geliştirme yaklaşımı sunmasıdır. Ortak platform, proje taşınabilirliğini kolaylaştırabilir; aynı projenin başka donanımda değişikliksiz çalışacağı anlamına gelmez. I/O eşlemesi, sürücüler ve zamanlama yeniden değerlendirilir.
CODESYS yalnızca Structured Text mi kullanır?
Hayır. CODESYS programlama dilleri ve editörleri farklı ihtiyaçlara karşılık verir. LD, kontak ve bobin mantığını; FBD, işlev bloklarının bağlantılarını; ST, metinle yazılan koşulları ve hesaplamaları ifade eder. SFC, adım ve geçişlerle sıralı süreçleri düzenler. CFC ise blokları serbest yerleşimle bağlamaya yönelik ek bir grafik editörüdür.
IEC 61131-3 ile CODESYS arasındaki ilişki, ortak programlama kavramlarının temelini oluşturur. IL eski projelerde görülebilir; üretici bu editörün artık bakımının yapılmadığını belirtir. Yeni bir öğrenme planında Structured Text programlama ile grafik mantığın birbirini nasıl tamamladığını görmek daha yararlı bir başlangıçtır.
Bir CODESYS projesinde neler bulunur?
Proje oluşturma ve yönetme aşamasında hedef cihaz, uygulama, program birimleri, görevler ve gerekli kütüphaneler tanımlanır. POU, program organizasyon birimidir. Bir Program kontrol akışını düzenler; bir Function hesaplama sonucu üretir; bir Function Block ise kendi örneğinde durum tutabilir.
Örneğin iki zamanlayıcı aynı blok türünü kullanabilir, fakat her biri ayrı bir instance üzerinden kendi süresini izler. Kullanıcı tanımlı fonksiyonlar ve bloklar sayesinde benzer istasyonlar için mantık yeniden kullanılabilir. Veri tipleri de anlamı belirler: BOOL doğru/yanlış durumunu, INT tam sayıyı, REAL ondalıklı değeri ve TIME süreyi temsil eder.
Görev döngüsü, bekleme döngüsü değildir
CODESYS’te zamanlama ve görev planlama, programın ne zaman ve hangi öncelikle çağrılacağını belirler. Çevrimsel görev belirlenen aralıkla tekrar çalışır. Bu aralık, programın her durumda tam o sürede biteceğine dair bir garanti değildir; yürütme süresi ve zamanlama sapması izlenmelidir.
Sensör değişene kadar bir WHILE döngüsünde beklemek, çevrimsel çalışma ile aynı şey değildir. Uzayan döngüler görev süresini aşabilir ve yapılandırılmış watchdog denetimini tetikleyebilir. Süre bekleme işini zamanlayıcıyla, işlem sırasını ise durum veya adım mantığıyla kurmak çoğu başlangıç uygulamasını daha anlaşılır yapar.
Küçük ST örneği: Üç saniye kesintisiz talep
Bu eğitim örneğinde talep ve yazılımsal izin birlikte üç saniye boyunca doğru kalırsa bir değişken etkinleşir. PROGRAM türündeki bir ST POU’yu çevrimsel göreve ekleyin; Standard kütüphanesindeki TON bloğunun projede bulunduğunu kontrol edin. İlk bölüm değişken tanım alanına, ikinci bölüm uygulama kodu alanına yazılır.
Değişken tanımları:
VAR
xDemand : BOOL := FALSE;
xPermit : BOOL := FALSE;
xOutput : BOOL := FALSE;
fbDelay : TON;
END_VAR
Her görev çevriminde yürütülecek kod:
fbDelay(IN := xDemand AND xPermit, PT := T#3s);
xOutput := fbDelay.Q;
Simülasyonda xDemand ve xPermit değerlerini TRUE yapın. TON’un ET değeri geçen süreyi gösterir; üç saniye dolduğunda Q ve dolayısıyla xOutput TRUE olur. İki koşuldan biri FALSE olduğunda zamanlayıcı sıfırlanır ve çıkış değişkeni bir sonraki yürütmede FALSE olur. Bu örnekte fiziksel çıkış eşlemesi yoktur.
Buradaki öğrenme noktası şudur: Program üç saniye boyunca bir satırda beklemez. Görev tekrar çağrılır, zamanlayıcı kendi durumunu korur ve her çağrıda yeniden değerlendirilir. CODESYS’te PLC programlama mantığını öğrenirken bu ayrım, yalnızca komut ezberlemekten daha önemlidir.
ST komutlarını doğru anlamak
CODESYS komut setinde IF koşula göre, CASE bir seçim değerine göre kod yürütür. FOR sayaçla tekrarlama yapar; WHILE koşulu başta kontrol eder. REPEAT…UNTIL koşulu sonda kontrol ettiği için en az bir kez çalışır ve UNTIL koşulu TRUE olduğunda sona erer.
RETURN, mevcut blok yürütmesinden erken çıkış sağlar; bir “RETURN değer” ifadesi gibi açıklanmamalıdır. Bir fonksiyonun dönüş değeri fonksiyon adına atanır. Etiketli atlama, CODESYS’in ST başvurusunda JMP olarak anlatılır. Başlangıçta açık koşullar ve düzenli kontrol akışı, atlamalarla karmaşıklaşan koddan daha kolay izlenir.
Simülasyon ve hata ayıklama neyi gösterir?
Simülasyon, uygun bir uygulamanın mantığını fiziksel PLC olmadan çalıştırmayı sağlar. CODESYS’te hata ayıklama sırasında değişkenler ve blok durumları izlenebilir. Ancak simülasyonda gerçek I/O kanalları güncellenmez ve saha veri yolu telegramları gönderilmez; donanımın zamanlama ve haberleşme davranışı ayrıca sınanır.
Örnekte önce gecikmenin tamamlanmasını, ardından ikinci saniyede talebin kesilmesini ve iznin kaybolmasını deneyin. Beklenen sonuçla gözlenen sonuç aynı mı? Bu küçük denemeler, CODESYS eğitim kaynaklarını okurken öğrendiğiniz kavramları somutlaştırır.
Hangi projeler, ekranlar ve ağ bağlantıları?
CODESYS ile geliştirilebilecek projeler arasında makine sıralaması, pompa kontrolü ve veri toplama gibi uygulamalar bulunabilir. Endüstriyel otomasyon sistemi tasarlanırken gereken işlevler, cihazın ve yazılım seçeneklerinin destek kapsamıyla eşleştirilir. Hareket kontrolü gibi ek işlevler uygun donanım ve ürün bileşenleri gerektirebilir.
Visualization ile operatör ekranları hazırlanabilir; WebVisu tarayıcıdan, TargetVisu hedef cihazın ekranından görüntüleme seçenekleridir. CODESYS’in temel özellikleri değerlendirilirken ekran geliştirme ile PLC uygulamasının yürütülmesi ayrı işlevler olarak ele alınmalıdır.
Ağ özellikleri kapsamında EtherCAT, PROFINET, Modbus, OPC UA ve MQTT gibi seçenekler bulunur. CODESYS platformları arasında veri aktarımı için iki uçta destek, yapılandırma ve veri tipleri uyumlu olmalıdır. Bir protokolün platformda bulunması, her cihazda aynı rol ve kapsamda kullanılabildiğini göstermez.
Ücretsiz yazılım, lisans ve güvenlik
CODESYS Development System V3 ücretsiz indirilebilir. Runtime ve ek ürünlerin lisansları ayrı değerlendirilir; bir kontrolörün fiyatına dâhil edilen lisansla sonradan alınan SoftPLC lisansı aynı satın alma düzeni değildir. CODESYS’i indirme aşamasında cihaz üreticisinin önerdiği sürümü ve gerekli paketleri kontrol edin.
CODESYS güvenlik özellikleri kullanıcı yönetimi, imzalama ve şifreli iletişim gibi araçları kapsar. Kullanılabilir özellikler sürüme ve hedefe bağlıdır. Projede kimlerin program indirebildiği, hangi bağlantıların açık olduğu ve hangi sürümün devrede bulunduğu kayıtlı olmalıdır.
Resmî başvuru için CODESYS Development System, CODESYS Runtime ve TON blok dokümanı incelenebilir. İndirme için resmî CODESYS Store kullanılabilir.
Alt Kategoriler
- CoDeSys ile hangi programlama dilleri kullanılabilir?
- CoDeSys ile hangi tür endüstriyel otomasyon sistemleri geliştirilebilir?
- CoDeSys ile hangi tür projeler geliştirilebilir?
- CoDeSys ile ilgili hangi eğitim kaynakları mevcuttur?
- CoDeSys platformları arasında veri nasıl transfer edilir?
- Codesys programını nereden ve nasıl indirebilirim?
- CoDeSys tam olarak nedir ve ne için kullanılır?
- CoDeSys yazılımında bir proje nasıl oluşturulur ve yönetilir?
- CoDeSys yazılımında hata ayıklama (debugging) işlemi nasıl yapılır?
- CoDeSys yazılımında zamanlama ve çizelgeleme nasıl yapılır?
- CoDeSys yazılımını kullanmak için hangi donanıma ihtiyacım var?
- CoDeSys yazılımının temel özellikleri nelerdir?
- CoDeSys'de kullanıcı tanımlı fonksiyonlar ve bloklar nasıl oluşturulur?
- CoDeSys'deki ağ özellikleri nelerdir ve nasıl kullanılır?
- CoDeSys'deki farklı veri tipleri nelerdir ve nasıl kullanılır?
- CoDeSys'deki güvenlik özellikleri nelerdir ve nasıl kullanılır?
- CoDeSys'deki IEC 61131-3 standardı nedir?
- CoDeSys'deki komut seti neleri içerir?