Konu Anlatımı
Durum Makinesi ve Adım Kontrolü
Durum makinesi, bir makinedeki bütün çalışma aşamalarını adım denilen ayrı durumlara bölüp her anda yalnızca bir adımın etkin olmasını sağlayan kontrol yapısıdır. Adımlar birbirine geçiş koşullarıyla bağlanır; koşul sağlandığı anda etkin adım kapanır ve sıradaki adım açılır. Böylece programda onlarca bağımsız koşul satırı yerine okunabilir bir akış oluşur.
Adım ve Geçiş Kavramı
Her adım bir mantık değişkeniyle temsil edilir ve bu değişken adımın etkin olup olmadığını gösterir. Adım, bir işi başlatan komutları, o işin tamamlandığını bildiren sensörleri ve kendi hata koşulunu içerir. Adımdan diğerine geçiş koşulu, adımın normalde ne kadar sürdüğü bilinerek tanımlanır. Geçiş koşulu sağlanmadıkça adım açık kalır ve program her döngüde aynı adımı yeniden yürütür.
Sıralı Fonksiyon Grafiği ile İlişkisi
IEC 61131-3 standardında bu yapı sıralı fonksiyon grafikleriyle tanımlanır. Grafikte akış yatay, adımlar kutu, geçişler çizgi olarak gösterilir; paralel çizgiler aynı anda birden çok kolun çalıştığını belirtir. Programlama ortamı bu grafik kodu otomatik olarak üretir ya da elle yazılan adım bitleriyle aynı sonucu veren bir program yazılabilir. Programcı için önemli olan grafik kavramın, adım ve geçiş ayrımının programda karşılık bulmasıdır.
Adım Adım Kodlama
Adım tablosu hazırlanırken her adım için giriş koşulu, çıkış komutu, tamamlanma sensörü, zaman aşımı ve hata işlemi belirlenir. Geçiş yazılırken önce etkin adımın kapatılması, sonra yeni adımın açılması uygulanır. Böylece programın bir tarama döngüsünde iki adımın birden etkin görünmesi engellenir. Adım bitleri kalıcı veri bloğunda saklanır; geçici değişken kullanılırsa adım her çağrıda sıfırlanır ve makine ilerlemez.
Döngü Süresi ve Zamanlama
Döngü süresi, adımların sürelerinin toplamıdır. Adım sayısı N ve döngü süresi T ise adım başına ortalama süre T / N olarak bulunur. Kapasite hesabında vardiya süresi saniyeye çevrilip döngü süresine bölünür. Süre kısaltmak istendiğinde bağımsız adımlar paralel hâle getirilebilir; paralel yapılan adımlarda yalnızca en uzun süre hesaba katılır.
Hata ve Durdurma Durumları
Adımlar arasına hata durumu eklenir. Bir adım için tanımlanan zaman aşımı aşıldığında ya da hata sensörü etkinleştiğinde program hata adımına geçer, ilgili çıkışlar güvenli değere alınır ve ekranda nedeni gösteren bilgi verilir. Hata durumundan çıkış, sorun giderildikten sonra ayrı bir sıfırlama komutuyla yapılır. Hata koşulu hâlâ varsa sıfırlama isteği kabul edilmez.
- Bir anda yalnızca bir adım biti etkin olur.
- Geçiş koşulu sağlanmadan adım kapatılmaz.
- Her adım için zaman aşımı tanımlanır.
- Adım bitleri kalıcı veri bloğunda saklanır.
- Komşu olmayan adıma atlamayı engelleyen bir denetim bulunur.
Uygulamada adım sayısı ile adım süreleri birlikte değerlendirilir. Adım çok fazlaysa program okunması zorlaşır, çok azsa geçiş mantığı karmaşıklaşır. Devreye alma sırasında adımlar tek tek uyarılarak test edilir, geçiş anları kayıt altına alınır ve duruş analizi bu kayıtlarla yapılır.
Ne Öğreneceğiz
Bir makinedeki çalışma aşamalarının adımlar hâlinde tasarlanmasını, geçiş koşullarını, zaman aşımı ve hata durumlarının yazımını kapsar. Bu konuda ögrenme çıktıları:
- Durum makinesi ve adım kavramını açıklar.
- Geçiş koşullarını ve zaman aşımını hesaplar.
- Adım tablosundan yararlanarak bir iş akışını adımlara ayırt eder.
- İki adımın aynı anda etkin olması hatasını çözer.
- Döngü süresi ve üretim kapasitesini hesaplar.
- Hata durumunda güvenli duruşu tasarlar.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- Durum makinesinde her anda yalnızca bir adım biti etkin olmalıdır.
- Geçiş koşulu sağlanmadan adım kapanmaz, program aynı adımı yeniden yürütür.
- Her adım için zaman aşımı tanımlanmalıdır, aşılması hata durumudur.
- Adım bitleri kalıcı veri bloğunda saklanır, geçici değişkende tutulursa kaybolur.
- Komşu olmayan adıma atlamayı engelleyen bir sıra denetimi programda bulunmalıdır.
- Güvenlik kapısı gibi kilitler geçiş koşuluna eklenerek makineyi güvenli konumda tutar.
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: Bir dolum istasyonunda adım süreleri 4 s, 14 s, 4 s ve 3 s olarak belirlenmiştir. Döngü süresi kaç saniyedir?
- Adım 1: Adım sürelerini alt alta toplarız: 4 + 14 + 4 + 3 işlemi yapılır.
- Adım 2: Toplam, döngü süresini verir.
- Adım 3: Birim tutarlılığı kontrol edilir, bütün süreler saniye cinsindendir.
Sonuç/cevap: Döngü süresi 25 saniyedir.
İleri Örnek
Daha ileri bir uygulama:
Soru: Adımlar 5 s, 8 s, 6 s ve 5 s sürelidir. İki adım paralel çalıştırılırsa döngü süresi en fazla kaç saniyeye düşer?
- Adım 1: Sıralı toplam hesaplanır: 5 + 8 + 6 + 5.
- Adım 2: Paralel yapılan adımlarda yalnızca en uzun süre sayılır.
- Adım 3: Toplam süreden bir adımın süresi düşülür.
Sonuç/cevap: Döngü süresi 19 saniyeye düşer.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| Durum makinesinde her anda yalnızca bir | Durum makinesinde her anda yalnızca bir adım biti etkin olmalıdır. |
| Geçiş koşulu sağlanmadan adım kapanmaz, | Geçiş koşulu sağlanmadan adım kapanmaz, program aynı adımı yeniden yürütür. |
| Her adım için zaman aşımı tanımlanmalıdı | Her adım için zaman aşımı tanımlanmalıdır, aşılması hata durumudur. |
| Adım bitleri kalıcı veri bloğunda saklan | Adım bitleri kalıcı veri bloğunda saklanır, geçici değişkende tutulursa kaybolur. |
| Komşu olmayan adıma atlamayı engelleyen | Komşu olmayan adıma atlamayı engelleyen bir sıra denetimi programda bulunmalıdır. |
| Güvenlik kapısı gibi kilitler geçiş koşu | Güvenlik kapısı gibi kilitler geçiş koşuluna eklenerek makineyi güvenli konumda tutar. |
Sık Yapılan Hatalar
Birden çok adımı aynı anda etkin yapmak: İki adım birlikte açık kalırsa komutlar üst üste biner ve akış tutarsızlaşır; her geçişte önceki adım kapatılır, sonra yeni adım açılır.
Geçiş koşulunu adım içinde unutmak: Adım yalnızca açılıp hiçbir koşulla kapatılmazsa makine o adımda sonsuza dek kalır ve arıza nedeni görünmez.
Zaman aşımı tanımlamamak: Sensör arızasında adım hiç ilerlemez; her adım için en uzun süre yazılmalı ve aşımda hata durumuna geçilmelidir.
Adım bitlerini geçici değişkende tutmak: Blok sonunda değer kaybolduğu için adım sıfırlanır; adım bitleri kalıcı veri bloğunda saklanmalıdır.
Sıra kontrolü yapmamak: Yanlış bir atlatma komutu makineyi tanımadığı konuma sokabilir; komşuluk denetimi programda yapılmalıdır.
Özet
Durum makinesi, bir makinedeki çalışma aşamalarını ayrı adımlar hâlinde temsil eder ve her anda yalnızca bir adım etkin olur. Geçiş koşulu sağlandığında önceki adım kapanır, sıradaki adım açılır. Döngü süresi adım sürelerinin toplamıdır; adım başına ortalama süre döngü süresinin adım sayısına bölünmesiyle bulunur. Vardiya kapasitesi 28800 / 25 = 1152 ürün olarak hesaplanır, kullanılabilirlik ise (toplam süre - duruş süresi) / toplam süre ile belirlenir. Her adım için zaman aşımı tanımlanır, aşıldığında hata durumuna geçilir ve güvenli çıkışlar devreye alınır.
Kendini Dene
Soru: Bir dolum istasyonu için durum makinesi tasarlayın: en az beş adım tanımlayın, her adım için komut çıkışlarını, tamamlanma sensörünü, zaman aşımını ve hata işlemini yazın. Geçiş mantığının neden önceki adımı kapatıp sonraki adımı açtığını açıklayın.
Örnek cevap: Puanlama anahtarı: Beş veya daha fazla adımın sıralı olarak tanımlanması 4 puan; her adım için komut çıkışı, tamamlanma sensörü ve zaman aşımının birlikte yazılması 5 puan; hata durumunun tanımlanıp güvenli çıkış değerlerinin belirtilmesi 3 puan; geçişte önceki adımın kapatılıp yeni adımın açılmasının gerekçelendirilmesi 3 puan. Örnek cevap: Adım 1 kapı açma (çıkış Q0.0, sensör I0.0, timeout 5 s), adım 2 dolum (Q0.1, seviye sensörü I0.1, timeout 15 s), adım 3 kapı kapatma (Q0.2, kapalı sensörü I0.2, timeout 5 s), adım 4 tartma (Q0.3, tartma tamam I0.3, timeout 10 s), adım 5 etiketleme (Q0.4, etiket sensörü I0.4, timeout 8 s). Geçişte önce etkin adım kapanır, sonra sıradaki adım açılır; aksi hâlde iki adım birden devrede olur.