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ı
| Komut | Türkçe adı | Sayma | Sayıcı biti ON olur | Sıfırlama / yükleme |
|---|---|---|---|---|
| CTU (count up) | Yukarı sayıcı | CU girişinin her OFF→ON geçişinde +1 | Değer ≥ PV | R 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 -1 | Değer = 0 | LD girişi ON olunca bit OFF, değer = PV |
| CTUD (count up/down) | Yukarı/aşağı sayıcı | CU ile +1, CD ile -1 | Değ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 | |--| |----------------------------------------( )----|
| Adres | Anlamı |
|---|---|
| I0.0 | Konveyör start (NO) |
| I0.1 | Konveyör stop (fiziksel NC, programda NO) |
| I0.2 | Kutu sensörü |
| I0.3 | Sayıcı reset butonu (yeni parti) |
| C0 | CTU, PV 10 |
| Q0.0 | Konveyör motoru |
| Q0.1 | “Parti tamam” lambası |
Nasıl çalışır:
- Start’a basınca konveyör çalışır ve mühürlenir.
- Sensörün önünden her kutu geçtiğinde I0.2 OFF→ON olur, C0 bir artar.
- C0’ın değeri 10 olunca C0 biti ON olur. Network 1’deki C0 NC kontağı açılır, konveyör durur. Lamba yanar.
- C0 biti ON iken start’a basılsa da konveyör kalkmaz.
- 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 | |--| |----------------------------------------( )----|
| Adres | Anlamı |
|---|---|
| I0.2 | Şişe sensörü |
| I0.3 | Koli sayıcısını elle sıfırlama |
| I0.4 | Palet değişti butonu (C2 reset) |
| C1 | CTU, PV 12 (şişe / koli) |
| C2 | CTU, PV 5 (koli / palet) |
| Q0.2 | “Palet dolu” lambası |
Nasıl çalışır:
- Her şişede C1 bir artar.
- 12. şişede C1 biti ON olur. Network 2’de C2’nin CU girişi OFF→ON görür ve C2 bir artar.
- Sonraki taramada C1 biti, C1’in kendi R girişini ON yapar. C1’in değeri 0, biti OFF olur.
- 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 | |--| |----------------------------------------( )----|
| Adres | Anlamı |
|---|---|
| I0.5 | Parça alındı sensörü |
| I0.6 | Yeni kasa butonu (PV’yi yükler) |
| SM0.1 | İlk tarama biti (yalnızca ilk çevrimde ON) |
| C3 | CTD, PV 3 |
| Q0.3 | “Kasa boş” lambası |
Nasıl çalışır:
- İlk taramada SM0.1 veya yeni kasada I0.6, LD girişini ON yapar. C3’ün biti OFF, değeri 3 olur.
- Her alınan parçada değer bir azalır: 3, 2, 1, 0.
- 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 | |--|/|----------------------------------------( )----|
| Adres | Anlamı |
|---|---|
| I0.0 | Giriş sensörü (CU) |
| I0.1 | Çıkış sensörü (CD) |
| I0.2 | Sayımı sıfırlama (R) |
| C48 | CTUD, PV 50 |
| Q0.0 | “DOLU” ışığı / giriş bariyeri kilidi |
| Q0.1 | “YER VAR” ışığı |
Nasıl çalışır:
- Her giren araçta C48 +1, her çıkan araçta -1 olur.
- Değer 50 veya üstündeyse C48 biti ON olur. “DOLU” yanar, “YER VAR” söner.
- Bir araç çıkınca değer 49’a düşer. Bit OFF olur, “YER VAR” yeniden yanar.
- 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:
- Siemens SIMATIC S7-200 SMART System Manual, V2.7, 08/2022, A5E03822230-AK (Bölüm 8.6.1 sayıcı komutları ve örnekleri; Bölüm 4.1 tarama çevrimi; Bölüm 6.1.3 dijital giriş filtreleri; Bölüm 6.1.5 kalıcı alanlar; Ek D SMB0 sistem bitleri)
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.

