CMP <: Less Than (Küçüktür)

PLC programlamada karşılaştırma komutları, iki değeri analiz ederek sistemin karar verme mekanizmasını yönetir. Siemens TIA Portal’da, S7-1200 ve S7-1500 serisi PLC’lerde kullanılan CMP <: Less Than komutu, bir değerin diğerinden küçük olup olmadığını kontrol eder ve otomasyon sistemlerinde verilerin belirli koşullara göre değerlendirilmesini sağlar. Bu makalede, CMP < komutunun temel mantığını, farklı veri türleriyle kullanımını, örnek senaryolarını ve dikkat edilmesi gereken noktaları detaylıca ele alacağız.

CMP <: Less Than Komutu Nedir?

CMP <: Less Than komutu, iki operandın (Operand1 ve Operand2) karşılaştırılmasını sağlar. Eğer Operand1, Operand2’den küçükse, sonuç RLO (Result of Logic Operation) olarak “1” (TRUE), değilse “0” (FALSE) döner. Bu sonuç, programın diğer kısımlarında kontrol kararları için kullanılır. Örneğin, bir depodaki sıvı seviyesinin belirli bir eşik değerin altına düştüğünü kontrol ederek bir alarmı tetikleyebilir.

CMP < Komutunun Parametreleri ve Mantığı

CMP < komutu, iki giriş değerini karşılaştırır ve bir çıkış sinyali üretir. Temel parametreler şunlardır:

ParametreVeri TipiBellek AlanıAçıklama
Operand1Bit dizileri, tamsayılar, kayan noktalı sayılar, string, zaman, tarihI, Q, M, D, L, P veya sabitİlk karşılaştırma değeri
Operand2Operand1 ile aynıI, Q, M, D, L, P veya sabitİkinci karşılaştırma değeri
Çıkış (RLO)Boolean-Karşılaştırma sonucu (TRUE/1 veya FALSE/0)

Çalışma Mantığı:

  • Operand1 ve Operand2 değerleri karşılaştırılır.
  • Eğer Operand1 < Operand2 ise RLO “1”, değilse “0” olur.
  • RLO, seride AND, paralel bağlantıda OR mantığıyla diğer işlemlerle birleştirilir.

Örnek Karşılaştırma Diyagramı:

Operand1: 5
Operand2: 10
CMP <:   |‾‾‾‾‾|___ (TRUE, RLO = 1)
    

Örnekler

Örnek 1: Tamsayı Karşılaştırması (Depo Seviyesi Kontrolü)

Amaç: Bir depodaki sıvı seviyesi belirli bir eşik değerinin altına düştüğünde alarm çıkışı aktif et.

Giriş/Çıkışlar:

  • Tag_Level: Sıvı seviyesi (INT)
  • Threshold: Eşik değeri (INT)
  • Alarm_Output: Alarm çıkışı (Q0.0)

Ladder Kodu:

Network 1:
|---[Enable]----[CMP <]----(Alarm_Output)---|
             |   Tag_Level
             |   Threshold
    

Örnek Senaryolar:

Tag_LevelThresholdSonuç (RLO)
5101 (TRUE)
10100 (FALSE)
1570 (FALSE)

Açıklama:

  • Enable sinyali aktifse (1), Tag_Level < Threshold ise Alarm_Output aktif olur.
  • Örneğin, Tag_Level = 5 ve Threshold = 10 ise RLO = 1 olur.

Örnek 2: String Karşılaştırması (Ürün Kodu Kontrolü)

Amaç: Bir ürün kodu belirli bir referans kodundan küçükse üretim hattını durdur.

Giriş/Çıkışlar:

  • Product_Code: Ürün kodu (STRING)
  • Reference_Code: Referans kodu (STRING)
  • Stop_Production: Üretim durdurma çıkışı (Q0.1)

Ladder Kodu:

Network 1:
|---[Start]----[CMP <]----(Stop_Production)---|
             |   Product_Code
             |   Reference_Code
    

Örnek Senaryolar:

Product_CodeReference_CodeSonuç (RLO)Açıklama
"Apple""Banana"1 (TRUE)'A' < 'B'
"AA""aa"1 (TRUE)'A' < 'a'
"BB""AA"0 (FALSE)'B' > 'A'
"Hello""Hello"0 (FALSE)Eşit

Açıklama:

  • Metinler ASCII kodlarına göre karşılaştırılır; büyük-küçük harf duyarlıdır.
  • Eğer Product_Code < Reference_Code ise Stop_Production aktif olur.

Örnek 3: Zaman Karşılaştırması (Erken Olay Kontrolü)

Amaç: Bir olayın zamanı belirli bir süreden önce gerçekleştiyse uyarı çıkışı aktif et.

Giriş/Çıkışlar:

  • Event_Time: Olay zamanı (TIME)
  • Deadline: Son süre (TIME)
  • Warning_Output: Uyarı çıkışı (Q0.2)

Ladder Kodu:

Network 1:
|---[Trigger]----[CMP <]----(Warning_Output)---|
             |   Event_Time
             |   Deadline
    

Örnek Senaryolar:

Event_TimeDeadlineSonuç (RLO)
DT#2024-03-21DT#2024-03-221 (TRUE)
T#2sT#3s1 (TRUE)
T#100msT#100ms0 (FALSE)

Açıklama:

  • Eğer Event_Time < Deadline ise Warning_Output aktif olur.
  • Zamanlar farklı formatlarda ise küçük format büyüğe dönüştürülür.

Örnek 4: Kayan Noktalı Sayı Karşılaştırması

Amaç: İki kayan noktalı sayıdan ilki ikincisinden küçükse bir çıkışı aktif et.

Giriş/Çıkışlar:

  • Value1: İlk değer (REAL)
  • Value2: İkinci değer (REAL)
  • M30.0: Çıkış (Result)

Ladder Kodu:

Network 1:
---[Value1]----[CMP <]----(M30.0)----
     Value2
    

Örnek Senaryolar:

Value1Value2Sonuç (RLO)
3.143.151 (TRUE)
5.05.00 (FALSE)
6.016.000 (FALSE)

Açıklama:

  • Eğer Value1 < Value2 ise M30.0 aktif olur.
  • Kayan noktalı sayılar hassasiyet gerektirir; küçük farklar sonucu etkileyebilir.

TIA Portal’da CMP < Ekleme Adımları:

  1. Blok Açın: Project Tree > Program Blocks > Add New Block.
  2. Karşılaştırıcı Seçin: Ladder’da Instructions > Comparator Operations > CMP <.
  3. Parametreleri Girin: Operand1, Operand2 ve veri tipini tanımlayın.

Avantajlar

  • Hızlı Karar Mekanizması: CMP < komutu, koşulların anında değerlendirilmesini sağlar.
  • Esneklik: Bit dizileri, tamsayılar, string, zaman ve tarih gibi farklı veri türleriyle çalışır.
  • Güvenilirlik: Eşik değer kontrolü gerektiren durumlarda sistem güvenliğini artırır.

Dikkat Edilmesi Gerekenler

  • Veri Tipi Uyumu: Operandlar aynı veri tipinde olmalıdır; aksi halde hata oluşabilir.
  • Kayan Noktalı Sayılar: REAL/LREAL karşılaştırmalarında hassasiyet kaybı nedeniyle dikkatli olunmalıdır.
  • String Karşılaştırmaları: Büyük-küçük harfe duyarlıdır; boşluklar ve karakter sıralaması önemlidir.
  • Geçersiz Değerler: Geçersiz zaman/tarih veya başarısız dönüşümler içeren durumlarda sonuç FALSE döner.
  • Inaktif Talimat Gösterimi: STRING veya WSTRING karşılaştırmalarında talimat inaktifse önceki durum gösterilebilir; ekranı yenileyin.

Uygulamalar

  • Proses Kontrolü: Eşik değerlerin kontrolü için alarm sistemleri.
  • Zaman Yönetimi: Erken olay kontrolü yaparak uyarı sistemleri.
  • Üretim Hatları: Ürün kodlarını karşılaştırarak üretim kontrolü.
  • Enerji Yönetimi: Tüketim sınırlarını kontrol ederek uyarı sistemleri.

İpuçları

  • Simülasyon: TIA Portal’da PLCSIM ile karşılaştırma sonuçlarını test edin.
  • Hassasiyet Kontrolü: Kayan noktalı sayılar için ±0.1 hata payı ile karşılaştırma yapmayı değerlendirin.
  • Structured Text Kullanımı: Daha karmaşık mantıklar için ST dilini tercih edin.

Sonuç

Siemens TIA Portal’da CMP <: Less Than komutu, otomasyon sistemlerinde bir değerin diğerinden küçük olup olmadığını kontrol ederek dinamik ve güvenilir karar mekanizmaları oluşturur. Tamsayılar, kayan noktalı sayılar, string, zaman ve tarih gibi farklı veri türleriyle çalışabilen bu komut, endüstriyel uygulamalarda geniş bir kullanım alanına sahiptir. Ancak, veri tipi uyumu, geçersiz değerler ve hassasiyet gerektiren durumlarda dikkatli olunmalıdır. Bu makalede, CMP < komutunun temel mantığı, kullanım senaryoları ve örnek uygulamaları ele alındı. TIA Portal’da bu komutu deneyimleyerek, otomasyon projelerinizde daha etkili çözümler geliştirebilirsiniz.

Ek Kaynaklar: Siemens S7-1200/S7-1500 Dokümantasyonu

Yorumlar