CODESYS Platformu · 02
CODESYS çalışma zamanı: uygulamayı sahada koşturan katman
Geliştirme ortamı programı üretir; çalışma zamanı onu makinenin içinde çevrim çevrim işletir. Bir makinenin kararlı çalışıp çalışmayacağı çoğunlukla bu katmanın nasıl kurulduğuna bağlıdır.
Ortalama değil, en kötü çevrim önemlidir
Çevrim süresinden söz ederken çoğunlukla ortalama değer konuşulur. Oysa sahada hatayı üreten şey ortalama değil, en kötü durumdaki sapmadır. Bin çevrimin dokuz yüz doksan dokuzu 250 µs’de tamamlanıp biri 3 ms sürerse, senkronize eksenlerde o tek çevrim kesim hatası olarak ürüne yansır.
Bu yüzden devreye alma sırasında sapma kaydı alıyor, kabul ölçütünü ortalama üzerinden değil en kötü çevrim üzerinden yazıyoruz.
- Görev ayrıştırma Hareket, mantık ve haberleşme ayrı görevlere ve ayrı çevrim sürelerine bölünür; yavaş işler hızlı çevrimi bloklamaz.
- Çekirdek yalıtımı Kontrol görevi kendi çekirdeğinde koşar, işletim sistemi görevleri zamanlamayı bozamaz.
- BIOS hazırlığı Güç tasarrufu ve dinamik frekans kapatılır; gecikme kararlı hâle gelir.
- Ölçüm ve kayıt Yük altında sapma ölçülür, değerler teslim dosyasına yazılır.
Sürüm seçimi
Doğru sürümü seçmek için tek bir soru yeterli: makinenizde eksenlerin birbirine kilitlenmesi gerekiyor mu? Gerekiyorsa gerçek zamanlı sürüm, gerekmiyorsa standart sürüm çoğu durumda yeterlidir.
| Özellik | Standart (Windows) | Gerçek zamanlı | Linux / gömülü |
|---|---|---|---|
| Zamanlama kaynağı | İşletim sistemi | Kendi çekirdeği | PREEMPT-RT ile |
| Tipik en küçük çevrim | ~10 ms | 250 µs | 1 ms |
| Senkron eksen | Önerilmez | Uygun | Donanıma bağlı |
| Dağıtık saat (EtherCAT) | Kararsız | Tam destek | Destekli |
| Birim donanım maliyeti | Düşük | Orta | Düşük |
| Tipik kullanım | Sınama, eğitim, benzetim | Hareket, CNC, çok eksenli hat | Seri üretim ürün, veri toplama |
Sık yapılan bir hata
Prototipte standart sürümle alınan sonucun seri üretimde de geçerli sayılması. Sınama tezgâhında tek eksenle sorunsuz görünen bir uygulama, altı eksen eşlendiğinde zamanlama sapması yüzünden bambaşka davranır. Mimariyi baştan hedef sürüme göre kurmak, sonradan geri dönmekten ucuzdur.
Saha veri yolu tarafındaki etkisi için Saha Veri Yolu ve Haberleşme sayfasına bakabilirsiniz.
Çalışma zamanı hakkında sıkça sorulan sorular
Gerçek zamanlı çalışma için özel donanım şart mı?
Sonucu belirleyen işlemcinin hızı değil, kesme gecikmesinin ne kadar kararlı olduğudur. Ofis tipi bilgisayarlarda güç yönetimi ve arka plan hizmetleri çevrim süresini dalgalandırır. Senkron eksen beklenen makinelerde fansız endüstriyel bilgisayar ve BIOS tarafında kapatılmış güç tasarrufu ayarları öneriyoruz.
Windows üzerinde gerçek zaman mümkün mü?
Standart sürüm Windows üzerinde normal bir uygulama olarak çalışır; zamanlaması işletim sistemine bağlıdır ve sınama, eğitim, düşük hassasiyetli işler için uygundur. Gerçek zamanlı sürüm ise bir işlemci çekirdeğini işletim sisteminden ayırıp kendi zamanlayıcısıyla çalışır.
Aynı uygulamayı gömülü karta taşıyabilir miyim?
Evet. Uygulama mantığı taşınır; yalnızca cihaz tanımı ve giriş-çıkış eşlemesi hedefe göre yeniden yapılandırılır. Bu, prototipi masaüstünde geliştirip seri üretimde ARM tabanlı karta geçmeyi mümkün kılar.
Sapma (jitter) neden bu kadar önemli?
Çünkü hata ortalamadan değil en kötü çevrimden doğar. Senkron çalışan iki eksende bir çevrimlik gecikme, konum farkı olarak doğrudan ürüne yansır. Bu yüzden kabul ölçütünü ortalama çevrim süresi üzerinden değil, yük altında ölçülen en kötü sapma üzerinden yazıyoruz.
Çalışma zamanı çöktüğünde makine ne yapar?
Kontrollü durma, uygulamanın değil emniyet zincirinin sorumluluğudur. Emniyet röleleri ve sertifikalı emniyet denetleyicisi, kontrol uygulamasından bağımsız çalışır; yazılım durduğunda tahrikler güvenli duruma geçer. Uygulama tarafında ise izleme zamanlayıcısı ve yeniden başlatma davranışı proje başında tanımlanır.
Kaç eksen tek denetleyiciden yönetilebilir?
Sınırı belirleyen şey lisans değil, çevrim bütçesidir: eksen sayısı × eksen başına hesap yükü, hedef çevrim süresine sığmalıdır. Orta sınıf bir endüstriyel bilgisayarda 250 mikrosaniye çevrimle onlarca eksen yönetmek olağandır. Kesin sayıyı, eksen tipi ve kinematik karmaşıklığı belirler.
Uygulamayı sahada nasıl güncelliyorsunuz?
Ağ üzerinden indirme yapılır; kabini açmak gerekmez. Güncelleme öncesi mevcut sürümün yedeği alınır ve sürüm etiketi kayda geçer. Bu düzen sayesinde bir sorun çıktığında önceki sürüme dönmek birkaç dakikalık iştir.
Lisans donanıma mı bağlı?
İki seçenek var: donanım anahtarı (dongle) ya da hedef cihaza bağlanan yazılım kabı. Donanım anahtarı cihaz değiştirmeyi kolaylaştırır; yazılım kabı ise fiziksel parça taşımadığı için seri üretimde daha pratiktir. Seçim, servis modelinize göre yapılır.
Linux sürümü Windows sürümünden daha mı yavaş?
Hayır, tam tersi olabilir. Gerçek zamanlı yamalı bir Linux çekirdeğiyle 1 milisaniyenin altına inmek olağandır ve donanım maliyeti düşüktür. Belirleyici olan işletim sistemi markası değil, çekirdeğin gerçek zamanlı yapılandırması ve donanım sürücülerinin kalitesidir.
Mevcut donanımımız yeterli mi, nasıl anlarız?
Ölçerek. Hedef donanım üzerinde temsilî bir yük çalıştırıp sapma kaydı alıyoruz; sonuç, hedef çevrim süresine göre değerlendiriliyor. Bu ölçüm bir günlük iştir ve yanlış donanımla yola çıkmanın maliyetiyle kıyaslanmayacak kadar küçüktür.