Makineniz mi durdu? Eskişehir ve çevre illerde arıza servisi · mesai dışında da arayabilirsiniz0533 454 52 32

Son güncelleme: · Okuma süresi: yaklaşık 8 dk · Hazırlayan: Arslan Ünal, AveA Otomasyon

Bu yazı PLC dersleri serisinin 1. dersidir: tüm dersler

Kısa cevap: Ladder diyagramı (LAD, merdiven diyagramı), PLC programını röle şemasına benzeyen basamaklarla (rung) yazma dilidir. Sol dikey hat enerjiyi, kontaklar şartları, sağdaki bobinler sonuçları temsil eder. Açık kontak (NO) bit 1 iken, kapalı kontak (NC) bit 0 iken enerji geçirir. PLC programı her çevrimde girişleri okuyup yukarıdan aşağıya çalıştırır ve çıkışları en sonda yazar. Mühürleme, start butonu bırakılınca motorun çalışmaya devam etmesini sağlayan temel devredir.

Bu derste örnekler Siemens S7-200 SMART adresleriyle yazılmıştır (I0.0 giriş, Q0.0 çıkış, M0.0 yardımcı bit). Komut davranışları Siemens’in resmi sistem kılavuzuna dayanır. PLC’nin ne olduğunu henüz bilmiyorsanız önce PLC nedir? yazısını okuyun. Ladder’ın diğer dillerle farkı için: PLC programlama dilleri rehberi. Sonraki dersler: PLC timer örnekleri ve PLC sayıcı örnekleri.

Bu yazıda (10 başlık)

Ladder diyagramı nedir?

Ladder, adını merdivene benzeyen görünümünden alır. Solda ve sağda iki dikey hat vardır. Aralarındaki her yatay çizgi bir basamaktır. Siemens yazılımında her basamak bir network içinde durur.

Mantık şöyledir: Sol hattan sağa doğru bir “enerji akışı” (power flow) düşünün. Akış, yolundaki kontaklar kapalıysa bobine ulaşır ve bobini ON yapar.

  • Seri kontaklar VE (AND) mantığıdır. Hepsi kapalı olmalıdır.
  • Paralel kollar VEYA (OR) mantığıdır. Biri kapalıysa yeter.
  • Bobin (coil) basamağın sonucudur. Bir çıkışı veya iç biti yazar.

Ladder’daki kontak fiziksel değildir; bir bitin değerini sorgular. Aynı bit istenildiği kadar kontak olarak kullanılabilir.

Ladder sembolleri tablosu

Sembol (ASCII)AdıNe zaman enerji geçirir / ne yaparSTL karşılığı
-[ ]-Normalde açık kontak (NO, normally open)Bit 1 ise kapalıdır, akış geçerLD, A, O
-[/]-Normalde kapalı kontak (NC, normally closed)Bit 0 ise kapalıdır, akış geçerLDN, AN, ON
-( )-Çıkış bobini (output coil)Biti, gelen akışın durumuna eşitler=
-(S)-Set bobiniAkış varsa biti 1 yapar; akış kesilince bit 1 kalırS bit, N
-(R)-Reset bobiniAkış varsa biti 0 yaparR bit, N
-[NOT]-NOT (tersleyici)Akış gelirse durdurur, gelmezse akış verirNOT
-[P]-Pozitif kenar (positive transition)Her 0→1 değişiminde bir tarama boyunca akış verirEU
-[N]-Negatif kenar (negative transition)Her 1→0 değişiminde bir tarama boyunca akış verirED

Kılavuzdan birkaç ayrıntı:

  • Çıkış bobini değeri önce işlem görüntüsüne (process image) yazar. Fiziksel çıkış çevrim sonunda güncellenir.
  • Set ve Reset, bir adresten başlayarak 1 ile 255 arasında biti birlikte set veya reset edebilir (N parametresi).
  • Reset bir zamanlayıcı (T) veya sayıcı (C) adresine uygulanırsa, hem bitini sıfırlar hem de anlık değerini temizler.
  • Kenar komutları ilk taramada kenar algılayamaz; CPU ilk taramada durumu kaydeder, sonra karşılaştırır. Programda toplam 1024 kenar komutu kullanılabilir.

Diğer markalarda gösterim: Mitsubishi’de girişler X0, çıkışlar Y0, yardımcı bitler M0 diye yazılır. TIA Portal’da (S7-1200/1500) aynı adresler %I0.0, %Q0.0, %M0.0 biçimindedir.

PLC tarama çevrimi (scan cycle)

Siemens kılavuzuna göre CPU, RUN modunda şu işleri sürekli tekrar eder:

  1. Girişleri okur: Fiziksel dijital girişlerin durumunu giriş işlem görüntüsüne (I) kopyalar.
  2. Programı çalıştırır: İlk komuttan son komuta kadar programı yürütür, sonuçları belleğe yazar.
  3. Haberleşme isteklerini işler.
  4. Kendi kendini test eder: Firmware, program belleği ve genişleme modüllerini kontrol eder.
  5. Çıkışları yazar: Çıkış işlem görüntüsündeki (Q) değerleri fiziksel çıkışlara aktarır.

STOP modunda program çalışmaz. Bu sıranın üç pratik sonucu vardır:

  • Program boyunca giriş değerleri sabittir. Bir buton çevrimin ortasında değişse bile program bunu bir sonraki çevrimde görür.
  • Aynı bit programda iki kez yazılırsa, son yazılan değer kazanır.
  • Çok kısa bir sinyal iki okuma arasında gelip giderse kaçabilir. Kılavuz bunun için sistem bloğunda ilk 14 dijital girişte (I0.0–I1.5) “darbe yakalama” (pulse catch) seçeneği sunar; çok hızlı sinyaller için yüksek hızlı sayıcılar (HSC) kullanılır. Anlık (immediate) komutlar ise girişi, komut çalıştığı anda fiziksel olarak okur.

Mühürleme (self-holding): start-stop motor devresi

Start’a kısa basılır, motor çalışır ve buton bırakılınca da çalışmaya devam eder. Bunu çıkışın kendi kontağı sağlar.

| Network 1                               |
|  I0.0      I0.1                  Q0.0   |
|--| |--+---| |------------------( )------|
|  Q0.0 |                                 |
|--| |--+                                 |
AdresAnlamı
I0.0Start butonu (fiziksel NO buton)
I0.1Stop butonu (fiziksel NC buton, programda NO kontak)
Q0.0Motor kontaktörü

Nasıl çalışır:

  1. Stop butonu normalde kapalıdır; I0.1 = 1 ve programdaki NO kontak kapalıdır.
  2. Start’a basınca I0.0 = 1 olur. Akış I0.0 ve I0.1 üzerinden Q0.0’a ulaşır. Motor çalışır.
  3. Q0.0 = 1 olduğu için alttaki paralel Q0.0 kontağı kapanır. Bu, mühürdür.
  4. Start bırakılınca I0.0 açılır. Akış artık Q0.0 kontağı üzerinden gelir. Motor çalışmaya devam eder.
  5. Stop’a basınca I0.1 = 0 olur, kontak açılır. Q0.0 düşer ve mühür kendiliğinden çözülür.

Stop önceliği: I0.1, paralel kolun dışında ve seri bağlıdır. Start ile stop aynı anda basılı olsa bile stop kazanır. Stop kontağını paralel kolun içine koyarsanız, start basılıyken motor durmaz.

Aynı devre Set/Reset ile

| Network 1                               |
|  I0.0                            Q0.0   |
|--| |---------------------------( S )----|
|                                   1     |
| Network 2                               |
|  I0.1                            Q0.0   |
|--|/|---------------------------( R )----|
|                                   1     |
AdresAnlamı
I0.0Start butonu (NO)
I0.1Stop butonu (fiziksel NC). Basılınca I0.1 = 0 olur
Q0.0Motor kontaktörü

Nasıl çalışır:

  1. Start’a basınca Network 1, Q0.0’ı set eder. Buton bırakılsa da Q0.0 = 1 kalır.
  2. Stop’a basınca I0.1 = 0 olur. Programdaki NC kontak kapanır ve Network 2 Q0.0’ı resetler.
  3. Reset, Set’ten sonra yazıldığı için ikisi aynı anda aktifse son komut olan reset kazanır. Stop önceliği böyle sağlanır.

Burada fiziksel NC buton programda NC kontakla okunur, çünkü reset “buton basılınca” yani giriş 0 olunca çalışmalıdır. Kılavuzdaki SR ve RS kutuları da aynı işi tek kutuda yapar: SR’de set baskındır (ikisi birden 1 ise çıkış 1), RS’de reset baskındır (ikisi birden 1 ise çıkış 0). Stop önceliği isteniyorsa reset baskın RS bu davranışı verir.

Kilitleme (interlock): ileri-geri motor

İleri ve geri kontaktörleri asla aynı anda çekmemelidir. Programda her yön, diğer yönün NC kontağıyla kilitlenir.

| Network 1: Ileri                              |
|  I0.0      I0.2      Q0.1              Q0.0   |
|--| |--+---| |-------|/|---------------( )-----|
|  Q0.0 |                                       |
|--| |--+                                       |
|                                               |
| Network 2: Geri                               |
|  I0.1      I0.2      Q0.0              Q0.1   |
|--| |--+---| |-------|/|---------------( )-----|
|  Q0.1 |                                       |
|--| |--+                                       |
AdresAnlamı
I0.0İleri start butonu (NO)
I0.1Geri start butonu (NO)
I0.2Stop butonu (fiziksel NC, programda NO kontak)
Q0.0İleri kontaktörü
Q0.1Geri kontaktörü

Nasıl çalışır:

  1. İleri start’a basınca Q0.0 çeker ve mühürlenir.
  2. Q0.0 = 1 iken Network 2’deki Q0.0 NC kontağı açıktır. Geri start’a basılsa bile Q0.1 çekemez.
  3. Yön değiştirmek için önce stop’a basılır. Q0.0 düşer, kilit kalkar, sonra geri start’a basılır.
  4. Aynı mantık iki ayrı motorda da kullanılır. Örneğin “pompa 1 çalışırken pompa 2 çalışmasın” şartı tek bir NC kontakla yazılır.

Genel pano uygulamasında (kılavuz konusu değildir) program kilidine ek olarak kontaktörlerin yardımcı NC kontaklarıyla donanımsal elektriksel kilitleme de yapılmalıdır. İleri-geri ve yıldız-üçgen gibi devrelerde iki kontaktörün üst üste çekmesi kısa devredir ve program kilidi kontaktörün yapışmasını göremez.

Sık yapılan hatalar

Çift bobin (double coil)

Aynı çıkışı iki ayrı network’te normal çıkış bobiniyle yazmak sık yapılan bir hatadır. Tarama sırası gereği son yazan network kazanır. Kılavuz bunu açıkça gösterir: sonradan gelen bir atama, önceki Set/Reset sonucunun üzerine yazar. Çözüm, bir çıkışı tek bir bobinle yazmak ve şartları o basamakta birleştirmektir (paralel kol veya yardımcı M bitleri ile).

Stop butonunu NO buton olarak bağlamak

Güvenli uygulama şudur: stop butonu fiziksel olarak NC bağlanır, programda NO kontakla okunur. Nedenleri:

  • Normal durumda giriş 1’dir. Butona basınca 0 olur ve motor durur.
  • Stop kablosu koparsa veya klemens gevşerse giriş yine 0 olur. Motor durur ve yeniden çalışmaz. Arıza “güvenli yöne” düşer.
  • NO bir stop butonunda kablo koparsa hiçbir şey olmaz. Arıza ancak operatör stop’a basıp motor durmadığında fark edilir.

Kural: kontak butonu değil, giriş bitinin değerini sorgular. Acil stop gibi güvenlik fonksiyonları ise yalnızca PLC programına bırakılmamalı, ayrı ve uygun bir güvenlik devresiyle sağlanmalıdır.

Alıştırma: iki yerden kumanda edilen motor

Soru: Bir konveyör motoru (Q0.0) iki ayrı istasyondan çalıştırılıp durdurulacak. Start butonları I0.0 ve I0.1 (NO). Stop butonları I0.2 ve I0.3 (fiziksel NC). Herhangi bir stop, start’a göre öncelikli olmalı. Ladder basamağını çizin.

Çözüm: Start’lar ve mühür paralel bağlanır (VEYA). Stop’lar seri bağlanır (VE) ve paralel kolun dışında kalır.

| Network 1                                       |
|  I0.0      I0.2      I0.3                Q0.0   |
|--| |--+---| |-------| |-----------------( )-----|
|  I0.1 |                                         |
|--| |--+                                         |
|  Q0.0 |                                         |
|--| |--+                                         |
AdresAnlamı
I0.0, I0.11. ve 2. istasyon start (NO)
I0.2, I0.31. ve 2. istasyon stop (fiziksel NC, programda NO)
Q0.0Konveyör motoru

Nasıl çalışır:

  1. Herhangi bir start’a basınca Q0.0 çeker ve kendi kontağıyla mühürlenir.
  2. Herhangi bir stop’a basınca ilgili giriş 0 olur, seri hat açılır ve Q0.0 düşer.
  3. Stop’lar paralel kolun dışında olduğu için start basılıyken bile stop kazanır.

Sıkça Sorulan Sorular

Ladder diyagramı ile röle şeması aynı şey mi?

Görünüş olarak benzerdir, ama ladder bir yazılımdır. Kontaklar fiziksel değildir, bit değerlerini sorgular. Basamaklar aynı anda değil, tarama çevrimi içinde yukarıdan aşağıya sırayla çalışır.

NO ve NC kontak farkı nedir?

NO kontak bit 1 iken enerji geçirir. NC kontak bit 0 iken enerji geçirir. Fiziksel butonun tipi ile programdaki kontak tipi farklı şeylerdir.

Mühürleme neden gerekir?

Start butonu bırakılınca giriş 0 olur. Mühür olmazsa çıkış da düşer. Çıkışın kendi kontağı paralel bağlanarak çıkışın kendini tutması sağlanır.

Stop butonu programda neden NO kontak olarak görünür?

Stop butonu fiziksel olarak NC bağlanır. Normalde giriş 1’dir, programdaki NO kontak kapalıdır. Basınca veya kablo kopunca giriş 0 olur ve motor durur.

Set/Reset mi, mühürleme mi kullanmalıyım?

İkisi de çalışır. Mühürleme tek basamakta okunur ve enerji kesilince çıkış düşer. Set/Reset’te bit, CPU RUN modunda kaldığı sürece reset gelene kadar 1 kalır; bu yüzden reset şartlarını eksiksiz yazmak gerekir. Q bitleri kalıcı yapılamaz. M bitleri ise sistem bloğunda kalıcı alan olarak ayarlanmadıkça enerji kesilince veya CPU yeniden başlayınca sıfırlanır (kılavuz s.145). Enerji gelince makinenin kendiliğinden kalkmaması için bunu bilerek tasarlayın.

Kaynak

Komut davranışları ve tarama çevrimi Siemens’in resmi kılavuzundan özetlenmiş ve Türkçeleştirilmiştir:

Bu sayfa genel bir eğitim içeriğidir; komut adları ve davranışlar markaya ve modele göre değişebilir. Kesin bilgi için cihazınızın kılavuzuna bakın.

Makineniz durduysa

Arızada izleme ekranında hangi kontağın açık kaldığına bakmak ilk adımdır. Sahada destek için: Eskişehir makine ve otomasyon arıza servisi. Program yazımı ve düzenleme için: PLC programlama hizmeti.

AveA Otomasyon olarak Eskişehir ve çevre illerdeki fabrikalarda PLC ve pano işlerinde sahadayız. Bize 0533 454 52 32 numarasından ulaşabilirsiniz; mesai dışında da arayabilirsiniz.