BONUS : PLC Programlamada Negatif Kenar Tetikleme Komutları: --|N|--, --(N)--, N_TRIG, F_TRIG Arasındaki Farklar ve Kullanım Senaryoları

PLC’ye yeni başlayanlar için bit operasyonları: Ladder ile motor, lamba ve sensör kontrolü örnekleri.

Siemens TIA Portal’da Negatif Kenar Algılama Komutları

Siemens TIA Portal’da PLC (Programlanabilir Lojik Kontrolör) programlamada negatif sinyal kenarını algılamak için kullanılan --|N|--, --(N)--, N_TRIG ve F_TRIG komutları, benzer işlevlere sahip gibi görünse de farklı kullanım senaryolarına hitap eder. Bu komutlar, özellikle S7-1200 ve S7-1500 serisi PLC’lerde sıkça kullanılır ve genellikle yeni başlayanlar tarafından karıştırılır. Negatif kenar (1’den 0’a düşen kenar) algılama, acil durdurma, süreç sonlandırma veya enerji tasarrufu gibi senaryolarda kritik öneme sahiptir. Bu makalede, her bir komutun çalışma mantığını, aralarındaki farkları, hangi durumlarda kullanılması gerektiğini ve pratik örnekleri detaylı bir şekilde ele alacağız. Tüm bilgiler Siemens Industry Online Support’tan doğrulanmıştır.

1. Negatif Kenar Algılama Komutları Nedir?

Negatif kenar algılama, bir sinyalin "1"den "0"a geçişini (düşen kenar) tespit etmek için kullanılan bir yöntemdir. Siemens PLC’lerde bu işlem için dört temel yapı bulunur:

  • --|N|-- (Negative Edge Contact): Bir operandın düşen kenarını algılar ve bir kontak gibi çalışır.
  • --(N)-- (Negative Edge Coil): Düşen kenarda bir çıkışı bir tarama döngüsü boyunca aktif eder.
  • N_TRIG (Negative Transition Trigger): RLO’da düşen kenarı algılar ve durumu bir bellek bitinde saklar.
  • F_TRIG (Falling Edge Trigger): N_TRIG ile aynı işlevi görür, ancak durumu bir instance veri bloğunda (DB) saklar.

Bu komutlar, acil durdurma butonlarının bırakılması, sensörlerin devre dışı kalması veya bir sürecin tamamlanması gibi senaryolarda kullanılır. Ancak her birinin farklı bir yaklaşımı ve kullanım alanı vardır.

2. Komutların Detaylı Açıklamaları

Her bir komutun çalışma mantığını ve özelliklerini ayrı ayrı inceleyelim:

2.1. --|N|-- (Negative Edge Contact)

Bu yapı, bir operandın (örneğin bir giriş veya bellek biti) "1"den "0"a geçişini algılar ve yalnızca bu geçiş anında bir tarama döngüsü boyunca iletim sağlar. Ladder diyagramında bir kontak gibi kullanılır.

---[N I0.0]----( )----(Q0.0)
    

Açıklama: I0.0 sinyali 1’den 0’a geçtiğinde Q0.0 bir tarama döngüsü boyunca enerjilenir.

2.2. --(N)-- (Negative Edge Coil)

Bu yapı, bir sinyalin düşen kenarında bir çıkışı (bobin) bir tarama döngüsü boyunca aktif eder. Çıkış tarafında kullanılır.

---[I0.0]----(N)----(M0.0)
    

Açıklama: I0.0 sinyali 1’den 0’a geçtiğinde M0.0 bir tarama döngüsü boyunca 1 olur.

2.3. N_TRIG (Negative Transition Trigger)

N_TRIG, RLO’da (Result of Logic Operation) "1"den "0"a düşen kenarı algılar ve durumu bir bellek bitinde (M) saklar. Üç parametresi vardır: CLK (giriş), Operand (bellek biti) ve Q (çıkış).

---[N_TRIG]----(Q0.0)
    CLK: I0.0
    Operand: M0.0
    

Açıklama: I0.0 düşen kenarında Q0.0 bir tarama döngüsü boyunca 1 olur.

2.4. F_TRIG (Falling Edge Trigger)

F_TRIG, N_TRIG ile aynı işlevi görür, ancak durumu bir instance veri bloğunda (DB) saklar. Bu, birden fazla F_TRIG kullanımında çakışmayı önler. Dört parametresi vardır: EN, ENO, CLK ve Q.

---[F_TRIG]----(Q0.0)
    CLK: I0.0
    InstanceDB: "EdgeDB1"
    

Açıklama: I0.0 düşen kenarında Q0.0 bir tarama döngüsü boyunca 1 olur.

3. Aralarındaki Farklar

Bu komutlar arasındaki temel farklar, kullanım yerleri, bellek yönetimi ve karmaşıklık düzeyleridir. Aşağıdaki tablo bu farkları özetler:

Özellik --|N|-- --(N)-- N_TRIG F_TRIG
Kullanım Yeri Kontak Bobin Fonksiyon Bloğu Fonksiyon Bloğu
Bellek Yönetimi Yok Yok Manuel (M biti) Otomatik (Instance DB)
Çoklu Kullanım Riskli Riskli Riskli Güvenli
Karmaşıklık Düşük Düşük Orta Yüksek
Örnek Senaryo Tek buton Tek çıkış Orta ölçekli proje Büyük ölçekli proje

Detaylı Farklar:

  • --|N|-- ve --(N)--: Bellek yönetimi yoktur, bu nedenle aynı operandın birden fazla yerde kullanılması çakışmaya neden olabilir. Küçük projelerde hızlı ve basittir.
  • N_TRIG: Bellek biti (Operand) ile önceki durumu saklar. Ancak her N_TRIG için benzersiz bir bellek biti tanımlanmazsa çakışma riski vardır.
  • F_TRIG: Instance DB ile çalışır, bu da birden fazla F_TRIG kullanımında çakışmayı önler. Büyük projelerde daha güvenlidir, ancak DB oluşturma gerektirir.

4. Hangi Komut Ne Zaman Kullanılmalı?

Her komutun kullanım alanı, projenin ölçeğine ve gereksinimlerine göre değişir:

  • Basit Tetiklemeler İçin (--|N|-- ve --(N)--): Küçük projelerde, tek bir sinyalin düşen kenarını algılamak için idealdir. Örneğin, bir acil durdurma butonuna basıldığında motoru durdurmak.
  • Orta Ölçekli Projeler İçin (N_TRIG): Birden fazla tetikleyici varsa ve bellek bitlerini yönetebiliyorsanız N_TRIG kullanın. Örneğin, üç farklı sensörden gelen sinyalleri tetikleme.
  • Büyük Ölçekli Projeler İçin (F_TRIG): Çoklu tetikleyicilerde çakışma riskini önlemek için F_TRIG ve Instance DB kullanın. Örneğin, bir fabrika otomasyonunda 10 farklı bölgedeki acil durdurma sinyallerini yönetme.

5. Pratik Örnekler

Bu komutların kullanımını daha iyi anlamak için aşağıdaki senaryoları inceleyelim:

Örnek 1: Acil Durdurma ile Motor Durdurma (--|N|--)

Senaryo: I0.0 acil durdurma butonuna basıldığında (1’den 0’a) motoru (Q0.0) durdur.

---[N I0.0]----(R)----(Q0.0)
    

Açıklama: I0.0 düşen kenarda Q0.0 sıfırlanır ve motor durur.

Örnek 2: Çıkış Tetikleme (--(N)--)

Senaryo: I0.1 sensörü devre dışı kaldığında (1’den 0’a) M0.1 bir tarama döngüsü için 1 olsun.

---[I0.1]----(N)----(M0.1)
    

Açıklama: I0.1 düşen kenarda M0.1 bir döngü için 1 olur.

Örnek 3: Çoklu Sensörlerde Tetikleme (N_TRIG)

Senaryo: Üç sensör (I0.2, I0.3, I0.4) devre dışı kaldığında (1’den 0’a) Q0.2’yi bir döngü için 1 yap.

---[N_TRIG]----(M1.0)
    CLK: I0.2
    Operand: M0.2
---[N_TRIG]----(M1.1)
    CLK: I0.3
    Operand: M0.3
---[N_TRIG]----(M1.2)
    CLK: I0.4
    Operand: M0.4
---[M1.0]---[M1.1]---[M1.2]----( )----(Q0.2)
    

Açıklama: Her sensörün düşen kenarında Q0.2 bir döngü için 1 olur.

Örnek 4: Büyük Ölçekli Sistemde Acil Durdurma (F_TRIG)

Senaryo: Beş farklı bölgedeki acil durdurma (E-stop) sinyallerini yönet.

// Bölge 1
---[F_TRIG]----(Q0.5)
    CLK: I0.5
    InstanceDB: "EStopDB1"
// Bölge 2
---[F_TRIG]----(Q0.6)
    CLK: I0.6
    InstanceDB: "EStopDB2"
    

Açıklama: Her bölge için ayrı bir F_TRIG ve DB kullanılarak çakışma önlenir.

Örnek 5: Kombine Sinyal Tespiti (F_TRIG)

Senaryo: TagIn_1 ve TagIn_2 sinyalleri AND ile birleştiğinde veya TagIn_3 devre dışı kaldığında TagOut_Q bir döngü için 1 olsun.

---[TagIn_1]---[TagIn_2]--+---[F_TRIG]----(TagOut_Q)
                          |     CLK: CombinedSignal
---[TagIn_3]-------------+     InstanceDB: "F_TRIG_DB"
    

STL Kodu:

A "TagIn_1";
A "TagIn_2";
O "TagIn_3";
= "CombinedSignal";
CALL "F_TRIG_Instance"
    EN := TRUE,
    CLK := "CombinedSignal",
    ENO => "ENO_Status",
    Q => "TagOut_Q";
    

Açıklama: Kombine sinyal düştüğünde TagOut_Q bir döngü için 1 olur.

6. Avantajlar

Her komutun kendine özgü avantajları vardır:

  • --|N|-- ve --(N)--: Basit ve hızlıdır, küçük projelerde etkilidir.
  • N_TRIG: Bellek bitiyle durum takibi yapar, orta ölçekli projelerde kullanışlıdır.
  • F_TRIG: Instance DB ile çakışma riskini ortadan kaldırır, büyük projelerde güvenilirdir.

7. Dikkat Edilmesi Gerekenler

Bu komutları kullanırken sık yapılan hatalar ve çözümleri şunlardır:

  • Bellek Çakışması: Aynı M biti birden fazla N_TRIG’de kullanılırsa tetikleme bozulur. Çözüm: Her N_TRIG için benzersiz M bitleri tanımlayın veya F_TRIG kullanın.
  • Instance DB Eksikliği: F_TRIG kullanırken DB oluşturulmazsa hata oluşur. Çözüm: TIA Portal’da otomatik DB oluşturma seçeneğini aktif edin.
  • Yanlış Kontak/Bobin Seçimi: --(N)-- yerine --|N|-- kullanmak sinyali doğru tetiklemez. Çözüm: Tetikleme mantığınıza göre kontak veya bobin seçin.
  • Döngü Bağımlılığı: Komutun her tarama döngüsünde çalışması için OB1 gibi döngüsel bloklarda kullanın.

8. Yeni Başlayanlar İçin İpuçları

Bu komutları etkili kullanmak için:

  • Simülasyon: TIA Portal PLCSIM ile sinyal düşüşlerini test edin.
  • DB İsimlendirme: F_TRIG için anlamlı isimler kullanın (örneğin, "EStop_EdgeDB").
  • Başlangıç Reset: OB100’de bellek bitlerini sıfırlayın.
  • Dokümantasyon: Kodları yorum satırlarıyla açıklayın.
  • Debounce: Buton titreşimlerini önlemek için 100-200ms zamanlayıcı ekleyin.

9. Sonuç

Siemens TIA Portal’da negatif kenar algılama için kullanılan --|N|--, --(N)--, N_TRIG ve F_TRIG komutları, farklı ihtiyaçlara yönelik çözümler sunar. Küçük projelerde --|N|-- ve --(N)-- ile hızlı sonuçlar alınabilirken, orta ölçekli projelerde N_TRIG, büyük ölçekli projelerde ise F_TRIG tercih edilmelidir. Bu komutlar arasındaki farkları anlamak, PLC programlamada hatasız ve verimli sistemler tasarlamanın anahtarıdır. Bu rehberdeki örnekler ve ipuçlarıyla, projelerinizde doğru komutu seçerek güvenilir otomasyon sistemleri oluşturabilirsiniz! Görüşlerinizi yorumlarda paylaşabilirsiniz.

10. Kaynaklar

Yorumlar