CoDeSys'deki IEC 61131-3 standardı nedir?

PLC programlamasında ortak kurallar ne işe yarar?
Merhaba dostlar. IEC 61131-3, programlanabilir denetleyicilerin yazılımında kullanılan programlama dillerinin kurallarını ve temel program yapısını tanımlar. IEC 61131 ailesinin üçüncü bölümüdür. CODESYS ise bu kurallara dayanan bir geliştirme ortamıdır; standardın kendisi değildir. PLC için IEC standartları içinde donanım gereksinimleri ile programlama kurallarının ayrı bölümlerde ele alındığını görebilirsiniz.
Standart; değişkenlerin, veri tiplerinin, işlemlerin ve program birimlerinin nasıl tanımlanacağını ortaklaştırır. Bu ortaklık, PLC programlama öğrenirken her markada bütün kavramlara yeniden başlamayı azaltır. Ancak bir yazılımın standarda dayandığını söylemek, bütün özellikleri ve bütün baskıları eksiksiz desteklediği anlamına gelmez.
Eski “beş dil” anlatımı neden açıklama gerektiriyor?
IEC 61131-3:2025, 22 Mayıs 2025’te yayımlanan dördüncü baskıdır. IEC’nin güncel kapsam açıklamasında dil takımı ST, LD ve FBD olarak verilir. SFC ise programların ve fonksiyon bloklarının iç yapısını düzenleyen grafik ve eşdeğer metinsel elemanlar olarak ayrıca tanımlanır. Bu nedenle CODESYS programlama dillerini anlatırken standart baskısı ile editörde bulunan seçenekleri ayırmak gerekir.
Eski kaynaklarda karşılaşılan LD, FBD, ST, IL ve SFC listesi tarihsel bağlamıyla okunmalıdır. IL, 2013 baskısının dil takımında yer alıyordu; 2025’in açıklanan dil takımında bulunmaz. CODESYS’in mevcut yardım dokümanı IL’yi deprecated, yani kullanımı artık önerilmeyen eski dil olarak tanımlar. Eski projeyi açabilmek ile yeni projede o dili tercih etmek farklı kararlardır.
Hangi yapı hangi işte anlaşılır olur?
Ladder Diagram (LD): Kontak ve bobin gösterimi, röle devrelerini bilen kişilerin mantığı izlemesini kolaylaştırır. Bir motorun çalışma izni, durdurma koşulu ve arıza kilidi gibi ikili mantık ilişkileri için okunaklıdır. Ekrandaki kontak, fiziksel kablonun kendisi değildir; programdaki bir mantıksal değeri değerlendirir.
Structured Text (ST): Metin tabanlıdır. Hesaplama, koşul ve döngü içeren algoritmaları ifade etmek için uygundur. Örneğin birden fazla analog ölçümü değerlendirmek ST ile daha düzenli olabilir. CODESYS’te ST programlama yapılırken döngüler sınırlı tutulmalı; görev süresi ve programın okunabilirliği birlikte düşünülmelidir.
Function Block Diagram (FBD): İşlemleri ve blok çağrılarını bağlantılı kutularla gösterir. Karşılaştırma, zamanlayıcı ve sinyal işleme adımlarının ilişkisini görmeyi kolaylaştırır. Grafik bağlantılar veri akışını gösterir; çizilen bütün blokların aynı anda çalıştığı sonucuna varılmaz.
Sequential Function Chart (SFC): Süreci adımlara, eylemlere ve geçiş koşullarına ayırır. “Doldur, karıştır, boşalt” sırası buna iyi bir örnektir. SFC yalnızca ST veya FBD rutinlerini bir araya getiren genel bir akış şeması olarak düşünülmemelidir; adımların etkinliği ve geçiş koşulları programın ilerlemesini belirler.
Instruction List (IL): Assembly benzeri, komut satırlarından oluşan eski bir dildir. Mevcut tesis yazılımlarını anlamak için bilinmesi yararlıdır. IL kullanmak kendiliğinden daha hızlı veya daha verimli program üretmez; sonuç algoritmaya, derleyiciye ve hedef donanıma bağlıdır.
CFC, CODESYS’te blokların serbest yerleştirilebildiği ek bir grafik editördür; IEC 61131-3’ün ayrı bir standart dili değildir. Benzer şekilde ExST, ST üzerine CODESYS’e özgü genişletmeler ekler. CODESYS’in temel özelliklerini değerlendirirken bu genişletmelerin başka ortamlarda bulunmayabileceğini hesaba katın.
Standart yalnızca dil listesinden ibaret değildir
POU, program organizasyon birimidir. Program, fonksiyon ve fonksiyon bloğu temel ayrımlardır. Bir fonksiyon bloğunun her örneği kendi durumunu tutabilir; örneğin iki ayrı zamanlayıcı örneği birbirinden bağımsız çalışır. Kullanıcı tanımlı fonksiyon ve bloklar hazırlarken bu ayrım, ortak kodu tekrar kullanmayı kolaylaştırır.
Veri tipleri de davranışı etkiler: BOOL mantıksal durum, INT tam sayı, REAL gerçek sayı işlemleri için kullanılır. Ayrıca görev zamanlaması, programın ne zaman ve hangi aralıkla çağrılacağını belirler. Kodun derlenmesi, seçilen görev süresinde ve gerçek giriş/çıkışlarla doğru çalıştığını tek başına kanıtlamaz.
Kod başka PLC’ye doğrudan taşınabilir mi?
Ortak dil, otomatik proje uyumluluğu sağlamaz. Yeniden kullanılabilir mantık taşımayı kolaylaştırabilir; fakat hedef donanım, giriş/çıkış eşlemesi, kütüphane sürümleri, görev ayarları ve haberleşme özellikleri yeniden değerlendirilmelidir. IEC 61131-3 uyumluluğu, farklı üreticilerin proje dosyalarının veya derlenmiş programlarının birbirini doğrudan açacağı anlamına gelmez.
PLCopen XML ve IEC 61131-10, destekleyen araçlarda proje bilgilerinin alışverişiyle ilgilidir. Dosya aktarımı başarılı olsa bile uygulama davranışı kontrol edilmelidir. Yeni hedefte proje yapılandırmasını gözden geçirip hata ayıklama ve çalışma testleri yapın; yeniden başlatma ve kalıcı veri davranışını da değerlendirin.
Editörün notu: “IEC 61131-3 uyumlu” ifadesini her PLC’ye yüklenir veya makine güvenliği onaylıdır şeklinde okumayın. Bu standardın odağı programlama dilleri ve yapılarıdır. Donanım uyumu, proje aktarımı ve emniyet işlevlerinin doğrulanması ayrı konulardır.
İlgili CODESYS konuları
CODESYS’in kullanım amacı | Diğer PLC yazılımlarından farkları
Komut seti | Eğitim kaynakları | Yazılımı indirme | PLC ve aksesuarları
Kaynaklar
IEC 61131-3:2025 — Güncel dördüncü baskının kapsamı ve dil takımı.
CODESYS LD FBD — LD, FBD ve eski IL desteği.
CODESYS Structured Text / ExST — ST dili ve CODESYS’e özgü genişletmeler.
PLCopen XML Exchange — Proje alışverişi ile programlama dili standardı arasındaki ayrım.
Schneider Electric — SoMachine V4.3 programlama dilleri — Eski bir CODESYS tabanlı ortamda IL ve CFC’nin konumu; güncel standart baskısının listesi değildir.