Ladder Diagram nedir?

PLC Ladder Diagram (LD) nedir?

Ladder Diagram (LD — Merdiven Diyagramı), PLC programlarında kullanılan grafiksel bir programlama dilidir. Bazı üreticiler aynı dil için LAD veya KOP adını kullanır. IEC 61131-3 kapsamında tanımlanır ve röleli kumanda devrelerini andıran yapısıyla otomasyon mantığını görsel olarak düzenler. Ladder, yalnızca bir çizim değil; PLC'nin yürüttüğü koşulları ve işlemleri tanımlayan programdır.

Merdiven yapısı nasıl okunur? Program, ağlardan veya basamaklardan (network/rung) oluşur. Koşullar genellikle solda, sonuç üreten bobinler ve işlemler sağda bulunur. Dikey hatlar mantıksal yapıyı düzenler; çizimdeki bağlantılar gerçek güç kablosu değildir. Kontaklar çoğunlukla BOOL değişkenlerini değerlendirir. Görsel benzerliği elektriksel bağlantıyla karıştırmadan, her elemanın programdaki görevini okuyun.

Normal ve ters kontak: Normal kontak, bağlı değişken TRUE olduğunda; ters veya olumsuzlanmış kontak, değişken FALSE olduğunda koşulu sağlar. Kontak, değişkenin durumunu kontrol eder. Ekrandaki kontak sembolü, sahadaki butonun fiziksel olarak NO veya NC bağlandığını tek başına söylemez.

Fiziksel NC kontakla yazılımdaki ters kontak aynı mıdır? Hayır. Örneğin fiziksel NC stop butonu, normal durumda PLC girişini TRUE yapacak şekilde bağlanmış olabilir. Bu durumda StopOK değişkeni, programda normal kontakla kontrol edilebilir. Sensör ve buton bilgileri giriş/çıkış eşlemesiyle birlikte değerlendirilir. Önce girişin hangi fiziksel durumda TRUE olduğunu belirleyin, ardından uygun yazılım kontağını seçin.

AND, OR ve NOT ilişkisi: Seri koşullar AND, alternatif paralel yollar OR, ters kontak ise ilgili değişken üzerinde NOT mantığını ifade eder. Örneğin çalışma izni ve başlatma isteği birlikte aranabilir. Bir paralel kolun başka bir izni de atlamadığını kontrol edin; mühürleme kolu yalnızca tutması gereken koşulu köprülemelidir.

Bobin ne yapar? Normal bobin, ağ yürütüldüğünde mantıksal sonucu bağlı BOOL değişkenine yazar: sonuç TRUE ise TRUE, FALSE ise FALSE olur. Bobin bir iç bellek değişkenini veya çıkış komutunu temsil edebilir. Yazılım bobini motorun güç devresi değildir; fiziksel hareket uygun çıkış donanımı, kontaktör veya motor sürücüsü üzerinden gerçekleştirilir. Bir komutun TRUE olmasıyla cihazın gerçekten çalıştığı bilgisini ayırın.

SET ve RESET bobinleri: SET, koşul sağlandığında değişkeni TRUE yapar; RESET ise FALSE yapar. Normal bobinden farklı olarak koşulun sonradan FALSE olması, SET ile yazılan değeri kendiliğinden sıfırlamaz. Set/reset edilen durumun bırakılma koşulu açık olmalıdır. SET/RESET kullanımı ile enerji kesintisinde verinin korunması ayrı konulardır; kalıcılık ayarını ayrıca inceleyin.

Tarama ve yazma sırası: PLC CPU, çağrılan programı yapılandırılmış görev zamanlaması içinde yürütür. Bir değişkenin önceki bir ağda yazılması, sonraki ağın değerlendirmesini etkileyebilir. Aynı komuta birden fazla yerden yazmak, sıraya bağlı sonuçlar oluşturabilir. Ağ, program ve görev sırasını hedef platformda doğrulayın; çağrılmayan bir bölümün komutları güncelleyeceğini varsaymayın.

Mühürleme nedir? Mühürleme, kısa süreli bir başlatma isteği sona erdikten sonra çalışma isteğinin kendi durumu üzerinden tutulmasıdır. PLC programlama içinde bu mantık, başlatma koşuluna paralel bir tutma koşuluyla kurulabilir. Stop ve çalışma izinleri tutma yolunu da kesmelidir. Mühürleme, duruş koşullarını devre dışı bırakacak şekilde tasarlanmamalıdır.

Basit çalışma isteği örneği: Bu eğitim örneğinde StopOK normal stop iznini, OverloadOK motor aşırı yük iznini, StartPulse yeni başlatma isteğinde bir çevrim TRUE olan sinyali temsil etsin. Ağın mantığı RunRequest := StopOK AND OverloadOK AND (StartPulse OR RunRequest); ifadesiyle açıklanabilir. Başlangıçta RunRequest FALSE kabul edilir. Bu ifade mantık açıklamasıdır; tek başına tamamlanmış motor kumandası veya güvenlik devresi değildir.

Örnekte durdurma ve yeniden başlatma: İzinler TRUE iken StartPulse, RunRequest'i TRUE yapar; sonraki çağrılarda RunRequest kendi durumuyla tutulur. StopOK veya OverloadOK FALSE olduğunda, ağın düzenli yürütülmesiyle RunRequest FALSE olur. İznin geri gelmesi tek başına yeniden başlatmaz; yeni StartPulse gerekir. StartPulse üretimi, başlangıç durumu ve enerji sonrası yeniden başlatma davranışı da açıkça tanımlanmalıdır.

TON zamanlayıcısı: TON bir gecikmeli açma fonksiyon bloğudur. Örneğin IN girişine RunRequest, PT girişine 5 saniye verildiğinde Q, IN TRUE kalıp süre tamamlandıktan sonra TRUE olur. IN FALSE iken çağrıldığında zamanlama ve Q sıfırlanır. Bloğu düzenli çağırın; duruşta çağrısını kesmek yerine gerekli reset koşulunu uygulayın ve her bağımsız zamanlayıcı için ayrı örnek kullanın.

Sayaç ve kenar algılama: Standart bir CTU, CU girişinin yükselen kenarında sayımı artırır; sinyalin sürekli TRUE kalması her çevrimde yeni ürün sayılması anlamına gelmez. Reset sayımı sıfırlar, hedef değer ise tamamlanma koşulunu belirler. Enkoder veya çok kısa darbe için uygun hızlı sayıcı gerekebilir. Yazılım sayacı, giriş örneklemesinin hiç görmediği bir darbeyi sonradan geri getiremez.

Yıldız–üçgen gibi sıralı işlemler: Bir zamanlayıcının bitmesi, kontaktörün fiziksel olarak bıraktığını tek başına kanıtlamaz. Yıldız ve üçgenin birlikte çekmesini önleyen kilitlemeler, uygun geçiş koşulları ve duruş/reset davranışı birlikte tasarlanır. Yalnızca süre değiştiren bir örneği eksiksiz bir motor yol verme projesi olarak değerlendirmeyin.

Ladder yalnızca aç/kapa mantığı mıdır? Hayır. Karşılaştırma, hesaplama, veri taşıma, analog sinyal işleme ve PID kontrol blokları da desteklenen ortamlarda kullanılabilir. 4–20 mA veya 0–10 V verisi için uygun ölçekleme ve birimler gerekir. Kontak mantığı ile sayısal işlemler aynı projede birlikte çalışabilir. Blok desteğini ve veri tiplerini seçilen CPU ile yazılım üzerinde kontrol edin.

LD, FBD, ST ve SFC nasıl birlikte kullanılır? Ladder, koşullar ve kilitlemeler için okunabilir olabilir; FBD blok bağlantılarını, Structured Text hesaplama ve veri işlemlerini düzenlemek için kullanılabilir. SFC ise sıralı işlemleri adım ve geçişlerle yapılandırır. İşin yapısına uygun yöntem seçilir. Aynı projedeki farklı dillerin ortak değişkenlere nasıl eriştiğini ve hangi sırada çalıştığını açık tutun.

HMI ve haberleşme etkisi: HMI veya SCADA bir başlatma isteği gönderebilir; PLC bunu çalışma koşullarıyla değerlendirir. Uzak I/O ve haberleşme güncellemeleri, programın kullandığı bilginin zamanını ve geçerliliğini etkiler. Komut gönderildi, komut kabul edildi ve işlem tamamlandı bilgileri farklıdır. Ekrandaki son değeri her durumda güncel saha bilgisi olarak kabul etmeyin.

Hata ayıklamada ne izlenir? Hata ayıklama sırasında giriş durumları, ağ sonuçları, komutlar, zamanlayıcı süreleri ve sayaç değerleri birlikte incelenir. CODESYS ve diğer programlama yazılımları farklı izleme araçları sunabilir. Normal çalışma kadar duruş, reset, eksik onay ve yeniden başlatma da doğrulanır. Simülasyon mantığı değerlendirmeye yardımcı olur; gerçek kablolamayı, donanım gecikmesini ve fiziksel tepkiyi tek başına doğrulamaz.

Ladder ve makine güvenliği: Grafiksel bir program kullanılması, güvenlik fonksiyonunun doğrulandığı anlamına gelmez. Gereken mimariye göre güvenlik rölesi veya uygun güvenlik PLC'si ve donanımı kullanılır. Güvenlik programı da Ladder ile yazılabilir; belirleyici olan dil adı değil, uygun sistem tasarımı ve doğrulamadır. Acil durdurmayı sıradan bir stop kontağıyla eşdeğer kabul etmeyin.