CODESYS Platformu · 01
CODESYS geliştirme ortamı ve programlama dilleri
Projenin yazıldığı, denendiği ve hata ayıklandığı yer. IEC 61131-3 dillerinin altısı, cihaz yapılandırıcısı ve kütüphane yönetimi tek ağaç altında toplanır.
Altı dil, tek proje ağacı
Standardın öngördüğü dillerin tamamı desteklenir ve bir arada kullanılabilir. Bu, tercih meselesi olmaktan çok okunabilirlik meselesidir: her işlev, en anlaşılır olduğu dilde yazıldığında proje bir yıl sonra da anlaşılır kalır.
- ST — Yapısal Metin Hesaplama, algoritma ve durum makineleri için en yoğun anlatım.
- FBD — Fonksiyon Blok Diyagramı Sinyal akışının görsel olarak izlendiği yapı.
- LD — Merdiven Diyagramı Röle mantığına yakın; bakım ekipleri için tanıdık.
- SFC — Sıralı Fonksiyon Şeması Adım adım ilerleyen süreçlerin doğal ifadesi.
- CFC — Sürekli Fonksiyon Şeması Serbest yerleşimli blok bağlantıları.
- IL — Komut Listesi Düşük seviyeli, kısa işlemler için.
Hata ayıklama ve çevrim içi çalışma
Uygulama çalışırken değişkenleri izleyebilir, değer yazabilir ve kesme noktası koyabilirsiniz. Devreye alma sırasında asıl işi yapan araç ise gömülü izleme kaydıdır: seçtiğiniz değişkenleri çevrim çözünürlüğünde kaydeder.
Bir hareket probleminin sebebini gözle bulmak zordur. Takip hatasının, tork akımının ve komut değerinin aynı zaman ekseninde çizilmesi, sorunun mekanikte mi ayar parametresinde mi olduğunu genellikle ilk bakışta gösterir.
Kütüphane yapısı ve sürümleme
Tekrar eden işlevleri projeye gömmek yerine kütüphaneye almak, ilk projede biraz daha uzun sürer; ikinci projeden itibaren geri döner. Kütüphane sürümlenir, arayüzü sabit tutulur ve makine sahibine kaynağıyla teslim edilir.
EMEA Technology’de uyguladığımız kural basit: sahada iki kez yazdığımız her şey kütüphaneye çıkar. Hareket kontrolü tarafında bu, kam üreteci ve algılayıcı düzeltmesi gibi blokların projeden projeye taşınması anlamına geliyor.
Geliştirme ortamı hakkında sıkça sorulan sorular
Hangi dili seçmeliyim?
Tek doğru cevap yok; işin türü belirler. Ardışık bir süreç akışını SFC ile kurmak okunaklıdır, matematiksel hesaplamalar Yapısal Metin’de kısa yazılır, röle mantığına alışkın bakım ekibi için Merdiven Diyagramı tanıdıktır. Aynı projede karışık kullanabildiğiniz için her bloğu kendi diline göre seçmek en pratik yol.
Benzetimle nereye kadar sınayabilirim?
Mantık akışını, durum makinelerini, alarm koşullarını ve ekran davranışını donanım olmadan doğrulayabilirsiniz. Benzetimin kapsamadığı şey saha zamanlamasıdır: gerçek çevrim süresi, sürücü tepkisi ve haberleşme gecikmesi ancak donanım üzerinde ölçülür.
Ekip olarak aynı proje üzerinde çalışabilir miyiz?
Evet. Proje sürüm karşılaştırma araçlarıyla iki sürüm arasındaki farklar blok bazında görülebilir. Uygulamada önerdiğimiz yöntem, işlevleri sürümlenmiş kütüphanelere bölmek; böylece ekip üyeleri aynı dosyada çakışmak yerine kendi kütüphanesinde çalışır.
Kaynak kodu sürüm kontrol sistemine bağlayabilir miyim?
Evet. Proje metin biçiminde dışa aktarılabilir ve alışılmış sürüm kontrol araçlarıyla izlenebilir. Uygulamada en çok işe yarayan yöntem, kütüphaneleri ayrı depolarda tutup sürüm etiketiyle projeye bağlamaktır; böylece hangi makinede hangi sürümün koştuğu belirsiz kalmaz.
Değişkenleri çalışırken izleyip değiştirebilir miyim?
Evet. Uygulama koşarken değişkenleri izleyebilir, tek tek değer yazabilir ve kesme noktası koyabilirsiniz. Devreye almada asıl işi yapan araç ise gömülü izleme kaydıdır: seçtiğiniz değişkenleri çevrim çözünürlüğünde kaydeder, böylece gözle yakalanamayacak olaylar sonradan incelenebilir.
Kütüphane sürümü değişince eski projeler bozulur mu?
Projeye bağlanan sürüm etiketlendiği için eski projeler kendi sürümüyle çalışmaya devam eder. Bozulma, yalnızca kütüphanenin dış arayüzü değiştirilip aynı sürüm numarasıyla dağıtılırsa olur. Bu yüzden arayüzü sabit tutmayı, değişiklikleri yeni sürüm numarasıyla yayınlamayı kural hâline getiriyoruz.
Mevcut projeyi başka bir denetleyiciye taşımak kolay mı?
Mantık katmanı doğrudan taşınır. Yeniden kurulması gereken şeyler cihaz yapılandırması, giriş-çıkış eşlemesi ve varsa üreticiye özel bloklardır. Projeyi baştan bu ayrımı gözeterek yazmak — donanıma dokunan kodu ayrı bir katmanda tutmak — taşımayı birkaç saatlik işe indirir.
Kod kalitesini nasıl denetliyorsunuz?
Adlandırma kuralları, statik çözümleme ve gözden geçirme. Statik çözümleme, kullanılmayan değişkenden dizini taşan erişime kadar bir dizi hatayı derleme aşamasında yakalar. Sahada bulunan bir hatanın maliyeti, masada bulunan hatanın kat kat üzerindedir.
Geliştirme için hangi bilgisayar yeterli?
Geliştirme ortamı sıradan bir iş bilgisayarında rahatça çalışır; belirleyici olan bellek ve disk hızıdır. Gerçek zamanlı davranışı ölçmek gerektiğinde ise hedef donanıma ihtiyaç duyulur — masaüstü bilgisayarda alınan çevrim ölçümü sahada geçerli sayılmaz.
Ekibimiz için eğitim alabilir miyiz?
Evet. Geliştirme ortamı, kütüphane yapısı ve hata ayıklama araçlarını doğrudan hedefleyen bir eğitim programımız var; eğitim salonumuzda veya kendi tesisinizde veriyoruz. İçerik katılımcı seviyesine göre yeniden düzenlenir; ayrıntılar Eğitim Talebi sayfasındadır.