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 3. dersidir: tüm dersler

Kısa cevap: PLC sayıcısı (counter), bir girişin her OFF→ON geçişini sayar. CTU yukarı sayar; değer preset’e (PV) eşit veya büyük olunca sayıcı biti ON olur, R girişi değeri sıfırlar. CTD aşağı sayar; değer 0 olunca bit ON olur, LD girişi PV’yi yükler. CTUD iki yöne sayar; değer PV’ye eşit veya büyükse bit ON olur. S7-200 SMART’ta sayıcılar C0-C255 arasıdır ve değer en fazla 32.767 olabilir.

Bu ders, ladder diyagramı ve PLC timer derslerinin devamıdır. Örnekler Siemens S7-200 SMART adresleriyle yazılmıştır. Temeller için: PLC nedir? ve PLC programlama dilleri rehberi.

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

CTU, CTD ve CTUD farkı

KomutTürkçe adıSaymaSayıcı biti ON olurSıfırlama / yükleme
CTU (count up)Yukarı sayıcıCU girişinin her OFF→ON geçişinde +1Değer ≥ PVR girişi ON olunca veya R komutuyla değer 0
CTD (count down)Aşağı sayıcıCD girişinin her OFF→ON geçişinde -1Değer = 0LD girişi ON olunca bit OFF, değer = PV
CTUD (count up/down)Yukarı/aşağı sayıcıCU ile +1, CD ile -1Değer ≥ PV (değilse OFF)R girişi ON olunca veya R komutuyla

Kılavuzdaki önemli ayrıntılar:

  • CTU 32.767’ye ulaşınca saymayı durdurur.
  • CTD 0’a ulaşınca durur ve biti ON kalır.
  • CTUD 32.767’den sonraki yukarı sayımda -32.768’e döner. -32.768’den sonraki aşağı sayımda 32.767’ye döner. PV, komut her çalıştığında anlık değerle karşılaştırılır.
  • Reset (R) komutu bir sayıcıya uygulanınca sayıcı biti OFF olur ve anlık değer 0 olur.
  • Aynı numara paylaşılmaz. Her sayıcının tek bir anlık değeri vardır. CTU, CTD ve CTUD aynı numarayı kullanırsa aynı değere erişir.
  • Sayıcı numarası (örneğin C0) bir kontakta sayıcı bitini, sayısal işlemde anlık değeri ifade eder.
  • PV bir tam sayıdır (INT). Sabit yazılabileceği gibi bir V veya M word’ünden de okunabilir.

Enerji kesilince ne olur?

Kılavuza göre enerji kesilip gelince veya ilk taramada sayıcı biti OFF’tur. Anlık değer ise sistem bloğunda kalıcı (retentive) alan olarak ayarlanırsa korunabilir. Sayıcı biti kalıcı yapılamaz; yalnızca değer kalıcı yapılabilir. Varsayılan ayarda CPU’da tanımlı kalıcı alan yoktur.

Pratik sonuç: Üretim adedi enerji kesintisinde kaybolmasın istiyorsanız değeri kalıcı alana alın.

Kenar (edge) ile sayma

Sayıcılar girişin seviyesini değil geçişini sayar:

  • Sensör ON’da kalsa bile yalnızca bir kez sayılır.
  • Sayıcının girişine ayrıca pozitif kenar (P) kontağı koymak gerekmez.
  • Sayım tarama çevriminde yapılır. Girişler her çevrimin başında okunur. Bir darbe iki okuma arasında gelip giderse sayılmayabilir. Çok hızlı darbeler için S7-200 SMART’ta ayrı yüksek hızlı sayıcılar (HSC) bulunur.
  • Mekanik kontak veya parazit fazladan sayıma yol açabilir. S7-200 SMART’ta dijital girişler için sistem bloğundan giriş filtresi (input delay) seçilebilir; varsayılan değer 6,4 ms’dir. Giriş, yeni durumunda bu süre kadar kalmadıkça kabul edilmez.

Diğer markalarda gösterim: Mitsubishi’de sayıcılar C0 gibi yazılır ve preset K sabitiyle verilir (örneğin OUT C0 K10). TIA Portal’da (S7-1200/1500) IEC sayıcı kutuları CTU, CTD, CTUD kullanılır; adresler %I0.0, %Q0.0 biçimindedir.

Örnek 1: 10 kutu sayınca konveyörü durdur (CTU)

| Network 1: Konveyor                                 |
|  I0.0      I0.1      C0                       Q0.0  |
|--| |--+---| |-------|/|----------------------( )----|
|  Q0.0 |                                             |
|--| |--+                                             |
| Network 2: Kutu sayici                              |
|  I0.2            +---------+                        |
|--| |-------------|CU   CTU |                        |
|                  |    C0   |                        |
|  I0.3            |         |                        |
|--| |-------------|R        |                        |
|                  |         |                        |
|              10 -|PV       |                        |
|                  +---------+                        |
| Network 3: Parti tamam lambasi                      |
|  C0                                           Q0.1  |
|--| |----------------------------------------( )----|
AdresAnlamı
I0.0Konveyör start (NO)
I0.1Konveyör stop (fiziksel NC, programda NO)
I0.2Kutu sensörü
I0.3Sayıcı reset butonu (yeni parti)
C0CTU, PV 10
Q0.0Konveyör motoru
Q0.1“Parti tamam” lambası

Nasıl çalışır:

  1. Start’a basınca konveyör çalışır ve mühürlenir.
  2. Sensörün önünden her kutu geçtiğinde I0.2 OFF→ON olur, C0 bir artar.
  3. C0’ın değeri 10 olunca C0 biti ON olur. Network 1’deki C0 NC kontağı açılır, konveyör durur. Lamba yanar.
  4. C0 biti ON iken start’a basılsa da konveyör kalkmaz.
  5. Operatör I0.3’e basınca C0’ın değeri 0, biti OFF olur. Yeni parti için start’a basılabilir.
I0.2 sensor   _#_#_#_#_#_#_#_#_#_#______________
C0 deger      0 1 2 3 4 5 6 7 8 9 10 (sabit)
C0 bit        ___________________##############__
I0.3 reset    _______________________________##__
Q0.0 konveyor #####################______________

Örnek 2: Parti sayımı ve otomatik reset (iki CTU)

12 şişe bir koli yapar, 5 koli bir palet yapar. Koli sayıcısı her 12’de kendini sıfırlar, palet sayıcısı koli sayar.

| Network 1: Sise sayici                              |
|  I0.2            +---------+                        |
|--| |-------------|CU   CTU |                        |
|                  |    C1   |                        |
|  C1              |         |                        |
|--| |--+----------|R        |                        |
|       |          |         |                        |
|  I0.3 |      12 -|PV       |                        |
|--| |--+          +---------+                        |
| Network 2: Koli sayici                              |
|  C1              +---------+                        |
|--| |-------------|CU   CTU |                        |
|                  |    C2   |                        |
|  I0.4            |         |                        |
|--| |-------------|R        |                        |
|                  |         |                        |
|               5 -|PV       |                        |
|                  +---------+                        |
| Network 3: Palet dolu                               |
|  C2                                           Q0.2  |
|--| |----------------------------------------( )----|
AdresAnlamı
I0.2Şişe sensörü
I0.3Koli sayıcısını elle sıfırlama
I0.4Palet değişti butonu (C2 reset)
C1CTU, PV 12 (şişe / koli)
C2CTU, PV 5 (koli / palet)
Q0.2“Palet dolu” lambası

Nasıl çalışır:

  1. Her şişede C1 bir artar.
  2. 12. şişede C1 biti ON olur. Network 2’de C2’nin CU girişi OFF→ON görür ve C2 bir artar.
  3. Sonraki taramada C1 biti, C1’in kendi R girişini ON yapar. C1’in değeri 0, biti OFF olur.
  4. C2 5’e ulaşınca palet dolu lambası yanar. Palet değişince I0.4 ile C2 sıfırlanır.

Dikkat: R girişi ON olduğu taramada sayıcı sıfırlanır. Çok hızlı hatlarda reset taramasına denk gelen bir darbe kaybolabilir. Böyle hatlarda sayım mantığı ayrıca tasarlanmalıdır.

Örnek 3: CTD ile kalan parça göstergesi

Bir kasada 3 parça var. Her alınan parçada sayıcı azalsın, kasa bitince lamba yansın. Kılavuzdaki CTD örneği de aynı yapıdadır.

| Network 1                                           |
|  I0.5            +---------+                        |
|--| |-------------|CD   CTD |                        |
|                  |    C3   |                        |
|  I0.6            |         |                        |
|--| |--+----------|LD       |                        |
|       |          |         |                        |
|  SM0.1|       3 -|PV       |                        |
|--| |--+          +---------+                        |
| Network 2                                           |
|  C3                                           Q0.3  |
|--| |----------------------------------------( )----|
AdresAnlamı
I0.5Parça alındı sensörü
I0.6Yeni kasa butonu (PV’yi yükler)
SM0.1İlk tarama biti (yalnızca ilk çevrimde ON)
C3CTD, PV 3
Q0.3“Kasa boş” lambası

Nasıl çalışır:

  1. İlk taramada SM0.1 veya yeni kasada I0.6, LD girişini ON yapar. C3’ün biti OFF, değeri 3 olur.
  2. Her alınan parçada değer bir azalır: 3, 2, 1, 0.
  3. Değer 0 olunca C3 biti ON olur ve lamba yanar. Sayıcı 0’da durur.

Örnek 4: Otopark veya tampon doluluğu (CTUD)

Giriş sensörü arabaları (veya tampon banda giren parçaları) yukarı, çıkış sensörü aşağı sayar. 50 araçta “DOLU” yazısı yansın.

| Network 1: Doluluk sayici                           |
|  I0.0            +---------+                        |
|--| |-------------|CU  CTUD |                        |
|                  |   C48   |                        |
|  I0.1            |         |                        |
|--| |-------------|CD       |                        |
|                  |         |                        |
|  I0.2            |         |                        |
|--| |-------------|R        |                        |
|                  |         |                        |
|              50 -|PV       |                        |
|                  +---------+                        |
| Network 2: DOLU                                     |
|  C48                                          Q0.0  |
|--| |----------------------------------------( )----|
| Network 3: YER VAR                                  |
|  C48                                          Q0.1  |
|--|/|----------------------------------------( )----|
AdresAnlamı
I0.0Giriş sensörü (CU)
I0.1Çıkış sensörü (CD)
I0.2Sayımı sıfırlama (R)
C48CTUD, PV 50
Q0.0“DOLU” ışığı / giriş bariyeri kilidi
Q0.1“YER VAR” ışığı

Nasıl çalışır:

  1. Her giren araçta C48 +1, her çıkan araçta -1 olur.
  2. Değer 50 veya üstündeyse C48 biti ON olur. “DOLU” yanar, “YER VAR” söner.
  3. Bir araç çıkınca değer 49’a düşer. Bit OFF olur, “YER VAR” yeniden yanar.
  4. I0.2 sayıyı 0’a çeker. Gün başında veya sayım kayınca kullanılır.

CTUD 0’da durmaz. Boşken bir çıkış sinyali gelirse değer -1 olur. Bunu engellemek için çıkış sayımını, değerin 0’dan büyük olduğu şartına bağlamak gerekir. Bu, karşılaştırma komutlarıyla yapılır ve serinin planlanan konularındandır.

Sık yapılan hatalar

  • Aynı sayıcı numarasını iki komutta kullanmak. İki komut aynı değeri değiştirir.
  • CTD’yi yüklemeden kullanmak. LD girişi ON olmadan PV değere yüklenmez.
  • Reset girişini sürekli ON bırakmak. R ON iken sayıcı her taramada sıfırlanır ve sayım görünmez.
  • Hızlı sinyali normal sayıcıyla saymak. Tarama süresinden kısa darbeler kaçabilir.
  • Değerin enerji kesintisinde korunacağını varsaymak. Kalıcı alan ayarı yapılmadıysa korunmaz.

Sıkça Sorulan Sorular

CTU ile CTUD farkı nedir?

CTU yalnızca yukarı sayar ve 32.767’de durur. CTUD iki yöne sayar; sınırlarda ters uca döner (32.767’den -32.768’e). İkisinde de bit, değer PV’ye eşit veya büyük olunca ON olur.

Sayıcı nasıl sıfırlanır?

CTU ve CTUD, R girişi veya Reset (R) komutuyla sıfırlanır. Reset sayıcı bitini OFF, değeri 0 yapar. CTD’de LD girişi biti OFF yapar ve değeri PV’ye ayarlar.

Sayıcıya P (kenar) kontağı koymak gerekir mi?

Hayır. CU ve CD girişleri zaten OFF→ON geçişlerini sayar. Sinyal ON’da kalsa da bir kez sayılır.

Sayıcı değeri enerji kesilince korunur mu?

Sistem bloğunda kalıcı alan olarak ayarlanırsa değer korunabilir. Sayıcı biti her açılışta OFF’tur.

Sayıcı fazladan sayıyorsa ne yapmalıyım?

Önce sensörü ve kabloyu kontrol edin. Mekanik kontak sıçraması veya parazit olabilir. Dijital giriş filtre süresini (varsayılan 6,4 ms) sistem bloğundan uygun değere ayarlayın. Yeni ayarın hemen geçerli olması için süreyi değiştirdikten sonra CPU’nun enerjisini kapatıp açın; kılavuza göre aksi halde filtre tam duyarlı hale gelene kadar (12,8 ms’ye kadar) kısa “0” darbeleri algılanmayabilir veya sayılmayabilir. Geniş filtre seçenekleri yalnızca ilk 14 girişte (I0.0–I1.5) vardır.

Sayıcı neden eksik sayıyor?

Darbe, tarama süresinden veya giriş filtre süresinden (varsayılan 6,4 ms) kısa olabilir ya da reset taramasına denk gelebilir. Hızlı sinyaller için darbe yakalama veya yüksek hızlı sayıcı (HSC) kullanılır.

Kaynak

Sayıcı davranışları Siemens’in resmi kılavuzundan özetlenmiş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

Sayıma bağlı bir makine duruyorsa izleme ekranında sayıcının değerine, R girişine ve sensör girişinin LED’ine bakın. 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 illerde PLC ve pano işlerinde sahadayız. Bize 0533 454 52 32 numarasından ulaşabilirsiniz; mesai dışında da arayabilirsiniz.