PLC (SFC) Sequential Function Chart nedir?

PLC Sequential Function Chart (SFC) nedir?

Sequential Function Chart (SFC — Sıralı Fonksiyon Şeması), PLC programlarında sıralı işlemleri adımlar, geçişler ve aksiyonlarla yapılandırma yöntemidir. IEC 61131-3 kapsamında programların ve fonksiyon bloklarının iç organizasyonunu düzenlemek için tanımlanır. Dolum, montaj ve paketleme gibi otomasyon işlemlerinde kullanışlıdır. SFC, sıradan bir akış çiziminden daha fazlasıdır; aktif adımları ve geçiş kurallarını tanımlar.

Temel elemanlar nelerdir? Adım (step) işlemin bir durumunu, geçiş (transition) ilerlemek için gerekli koşulu, aksiyon (action) ise ilişkili kontrol işlemini ifade eder. Yönlü bağlantılar, elemanların ilişkisini gösterir. START, INPUT, PROCEDURE veya GROUP END gibi ifadeler evrensel SFC komut listesi olarak kullanılmaz.

Başlangıç adımı: Başlangıç adımı, SFC'nin ilk etkin durumunu belirler; çoğu editörde çift çerçeveyle gösterilir. Hazırlık veya bekleme durumu bu adımda düzenlenebilir. Başlangıç adımının etkin olması, makinenin otomatik olarak hareket etmesi gerektiği anlamına gelmez; başlatma koşulları ayrıca tanımlanır.

Geçiş koşulu nasıl çalışır? Geçiş, BOOL sonucuyla değerlendirilir. Basit sıralı yapıda önceki adım etkin ve geçiş koşulu TRUE olduğunda sonraki adım etkinleşir; önceki adım devreden çıkar. Koşulun TRUE olması, yükselen kenar algılamayla aynı şey değildir. Önceden TRUE kalmış bir onayın yeni işlemi yanlışlıkla ilerletmediğini kontrol edin.

Aksiyon ne yapar? Aksiyon; komut üretme, hesaplama, veri hazırlama veya fonksiyon bloğu çağırma gibi işlemler içerir. Desteklenen ortamlarda aksiyonlar Structured Text, Ladder Diagram veya FBD ile yazılabilir. SFC işlem sırasını, aksiyon içindeki kod ise yapılacak işi düzenler. Her aksiyonun hangi değişkenlere yazdığı açık olmalıdır.

Aksiyon niteleyicileri: N, adım etkinliğine bağlı saklanmayan aksiyonu; S, reset edilene kadar etkin kalabilen saklanan aksiyonu; R, ilgili aksiyonun resetini ifade eder. L ve D gibi zaman niteleyicileri de bulunabilir. Niteleyici, aksiyonun etkinlik davranışını belirler. Desteklenen niteleyiciler ve giriş/çıkış anındaki yürütme ayrıntıları platformdan doğrulanmalıdır.

Adım biterse çıkış kapanır mı? Bir aksiyonda ValveRequest := TRUE; yazılması, adım bitince aynı değişkenin her platformda otomatik FALSE olacağını göstermez. Aksiyonun durması ile yazdığı değerin sıfırlanması ayrı konulardır. Çıkış komutları, aktif adımlar ve izinler üzerinden açıkça hesaplanabilir veya gerekli reset mantığıyla yönetilebilir. Aynı çıkışa farklı aksiyonların çelişkili değer yazmasını önleyin.

SFC ne zaman yürütülür? PLC CPU, SFC programını yapılandırılmış görev veya çağrı üzerinden çalıştırır. Görev zamanlaması ve çevrim süresi, koşulların ne zaman değerlendirileceğini etkiler. Geçişler ile aksiyonların işlenme sırası ve bir çağrıda ilerleme davranışı kullanılan ortama bağlıdır. Şemadaki bağlantıyı, fiziksel cihazın gecikmesiz tepkisi olarak yorumlamayın.

Alternatif dallanma: Farklı koşullara göre bir akış yolunun seçilmesini sağlar. Örneğin normal işlem ve arıza yolu ayrılabilir. Birden fazla geçiş aynı anda TRUE olabiliyorsa seçim veya öncelik kuralı açıkça belirlenir. Arıza önceliğini yalnızca çizimdeki konuma bırakmayın; normal geçişin koşulunu da buna uygun tasarlayın.

Paralel dallanma: Birden fazla akış kolunda adımlar aynı anda etkin olabilir. Birleşme geçişi, kendisine bağlı önceki adımların etkinliği ve geçiş koşulu sağlandığında ilerler. Paralel etkinlik, CPU komutlarının veya iki fiziksel cihazın tam olarak aynı anda çalıştığı anlamına gelmez.

Örnek — Bekleme ve dolum: Basit bir tank işleminde S0: Bekleme adımından, yeni başlatma isteği, işlem izni ve boş tank onayıyla S1: Dolum adımına geçilir. Dolum isteği bu adımın etkinliğinden üretilir; dolu onayı sonraki geçişi sağlar. Örnekte dolum, karıştırma ve boşaltma istekleri her çağrıda ilgili aktif adımdan ve izinlerden hesaplanır.

Örnek — Karıştırma ve boşaltma: S2: Karıştırma adımında karıştırma isteği üretilir. Motor çalışma onayıyla başlatılan 10 saniyelik zamanlama tamamlandığında S3: Boşaltma adımına geçilir. Boş tank onayıyla S0'a dönülür. Zamanlayıcının başlatma, sıfırlama ve düzenli çağrılma koşulları açıkça tanımlanır; yeni çevrim için yeni başlatma isteği aranır.

Zaman aşımı ve işlem başarısı: Dolumda beklenen onay belirlenen süre içinde gelmezse arıza durumu ve uygulanacak çıkış tepkisi tanımlanır. Normal geçiş ve arıza geçişinin aynı anda oluşması ele alınmalıdır. Bir sürenin dolması, işlemin başarıyla tamamlandığı anlamına gelmez; zaman aşımı ile normal tamamlanmayı ayırın.

Reset ve enerji sonrası başlangıç: Reset sırasında aktif adımlar, saklanan aksiyonlar, zamanlayıcılar ve komut değişkenleri birlikte değerlendirilir. Kalıcı bellek ayarları, enerji sonrası davranışı etkileyebilir. Şemayı başlangıca döndürmek, fiziksel süreci başlangıç koşuluna döndürmez. Tankın seviyesi, mekanizmanın konumu ve yeniden başlatma izni kontrol edilmelidir.

Geri bildirim ve donanım: Sensör onayı, I/O eşlemesi ve motor sürücüsü durumu doğru yorumlanmalıdır. Uzak I/O ve haberleşme güncellemesi de tepki süresini etkiler. Komut gönderildi bilgisi, hareketin veya işlemin tamamlandığı bilgisiyle aynı değildir. Geçişlerde kullanılacak gerçek tamamlanma ölçütünü belirleyin.

SFC ile PID birlikte kullanılabilir mi? SFC, işlem aşamasına göre hedef değer veya çalışma isteği seçebilir; PID kontrol ilgili değişkeni düzenler. Sıralı işlem yönetimi ile düzenleyici kontrol farklı görevlerdir. PID bloğunun uygun örnekleme ve çağrı düzeni korunmalıdır. Bir aşamadan çıkarken PID'nin devam etme, durma veya yeniden başlatma davranışını tanımlayın.

Hata ayıklamada ne izlenir? Hata ayıklama sırasında aktif adım, geçiş sonuçları, aksiyon etkinliği, süreler ve çıkış komutları birlikte izlenir. HMI veya SCADA üzerinde anlamlı adım ve alarm adları kullanılabilir. Gelmeyen onay ve yanlış TRUE kalan onay ayrı ayrı araştırılır. Adımı zorla ilerletmek, eksik proses koşulunu çözmez.

Her PLC SFC destekler mi? PLC programlama ortamının, CPU'nun ve gerekli lisansların desteği kontrol edilir. Programlama yazılımında SFC editörü bulunması tek başına bütün hedef cihazlarla uyumu göstermez. CODESYS ve diğer ortamlarda yürütme seçenekleri farklılaşabilir. Proje, seçilen hedefte doğrulanmalıdır. Şema aktarılırken aksiyon, zamanlama ve reset davranışını yeniden kontrol edin.

SFC ile GRAFCET aynı mıdır? SFC, IEC 61131-3 kapsamında program yapısını düzenler; GRAFCET, IEC 60848 kapsamında sıralı kontrol davranışını tanımlayan bir belirtim dilidir. İkisi ilişkili adım ve geçiş kavramları kullanır. GRAFCET tasarımını bir PLC'nin SFC editörüne taşırken yürütme ve aksiyon kurallarının birebir aynı olduğunu varsaymayın.

Makine güvenliği: SFC ile arıza yönetimi veya duruş sırası yazılabilir; fakat grafik kullanılması güvenlik fonksiyonunun doğrulandığını göstermez. Güvenlik tasarımı, uygun donanım, kontrol mimarisi ve doğrulamayla ele alınır. Normal geçiş, aksiyon reseti veya CPU STOP durumunu tek başına güvenli duruş olarak değerlendirmeyin.