Skip to content
Samet Karayoluk
PLC & TIA Portal

TIA Portal’da SCL mi LAD mı? Hangisini Nerede Kullanmak Mantıklı?

TIA Portal SCL ve LAD karşılaştırması

TIA Portal’da program yazarken bir noktada herkesin karşısına aynı soru çıkıyor:

LAD mı kullanmalıyım, SCL mi?

Ben bu sorunun “hangisi daha iyi?” şeklinde sorulmasının çok doğru olmadığını düşünüyorum. Çünkü ikisinin güçlü olduğu yer farklı.

Bir motorun neden çalışmadığını sahada hızlıca görmek istiyorsam LAD çok kullanışlı. Ama bir array içindeki 20 değeri işleyip ortalamasını alacaksam aynı işi LAD ile uzatmak yerine SCL kullanmak çok daha mantıklı.

Siemens’in güncel S7-1200/S7-1500 programlama tavsiyelerinde de yaklaşım benzer: programlama dilini yapılacak işe göre seçmek öneriliyor. Özellikle yoğun binary logic için LAD/FBD; veri ve algoritma ağırlıklı yapılar için SCL güçlü seçenekler olarak ele alınıyor.

Yani mesele LAD vs. SCL değil. Mesele, doğru yerde doğru aracı kullanmak.

LAD tarafı neden hâlâ bu kadar kullanışlı?

LAD, yani Ladder Diagram, elektrik kumanda mantığına oldukça yakın.

TIA Portal’da en temel haliyle sürekli şunları kullanıyoruz:

En klasik örnekten gidelim.

Bir motorumuz olsun:

  • Start butonuna basınca çalışsın.
  • Stop butonuna basınca dursun.
  • Termik arızası varsa çalışmasın.
  • Sistem hazır değilse çalışmasın.

LAD tarafında mantığı kabaca şöyle görürüz:

Bu şemanın güzelliği şu:

Makine çalışmıyorsa online olduğumda networke bakarım. Hazir mı gelmemiş? Termik_Ariza mı aktif? Start mı gelmiyor? Mantığı gözümle takip edebilirim.

Özellikle;

  • motor,
  • valf,
  • sensör,
  • interlock,
  • izin şartları,
  • basit makine kontrolleri

gibi yerlerde LAD gerçekten çok pratiktir.

Burada küçük ama önemli bir detay var: TIA Portal’daki [ ] ve [/] instruction’ları bir BOOL değerini sorgular. Bunları sahadaki fiziksel butonun NO/NC bağlantısıyla birebir aynı şey olarak düşünmemek gerekir. Fiziksel girişin nasıl bağlandığı ve PLC tag’inin neyi ifade ettiği ayrı konudur.

SCL nerede devreye giriyor?

SCL, Siemens tarafında Structured Control Language olarak geçiyor ve Structured Text yaklaşımına dayanıyor.

Burada artık kontak ve bobin yerine kod yazıyoruz.

Yukarıdaki mantığın benzeri SCL’de örneğin şöyle ifade edilebilir:

IF #Stop OR #Termik_Ariza OR NOT #Hazir THEN
    #Motor := FALSE;

ELSIF #Start THEN
    #Motor := TRUE;
END_IF;

Gayet temiz.

Ama açıkçası sadece böyle basit bir motor mantığı yazacaksam LAD bana daha anlamlı geliyor. Çünkü sahada baktığımda şartları daha hızlı okuyabiliyorum.

SCL’nin gerçek avantajı biraz daha farklı problemlerde ortaya çıkıyor.

Mesela bir tesiste birbirine benzer 100 adet asenkron motor olduğunu düşünelim.

Her motor için;

  • start komutu,
  • çalışma izni,
  • termik veya sürücü arızası,
  • çalışma geri bildirimi,
  • çıkış komutu

gibi benzer sinyallerimiz olsun.

Bunu LAD ile yapmak elbette mümkün. Ancak aynı mantığı 100 motor için ayrı ayrı network’lerde tekrar etmeye başladığımızda proje hızla büyür.

Motor 1 için yazdığımız yapının benzerini Motor 2, Motor 3 derken 100 motora kadar tekrar etmek zorunda kalabiliriz.

SCL tarafında ise motorlara ait verileri bir ARRAY içerisinde tutup aynı işlemi bir döngü içerisinde uygulayabiliriz.

Mantığı basitleştirirsek:

FOR #i := 1 TO 100 DO

    IF #Motor[#i].Start
       AND #Motor[#i].Hazir
       AND NOT #Motor[#i].Ariza THEN

        #Motor[#i].Cikis := TRUE;

    ELSE
        #Motor[#i].Cikis := FALSE;

    END_IF;

END_FOR;

Burada tek tek 100 motor için aynı kodu yazmak yerine, aynı mantığı array içerisindeki bütün motorlara uyguluyoruz.

Asıl avantaj motor sayısının fazla olması değil; aynı yapının çok sayıda ekipman için tekrar edilmesi.

Örneğin daha sonra bütün motorlara yeni bir çalışma şartı eklemek istersek, 100 farklı network’ü değiştirmek yerine ilgili algoritmayı tek noktadan güncelleyebiliriz.

Bu nedenle;

tek bir motorun saha mantığını takip etmek için LAD oldukça kullanışlıyken, çok sayıda benzer ekipmanın verisini ve tekrar eden işlemleri yönetmek gerektiğinde SCL ciddi avantaj sağlayabilir.

TIA Portal’da SCL mi LAD mı daha iyi?

Tek başına daha iyi bir dil yoktur. LAD, binary kontrol ve saha teşhisi için avantajlıyken SCL; hesaplama, döngü, array ve veri işleme işlemlerinde daha kullanışlıdır.

S7-1200 ve S7-1500’de SCL kullanılabilir mi?

Evet. Siemens TIA Portal içerisinde S7-1200 ve S7-1500 PLC’lerde SCL kullanılabilir ve aynı projede LAD ile birlikte çalışılabilir.


© Samet Karayoluk. Bu içerik Samet Karayoluk tarafından hazırlanmıştır. İzinsiz olarak kopyalanamaz ve yeniden yayımlanamaz. Kaynak gösterilerek kısa alıntılar yapılabilir.

En az 2 karakter yaz.

↑↓ · Enter · Esc

Share with