Kazanimlar:
- Ladder mantığı ve Structured Text (ST) yapılarını AI ile taslak halinde ürettirebilme
- Emniyet devreleri, kilitlemeler (interlock) ve durum makinelerini AI yardımıyla kurgulayabilme
- AI'ın ürettiği PLC mantığını I/O haritası ve emniyet gereksinimlerine karşı doğrulayabilme
Fabrika sahasında güvenilirliğin adı PLC'dir (Programmable Logic Controller). Konveyörler, robot hücreleri, dolum hatları, presler; hepsi PLC'ler tarafından kontrol edilir. PLC programlama, masaüstü yazılımdan farklı bir dünyadır: Ladder Logic (LD) röle mantığını taklit eden görsel bir dildir, Structured Text (ST) ise Pascal benzeri metinsel bir dildir; her ikisi de IEC 61131-3 standardında tanımlıdır. Bu ortamda en önemli şey işlevsellik değil emniyettir; çünkü bir mantık hatası bir presi yanlış zamanda kapatabilir, bir operatörü tehlikeye atabilir. Yapay zeka, ladder ve ST taslakları üretmekte, durum makineleri kurmakta ve mantığı belgelemekte yardımcı olur. Ancak emniyet devreleri, kilitlemeler ve nihai doğrulama mühendisin sorumluluğundadır ve AI'a devredilemez. Bu ünitede PLC mantığını AI ile nasıl kurgulayıp doğrulayacağınızı işliyoruz.
PLC'nin Çalışma Mantığı: Tarama Döngüsü
PLC, kodu bir kez çalıştırıp bitmez; sürekli tarama döngüsü (scan cycle) yapar. Her döngüde: (1) tüm girişleri okur, (2) mantığı yukarıdan aşağıya çalıştırır, (3) tüm çıkışları günceller. Bu döngü milisaniyeler sürer ve durmadan tekrarlanır. Bu davranış, PLC mantığını yazarken kritik sonuçlar doğurur:
- Çıkışlar döngü sonunda güncellenir; döngü içinde bir çıkışa birden fazla yerde değer atarsanız son atama kazanır.
- Mantık her döngüde baştan çalışır; bu yüzden durum "hatırlamak" için kilitleme (latch) veya durum değişkenleri kullanılır.
- Tarama süresi uzarsa hızlı olaylar kaçırılabilir; kritik olaylar donanım kesmesi veya yüksek hızlı sayaçla yakalanır.
İpucu: AI'a PLC mantığı yazdırırken "tarama döngüsü davranışını hesaba kat, aynı çıkışa çelişen atamalar olmasın, durum için latch/durum makinesi kullan" deyin. AI bazen masaüstü mantığı gibi düşünüp tarama davranışını atlar.
Ladder Logic ve Structured Text
Aynı mantık iki dilde de yazılabilir. Basit bir örnek: bir motor, başlat butonuna basılınca çalışsın, durdur butonuna basılınca dursun ve kendini tutsun (self-latch).
LADDER (metin gösterimi): Baslat Durdur Motor---| |-------|/|-------------------------( )--- | Motor |---| |-------+ (Motor kontagi kendini tutar -> seal-in)Aciklama: Baslat'a basilinca Motor enerjilenir; Motor kendi kontagiuzerinden akimi surdurur (seal-in). Durdur'a (NC) basilinca zincir kesilir.
(* STRUCTURED TEXT ile ayni mantik *)IF Baslat AND NOT Durdur THEN Motor := TRUE;END_IF;IF Durdur THEN Motor := FALSE; (* Durdur her zaman oncelikli *)END_IF;(* Not: Durdur butonu fiziksel olarak NC (normalde kapali) baglanir; boylece kablo koparsa Durdur=FALSE olur ve sistem guvenli tarafa gecer. *)
Buradaki emniyet inceliği kritiktir: Durdur butonu fiziksel olarak normalde kapalı (NC) bağlanır. Böylece kablo kopması ya da kontak arızası durumunda sinyal kesilir ve sistem "durma" yönüne gider (fail-safe). Eğer NO (normalde açık) bağlanırsa, kablo koptuğunda durdurma çalışmaz—tehlikeli bir sessiz arıza. AI kodu mantıksal olarak doğru görünse bile bu fiziksel bağlantı kararı mühendise aittir.
Emniyet: E-Stop, Kilitleme ve Fail-Safe
Endüstriyel otomasyonda emniyet, "yazılımda halledilecek" bir konu değildir; donanım ve yazılımın katmanlı işbirliğidir. Temel ilkeler:
İlke
Anlamı
Uygulama
Fail-safe
Arıza güvenli tarafa götürmeli
NC kontak, arıza=durma
Redundans
Kritik fonksiyon çift kanallı
İki kontak, çapraz izleme
Kilitleme (interlock)
Tehlikeli durumu önle
Kapak açıkken makine çalışmaz
E-stop
Bağımsız acil durdurma
Donanım seviyesinde, PLC'den bağımsız
Kritik nokta: E-stop, yalnızca yazılıma bırakılmaz. Güvenlik ilgili acil durdurma, çoğu zaman güvenlik röleleri veya güvenlik PLC'si ile donanım seviyesinde de kesilir; standart PLC yazılımı bunun üzerine ek katmandır. ISO 13849 (makine güvenliği) ve IEC 62061 bu tasarımların çerçevesini verir.
Dikkat: AI'ın ürettiği bir E-stop veya kilitleme mantığını "yazılımda yeterli" sanmayın. Güvenlik fonksiyonları ilgili standartlara (ISO 13849 PL, IEC 62061 SIL) göre tasarlanır, donanım katmanı içerir ve risk değerlendirmesiyle doğrulanır. Bu değerlendirme mühendisin ve kuruluşun sorumluluğudur; AI yalnızca taslak ve kontrol listesi üretebilir.
Durum Makineleri
Karmaşık otomasyon mantığı, dağınık if-else yerine durum makinesiyle (state machine) düzenlenir: sistem belirli durumlarda (Boşta, Başlatılıyor, Çalışıyor, Duruyor, Hata) bulunur ve tanımlı geçişlerle ilerler. Bu yapı hem okunur hem doğrulanabilir.
(* Basit dolum istasyonu durum makinesi *)CASE Durum OF 0: (* BOSTA *) IF BaslatButonu AND KapakKapali THEN Durum := 10; END_IF; 10: (* DOLUM *) Valf := TRUE; IF SeviyeDoldu THEN Valf := FALSE; Durum := 20; END_IF; IF NOT KapakKapali THEN Valf := FALSE; Durum := 90; END_IF; (* emniyet *) 20: (* BOSALTMA *) Bosalt := TRUE; IF SeviyeBos THEN Bosalt := FALSE; Durum := 0; END_IF; 90: (* HATA *) Valf := FALSE; Bosalt := FALSE; (* tum aktuatorler guvenli *) IF ResetButonu THEN Durum := 0; END_IF;END_CASE;
Bu yapıda her durumda emniyet geçişleri (kapak açılırsa hata durumuna git, tüm aktüatörleri kapat) açıkça yer alır. AI durum makinesi iskeletini hızlı üretir; ama hangi durumdan hangi emniyet olayında çıkılacağı sizin risk analizinizden gelir.
Zayıf Prompt / Güçlü Prompt
ZAYIF:"Bir konveyör için PLC kodu yaz."(I/O yok, emniyet yok, dil belirsiz. Sahaya alınamaz taslak.)GÜÇLÜ:"IEC 61131-3 Structured Text ile bir konveyör kontrolü yaz. Girişler:Baslat (NO), Durdur (NC), FotoselUrunVar (NO), KapakAcik (NC güvenlik).Çıkışlar: KonveyorMotor, UyariLambasi. Durum makinesi kullan (Bosta,Calisiyor, Hata). Durdur her zaman öncelikli, KapakAcik olduğunda Hatadurumuna git ve motoru kapat. Her durum geçişini ve emniyet mantığınıyorumla. Bu kodun güvenlik değerlendirmesinin bana ait olduğunu varsay."
Mini Vaka
Otomasyon mühendisi Tolga, bir paketleme hattı için AI'dan ST kodu istiyor. AI çalışır görünen bir kod üretiyor ama Tolga I/O haritasına karşı doğrularken iki sorun buluyor. Birincisi: AI, Durdur butonunu NO (normalde açık) mantığıyla ele almış; Tolga bunu NC fail-safe mantığına çeviriyor, çünkü kablo koparsa hat durmalı. İkincisi: koruyucu kapak açıkken makinenin durması gereken kilitleme, yalnızca başlangıçta kontrol ediliyor, çalışma sırasında değil; Tolga her tarama döngüsünde kontrol edilecek şekilde düzeltiyor. Ayrıca gerçek E-stop'un yazılıma bırakılmadığını, güvenlik rölesiyle donanımda da kesildiğini doğruluyor. AI mantık iskeletini hızlı verdi; ama fail-safe bağlantı, sürekli kilitleme ve donanım E-stop olmak üzere üç emniyet kararını mühendisin doğrulaması güvenceye aldı.
Yaygın Hatalar
- Durdur/E-stop butonunu NO bağlayıp kablo kopmasında fail-safe davranışı kaybetmek.
- Kilitlemeyi (kapak, ışık perdesi) sadece başlangıçta kontrol edip çalışmada atlamak.
- Güvenlik fonksiyonunu tümüyle yazılıma bırakıp donanım katmanını ihmal etmek.
- Tarama döngüsü davranışını unutup aynı çıkışa çelişen atamalar yapmak.
- Karmaşık mantığı durum makinesi yerine dağınık if-else ile yazıp doğrulanamaz hale getirmek.
- AI'ın güvenlik standardı yorumunu resmi metinle doğrulamadan kabul etmek.
Özetle
- PLC sürekli tarama döngüsüyle çalışır; çıkışlar döngü sonunda güncellenir.
- Ladder ve Structured Text aynı mantığı iki farklı IEC 61131-3 diliyle ifade eder.
- Durdur/E-stop butonları NC ve fail-safe bağlanır; arıza güvenli tarafa götürmelidir.
- Kilitlemeler her tarama döngüsünde kontrol edilir; güvenlik donanım katmanı içerir.
- Durum makinesi, karmaşık mantığı okunur ve doğrulanabilir hale getirir.
- Güvenlik değerlendirmesi (ISO 13849/IEC 62061) mühendisin sorumluluğundadır; AI taslak üretir.
Uygulama görevi
Basit bir otomasyon senaryosu seçin (örneğin start/stop self-latch motor, iki konumlu bir aktüatör, veya küçük bir dolum istasyonu). I/O listenizi ve emniyet gereksinimlerinizi (hangi buton NC, hangi kilitleme var) yazın. AI'a bu bağlamla Structured Text bir durum makinesi ürettirin. Ardından çıktıyı emniyet açısından doğrulayın: (1) Durdur her durumdan güvenli çıkış sağlıyor mu, (2) kilitleme her tarama döngüsünde kontrol ediliyor mu, (3) hata durumunda tüm aktüatörler güvenli konuma gidiyor mu? Bulduğunuz emniyet eksiklerini ve düzeltmelerini not edin.