Tüm yazılar
Temel

PLC Programlamaya Hangi Dille Başlamalıyım: LD, FBD, ST ve SFC

LD, FBD, ST, SFC hangisini öğrenmeliyim sorusuna 'hepsi aynı programı yazar' diyerek cevaplıyorum: bir motoru neden merdivenle kurarken, bir konveyörü adım adım neden SFC'ye döktüğümü, ST'yi ne zaman cebimden çıkardığımı kendi programlarımdan örneklerle anlatıyorum.

PLC Programlamaya Hangi Dille Başlamalıyım: LD, FBD, ST ve SFC

Bir proje toplantısında, masanın karşısına yeni başlayan bir mühendis oturdu. Sorusu klasikti: “Hangi dille başlayayım? Ladder mi, ST mi?”

Ben de klasik cevabı verecektim: “Hepsi aynı programı yazar.” Ama bu cümle, çoğu insanı rahatlatmaz. Çünkü kulağa “hepsi aynı” geliyor, oysa pratikte hiç de öyle değil. Bir motoru merdivenle kurarsınız, ama aynı motoru 40 satırlık ST ile de yazabilirsiniz. Hangisi “doğru”? İkisi de. Ama hangisi size daha az acı çektirir? Ona bakalım.

Dört Dil, Tek Beyin: Aynı Program, Dört Kıyafet

IEC 61131-3 standardı, bir PLC’nin programlanabileceği dört dili tanımlar: Ladder Diagram (LD), Function Block Diagram (FBD), Structured Text (ST) ve Sequential Function Chart (SFC).

Kritik olan şu: bu dört dil, farklı programlar değildir. Aynı karar mantığını, dört farklı kıyafetle anlatırlar. Bir PLC, “buton 1 ise motoru tut” kuralını LD ile de, FBD ile de, ST ile de, SFC ile de anlar. Fark, senin o kuralı nasıl düşündüğüne göre değil, o düşünceyi kağıda nasıl dökmediğine göre.

Yani soru “hangi dil daha iyi” değil. Soru, “benim kafamdaki düşünce biçimi, hangi kıyafete sığıyor?”

Merdiven: Elektrik Gözünden Düşünenin Dili

LD, yani ladder, şuna benzer: bir pano şeması. Sol dikey çizgi faz, sağ dikey çizgi nötr, arada bobinler ve kontakterler. Siz bir elektrikçi gibi bakarsanız, bu dil size en tanıdık gelecek.

Neden başlangıç için merdiven diyorum? Çünkü beyninizde zaten bir model var: “enerji soldan sağa akar, yol kesilirse bobin düşer.” Bu model, PLC’nin beynindeki modeliyle birebir örtüşür. Bir kontaktörün çekme/konma fikri, bir bobinin 1/0 olması fikri — aynı şey. Elektrik gözünden düşünen biri için merdiven, PLC’nin iç sesidir.

S7-1200 üzerinde ilk programımı merdivenle yazdım ve hiç pişman olmadım. Çünkü her çizgi, panoda karşılığı olan bir şeydi. Kodu okuyunca, kablo da gözümde canlanıyordu.

FBD: Blokları Birbirine Bağlamak

FBD, aynı düşünceyi, merdivenin yatay çizgileri yerine bloklar olarak gösterir. Her blok, bir fonksiyon: bir AND, bir OR, bir zamanlayıcı, bir karşılaştırma. Blokların çıkışı, diğerinin girdisine bağlanır.

Ne zaman FBD’ye geçerim? Mantık, kablo şemasına benzemiyorsa. Örneğin, “bu sensör 1 olalı 5 saniye geçti ve seviye 80’in altında ise bu vanayı aç” gibi bir kural. Burada “5 saniye” bir TON bloğu, “80’in altında” bir karşılaştırma bloğu. Bunları merdivenle de yazarsınız, ama FBD’de her bloğun görevi tek başına net görünür. Merdiven, elektrikçide güçlüyken; FBD, blokları yanyana koymak zorunda kalan yerde güçlü.

Aslında ikisi kardeştir. Birini iyi öğrenirseniz, diğerine geçiş bir gecikmeden ibarettir.

ST: Döngü Kurmak Zorunda Kaldığınız An

Structured Text, diğerlerinden bambaşka. C’ye benzer. Değişken tanımlarsınız, for döngüsü kurarsınız, if...then yazarsınız, struct’lar tanımlarsınız.

Neden bazen merdivenden ST’ye kaçmak zorunda kalırsınız? Çünkü bazı işler, çizgi çizmekle bitmez. Bir örneğim: 12 tane tankın seviyelerini alıp, en dolumlu olanı bulup, ona besleme vereceğim. Merdivende bunu yazmak, 12 tank için 12 tane karşılaştırma, birbiri ardına, okunamayan bir yığın. ST’de ise:

for i := 1 to 12 do
  if Level[i] > Level[maxTank] then
    maxTank := i;
  end_if;
end_for;

Kısa, okunur, hatası kolay bulunur. Merdivende bu “en büyük bulma” işini kurmak, hem uzundur hem de 13. tankı eklemek istediğinizde her şeyi yeniden çizersiniz.

ST, “algoritma” yazdığınız an cebinizden çıkar. Döngü, diziler, karmaşık matematik, modüler yapı — bunların hepsi ST’nin evi. Ama basit bir kendini tutma devresi için ST’ye geçmek, gereksiz karmaşıklıktır. Basit işi basit dille yapın.

SFC: Adım Adım Oynayan Hattın Dili

Sequential Function Chart, dördüncü dil ve çoğu yeni başlayanın gözünden kaçan dil. Oysa sahada en çok işe yarayanlardan.

SFC ne yapar? İşinizi adımlara böler. “Adım 1: hazır. Adım 2: ürün geldi. Adım 3: kaldırıcı kalksın. Adım 4: süre dolsun. Adım 5: sıfırla.” Her adımın giriş koşulu, çıkış koşulu ve o adımda ne yapacağı vardır.

Neden bu kadar değerli? Çünkü bir konveyör hattı, bir paketleme makinesi, bir robot istasyonu — hepsi sıra ile çalışır. Önce bu, sonra şunu, sonra da bunu. SFC, sırayı doğrudan gösterir. Merdivende o sırayı 15 network’ün içine gömerken, SFC’de sırayı 5 adımda, tek bakışta görürsünüz.

Bir konveyör yazdım: ürün S2’ye gelince kaldırıcı kalksın, süre dolsun, ayırıcı palet alsın, sıfırla. Merdivende bunu 10 ağırla, latch’larla, kenar yakalamalarla kurdum. Çıktısı doğruydu ama okunması zordu. Daha sonra aynısını SFC düşünceyle yeniden kurdum ve farkı hissettim: her adım, panodaki fiziksel duruma karşılık geliyordu. Operatör soruyu sorduğunda, “şu an 3. adımda” diyebiliyordum.

Peki Hangisiyle Başlamalı?

Size, kendi yolculuğumdan süzdüğüm cevabı vereyim:

Merdivenle (LD) başlayın. Elektrik sezginiz varsa, PLC’nin iç sesiyle hemen örtüşür. İlk motoru, ilk zamanlayıcıyı, ilk kendini tutma kuralını merdivenle yazın. Bu, beyninize doğru modeli kurar.

FBD’yi kardeş olarak bilin. Farkı bir akşamda anlarsınız. Birini iyi bilirseniz, diğerini otomatik alırsınız.

ST’yi, döngü kurmak zorunda kaldığınız an öğrenin. 10. tane modülde, dizilerle uğraşıp merdivende boğulduğunuzda, ST sizi kurtaracak. Ama ilk günden ST’ye girmek, basit işleri karmaşıklaştırır.

SFC’yi, sıra yazdığınız an öğrenin. Bir konveyör, bir paketleme, bir istasyon yazdığınızda. O an “adım” kavramı aklınıza takılacak ve SFC o sorunun cevabı olacak.

Yani “dört dil” demek, “dört tanesini ezberle” demek değil. Demek: iki tanesini iyi yap (merdiven + FBD), kalan ikisini (ST + SFC) ne zaman ihtiyaç hissettiğinde cebinden çıkar.

Bu tırmanışı pratikte yaşamak isterseniz, ilk adımı Kendini Tutma Simülatörü ile merdivenle kurun. Sonra sıra yazmayı öğrenmek istediğinizde, Konveyör Dizisi Simülatörü’ndeki adım mantığını kendi gözünüzle izleyin. Tırmanışın tamamının haritası M1–M8 müfredatında.

O gün masaya oturan yeni mühendise, toplantının sonunda şunu söyledim: “Dört dilden birini seçmeye çalışma. Dertlerini çöz. Basit dertler merdivende, büyük dertler ST’de, sıra dertleri SFC’de. Diller araç; senin derdine uyan araç, o dert için en iyi alettir.”

Ve inanın, o cümleyi kendime de söylüyorum. Her yeni projede, “bu işin derti ne?” diye soruyorum. Cevaba göre kıyafeti seçiyorum.