PLC için (FBD) Fonksiyon Blok Diyagramı?

Fonksiyon Blok Diyagramı (FBD), PLC programlarında mantıksal işlemleri, hesaplamaları ve blok çağrılarını grafiksel bağlantılarla ifade eden bir programlama dilidir. IEC 61131-3:2025 kapsamında yer alır. PLC programlama sırasında hangi bilginin hangi işlemden geçerek sonuca ulaştığını görmeyi kolaylaştırır. FBD, çalıştırılabilir program mantığıdır; yalnızca bir çizim veya elektrik bağlantı şeması değildir.
Bloklar ve bağlantılar neyi gösterir? Diyagramdaki kutular işlem veya blok çağrısını; bağlantılar ise değerlerin bu işlemler arasında aktarılmasını gösterir. Değer bir sensörden, sabit sayıdan, ara değişkenden veya başka bir bloğun sonucundan gelebilir. Her çizgi fiziksel kabloyu, her kutu da ayrı bir donanım modülünü temsil etmez.
Program değişkeni ile saha kanalı: Sahadan okunacak bir sinyal, giriş/çıkış modülündeki uygun kanalla eşleştirilmelidir. Hesaplanan sonuç fiziksel bir çıkışı kumanda edecekse ilgili çıkış değişkenine ve kanala aktarılır. Uzak I/O kullanılıyorsa haberleşme durumu da değerlendirilir. Doğru program bağlantısı ile doğru saha bağlantısı birlikte gerekir. Çıkış değişkeninin TRUE olması, bağlı ekipmanın çalıştığını tek başına kanıtlamaz.
Veri tipi neden önemlidir? Veri tipleri, bir bağlantıda hangi tür bilginin taşındığını belirler. BOOL doğru/yanlış durumunu, INT tam sayıyı, REAL ondalıklı değeri, TIME süreyi ifade etmek için kullanılır. Uygun dönüşümler gerektiğinde açıkça yapılır. Tipi doğru olan bir değer bile yanlış birim veya ölçekle kullanılırsa yanlış sonuç üretebilir.
Sık kullanılan işlemler: AND, OR ve NOT mantıksal koşulları; ADD ve MUL hesaplamaları; GT ve GE karşılaştırmaları ifade eder. Zamanlayıcı, sayaç ve PID kontrol gibi görevlerde ilgili bloklar kullanılabilir. Blok seçimi, beklenen davranışa göre yapılır. Benzer görünen blokların girişleri, reset kuralları veya çalışma koşulları farklı olabilir.
FBD programı ne zaman hesaplanır? CPU, programı bağlı olduğu görevin çalışma kurallarına göre yürütür. Çevrimsel görevlerde görev zamanlaması, ağların ve blok çağrılarının sırası sonucu etkiler. Veri akışı ve yürütme sırası birlikte okunmalıdır. Bir girişin değişmesi, bütün blokların ve fiziksel çıkışların aynı anda güncellendiği anlamına gelmez.
Fonksiyon ile fonksiyon bloğu arasındaki fark: Bir fonksiyon hesaplama sonucu üretir; standart fonksiyon modelinde çağrılar arasında iç durum tutulmaz. TON gibi bir fonksiyon bloğu ise zamanlama durumunu kendi örneğinde, yani instance içinde tutabilir. Kullanıcı tanımlı fonksiyonlar ve bloklar hazırlanırken bu ayrım önemlidir. FBD dili, hem işlemleri hem de durum tutan blok çağrılarını gösterebilir.
Bağımsız işler için bağımsız instance: İki lambanın ayrı gecikmesi olacaksa Lamba1Gecikme ve Lamba2Gecikme gibi iki ayrı TON örneği kullanılır. Aynı örneği farklı koşullarla tekrar çağırmak aynı iç duruma müdahale eder. Blok türünü tekrar kullanmak ile aynı blok örneğini tekrar çağırmak farklıdır.
Kısa FBD örneği — AND ve TON: ButonBasili ile GostergeIzni AND girişlerine bağlanır. AND sonucu TON'un IN girişine, T#2s değeri PT girişine bağlanır. TON'un Q çıkışı, GostergeTalebi değişkenine aktarılır. Bu örnek bir gösterge talebini anlatır.
Örneğin davranışı: İki koşul kesintisiz TRUE kalırsa iki saniyelik gecikme dolduğunda TON işlendiğinde Q TRUE olur. ET geçen süreyi gösterir. Koşullardan biri FALSE olduğunda blok işlendiğinde Q FALSE olur ve süre sıfırlanır. Gözlenen tepki, görevin çalışma aralığından da etkilenir.
Zamanlayıcıyı düzenli çağırmak: Çevrimsel çalışan bu örnekte TON her ilgili görev çevriminde çağrılmalı; koşul değişikliği IN üzerinden iletilmelidir. Bloğa yeni giriş değeri vermek, bloğu yürütmekle aynı işlem değildir. Çağrısı atlanan bir bloğun çıkışı, son hesaplanan değerde kalabilir.
Seviye ile kenar farkı: Buton TRUE kaldığı sürece koşul her çevrimde görülür. Yalnızca FALSE'tan TRUE'ya geçişte işlem isteniyorsa yükselen kenar algılaması kullanılır. “Basılı tutuluyor” ve “yeni basıldı” farklı bilgilerdir. Örnekteki AND–TON bağlantısı, kesintisiz koşul süresini ölçer.
Analog işlemler ve PID: PLC ile PID kontrol uygulamasında ölçüm ölçekleme, sınırlandırma ve kontrol bloğu bağlantıları FBD'de izlenebilir. Ölçüm birimi, hedef değer, kontrol yönü ve örnekleme süresi doğru tanımlanmalıdır. Bir PID bloğunu diyagrama eklemek, prosesin kendiliğinden doğru ayarlanmasını sağlamaz.
FBD'nin avantajları: Küçük ve iyi ayrılmış ağlarda koşulların, ara sonuçların ve veri akışının okunması kolaylaşır. Hazır veya kullanıcı tanımlı bloklar tekrar kullanılabilir. HMI ve SCADA için anlamlı durum değişkenleri üretmek de bakım işini kolaylaştırabilir. Bu yararlar, açık değişken adları ve düzenli program yapısıyla ortaya çıkar.
FBD'nin sınırları: Çok fazla bağlantı, büyük ağlar ve iç içe koşullar okunabilirliği azaltabilir. Grafiksel dil kullanmak, eğitim veya doğrulama ihtiyacını kaldırmaz. Yanlış mantık, veri tipi, yürütme sırası ve blok parametresi yine hata üretir. FBD'nin her uygulamada daha hızlı yazıldığını veya daha az hata içerdiğini söylemek doğru değildir.
FBD, Ladder, ST ve SFC nasıl seçilir? Ladder kontak ve bobin mantığında; Structured Text yoğun hesaplamalar ve döngülerde; SFC adım ve geçiş yapısında yararlı olabilir. Programlama dilleri uygulama ve bakım ekibinin ihtiyacına göre seçilir. FBD özellikle bloklar arasındaki veri ilişkisini göstermeye uygundur. Desteklenen ortamlarda farklı diller aynı projenin farklı bölümlerinde kullanılabilir.
Yazılım ve CPU desteği: CODESYS gibi bir geliştirme ortamındaki FBD desteği değerlendirilirken hedef CPU, kütüphane ve programlama yazılımı sürümü kontrol edilir. Blok adları, parametreler ve proje yapısı üreticiye göre değişebilir. PLCopen XML aktarımı sonrasında da uyumluluk incelenir. Benzer bir diyagram, başka bir PLC'de doğrudan çalışacak proje anlamına gelmez.
Hata ayıklamada ne izlenir? Hata ayıklama sırasında giriş değeri, ara koşul, blok parametresi ve çıkış sonucu birlikte izlenir. Örnekte IN, PT, ET ve Q kontrol edilir. Koşulun kesilmesi ve yeniden sağlanması da denenir. Program sonucunu gerçek saha durumu ve kanal eşlemesiyle karşılaştırın.
Güvenlik uygulamalarında: Makine güvenliği için uygun donanım, yazılım ortamı ve doğrulanmış güvenlik fonksiyonları birlikte gerekir. Güvenlik rölesi veya güvenlik PLC'si uygulamaya göre değerlendirilir. Programlama dilinin FBD olması, güvenlik uygunluğunu tek başına belirlemez. Standart bir FBD ağına acil durdurma koşulu eklemek, otomatik olarak güvenlik fonksiyonu oluşturmaz.