PLC programlamada aralık dışı kontrol komutları, bir değerin belirli bir aralığın dışında olup olmadığını kontrol ederek sistemin karar verme mekanizmasını yönetir. Siemens TIA Portal’da, S7-1200 ve S7-1500 serisi PLC’lerde kullanılan OUT_RANGE: Value outside Range komutu, bir değerin (VAL) belirlenen alt (MIN) ve üst (MAX) sınırlar dışında olup olmadığını kontrol eder. Bu komut, özellikle alarm sistemleri, hata tespiti, sensör veri doğrulama ve güvenlik kontrolleri gibi endüstriyel uygulamalarda yaygın olarak kullanılır. Bu makalede, OUT_RANGE komutunun temel mantığını, farklı veri türleriyle kullanımını, örnek senaryolarını ve dikkat edilmesi gereken noktaları detaylıca ele alacağız.
OUT_RANGE: Value outside Range Komutu Nedir?
OUT_RANGE: Value outside Range komutu, bir değerin belirli bir aralığın dışında olup olmadığını kontrol eder. Eğer kontrol edilen değer (VAL), alt sınır (MIN) ve üst sınır (MAX) aralığının dışındaysa, yani VAL < MIN veya VAL > MAX ise, sonuç Box Output olarak “1” (TRUE), değilse “0” (FALSE) döner. Ancak, bu komut yalnızca giriş sinyali (Box Input) aktif olduğunda (1) çalışır. Ayrıca, REAL veri tiplerinde geçersiz bir değer (örneğin NaN - Not a Number) durumunda sonuç otomatik olarak “1” olur. Örneğin, bir fırının sıcaklık değerinin güvenli aralığın dışına çıkıp çıkmadığını kontrol ederek bir alarmı tetikleyebilir.
OUT_RANGE Komutunun Parametreleri ve Mantığı
OUT_RANGE komutu, bir değerin belirli bir aralığın dışında olup olmadığını kontrol eder ve bir çıkış sinyali üretir. Temel parametreler şunlardır:
Parametre | Veri Tipi | Bellek Alanı | Açıklama |
---|---|---|---|
Box Input | BOOL | I, Q, M, D, L | Talimatın çalışması için gerekli sinyal (1: Aktif, 0: Pasif) |
MIN | INT, DINT, REAL vb. | I, Q, M, D, L veya sabit | Aralığın alt sınırı |
VAL | MIN ile aynı | I, Q, M, D, L veya sabit | Kontrol edilecek değer |
MAX | MIN ile aynı | I, Q, M, D, L veya sabit | Aralığın üst sınırı |
Box Output | BOOL | I, Q, M, D, L | Karşılaştırma sonucu (TRUE/1 veya FALSE/0) |
Çalışma Mantığı:
- Box Input sinyali kontrol edilir; eğer 1 ise talimat çalışır, 0 ise çalışmaz ve Box Output 0 olur.
- MIN, VAL ve MAX değerleri karşılaştırılır.
- Eğer VAL < MIN veya VAL > MAX ise Box Output “1”, değilse “0” olur.
- REAL veri tiplerinde VAL geçersiz bir değer (NaN) ise Box Output otomatik olarak “1” olur.
Örnek Karşılaştırma Diyagramı:
Box Input: 1 MIN: 5 VAL: 3 MAX: 10 OUT_RANGE: |‾‾‾‾‾|___ (TRUE, Box Output = 1)
Örnekler
Örnek 1: Aşırı Sıcaklık Alarmı (Fırın Sıcaklığı)
Amaç: Bir fırının sıcaklığı belirli bir aralığın dışına çıktığında kırmızı LED’i aktif et.
Giriş/Çıkışlar:
- Enable: Kontrol sinyali (BOOL)
- Min_Temp: Minimum sıcaklık (INT, 200°C)
- Temperature: Mevcut sıcaklık (INT)
- Max_Temp: Maksimum sıcaklık (INT, 250°C)
- Red_LED: Kırmızı LED çıkışı (Q0.0)
Ladder Kodu:
Network 1: |---[Enable]----[OUT_RANGE]----(Red_LED)---| | Min_Temp: 200 | Temperature | Max_Temp: 250
Örnek Senaryolar:
Enable | Temperature | Sonuç (Box Output) |
---|---|---|
1 | 190 | 1 (TRUE) |
1 | 210 | 0 (FALSE) |
1 | 260 | 1 (TRUE) |
0 | 190 | 0 (FALSE) |
Açıklama:
- Enable sinyali aktifse (1) ve Temperature 200°C ile 250°C aralığının dışındaysa Red_LED aktif olur.
- Örneğin, Temperature = 190°C ise Box Output = 1 olur.
Örnek 2: Basınç Kontrolü (Tank Basıncı)
Amaç: Bir tanktaki basınç belirli bir aralıkta olduğunda sistemi çalıştır.
Giriş/Çıkışlar:
- Enable: Kontrol sinyali (BOOL)
- Min_Pressure: Minimum basınç (REAL, 1.5 bar)
- Pressure: Mevcut basınç (REAL)
- Max_Pressure: Maksimum basınç (REAL, 3.5 bar)
- System_Active: Sistem çalışma çıkışı (Q0.1)
Ladder Kodu:
Network 1: |---[Enable]----[OUT_RANGE]----|----|----(System_Active)---| | Min_Pressure: 1.5 | | | Pressure | |---[NOT]----| | Max_Pressure: 3.5 | Box Output
Örnek Senaryolar:
Enable | Pressure | Box Output | System_Active |
---|---|---|---|
1 | 0.9 | 1 (TRUE) | 0 (FALSE) |
1 | 2.5 | 0 (FALSE) | 1 (TRUE) |
1 | 3.6 | 1 (TRUE) | 0 (FALSE) |
0 | 2.5 | 0 (FALSE) | 1 (TRUE) |
Açıklama:
- Enable sinyali aktifse (1) ve Pressure 1.5 bar ile 3.5 bar aralığındaysa System_Active aktif olur.
- Örneğin, Pressure = 2.5 bar ise Box Output = 0, dolayısıyla System_Active = 1 olur.
Örnek 3: Üretim Hattı Hız Alarmı
Amaç: Bir üretim hattının hızı belirli bir aralığın dışına çıktığında alarm çıkışı aktif et.
Giriş/Çıkışlar:
- Start: Başlatma sinyali (BOOL)
- Min_Speed: Minimum hız (INT, 1500 RPM)
- Speed: Mevcut hız (INT)
- Max_Speed: Maksimum hız (INT, 3000 RPM)
- Alarm_Output: Alarm çıkışı (Q0.2)
Ladder Kodu:
Network 1: |---[Start]----[OUT_RANGE]----(Alarm_Output)---| | Min_Speed: 1500 | Speed | Max_Speed: 3000
Örnek Senaryolar:
Start | Speed | Sonuç (Box Output) |
---|---|---|
1 | 1400 | 1 (TRUE) |
1 | 2000 | 0 (FALSE) |
1 | 3100 | 1 (TRUE) |
0 | 1400 | 0 (FALSE) |
Açıklama:
- Start sinyali aktifse (1) ve Speed 1500 RPM ile 3000 RPM aralığının dışındaysa Alarm_Output aktif olur.
- Örneğin, Speed = 1400 RPM ise Box Output = 1 olur.
Örnek 4: Tank Seviyesi Kontrolü
Amaç: Bir tankın içindeki sıvı seviyesi belirli bir aralığın dışına çıktığında alarm çıkışı aktif et.
Giriş/Çıkışlar:
- Enable: Kontrol sinyali (BOOL)
- Min_Level: Minimum seviye (INT, %30)
- Level: Mevcut seviye (INT)
- Max_Level: Maksimum seviye (INT, %80)
- Level_Alarm: Seviye alarm çıkışı (Q2.1)
Ladder Kodu:
Network 1: |---[Enable]----[OUT_RANGE]----(Level_Alarm)---| | Min_Level: 30 | Level | Max_Level: 80
Örnek Senaryolar:
Enable | Level | Sonuç (Box Output) |
---|---|---|
1 | 20 | 1 (TRUE) |
1 | 50 | 0 (FALSE) |
1 | 90 | 1 (TRUE) |
0 | 20 | 0 (FALSE) |
Açıklama:
- Enable sinyali aktifse (1) ve Level %30 ile %80 aralığının dışındaysa Level_Alarm aktif olur.
- Örneğin, Level = %20 ise Box Output = 1 olur.
TIA Portal’da OUT_RANGE Ekleme Adımları:
- Blok Açın: Project Tree > Program Blocks > Add New Block.
- Komutu Seçin: Ladder’da Instructions > Comparator Operations > OUT_RANGE.
- Parametreleri Girin: Box Input, MIN, VAL, MAX ve Box Output’u tanımlayın.
Avantajlar
- Hızlı Aralık Dışı Kontrol: OUT_RANGE komutu, değerlerin belirli bir aralığın dışında olup olmadığını hızlıca kontrol eder.
- Esneklik: INT, DINT, REAL gibi farklı veri türleriyle çalışır.
- Güvenilirlik: Sensör verilerinin güvenli aralıkların dışında olduğunu tespit ederek sistem güvenliğini artırır.
- Mantıksal Entegrasyon: Diğer mantıksal işlemlerle (AND, OR, NOT) kolayca birleştirilebilir.
- Geçersiz Değer Tespiti: REAL veri tiplerinde NaN gibi geçersiz değerleri otomatik olarak algılar.
Dikkat Edilmesi Gerekenler
- Veri Tipi Uyumu: MIN, VAL ve MAX aynı veri tipinde olmalıdır; aksi halde hata oluşabilir.
- Box Input Durumu: Box Input 0 ise talimat çalışmaz ve Box Output her zaman 0 döner.
- Aralık Sınırları: MIN değeri MAX değerinden küçük veya eşit olmalıdır; aksi halde sonuç her zaman TRUE olur.
- Geçersiz Değerler: REAL veri tiplerinde NaN gibi geçersiz değerler sonucu otomatik olarak TRUE yapar.
Uygulamalar
- Alarm Sistemleri: Sıcaklık, basınç, seviye gibi değişkenlerin aralık dışına çıkması durumunda uyarı sistemlerini tetikleme.
- Güvenlik Kontrolleri: Aşırı yük, aşırı sıcaklık veya seviye taşması gibi durumları algılama.
- Üretim Hatları: Hız veya diğer parametrelerin belirlenen aralıkların dışına çıkmasını önleme.
- Sensör Doğrulama: Sensör verilerinin geçerli aralıklarda olup olmadığını kontrol etme.
İpuçları
- Simülasyon: TIA Portal’da PLCSIM ile aralık dışı kontrol sonuçlarını test edin.
- Hassasiyet Kontrolü: REAL veri tipleri için ±0.1 hata payı ile aralık belirlemeyi değerlendirin.
- Structured Text Kullanımı: Daha karmaşık aralık dışı kontroller için ST dilini tercih edin.
Sonuç
Siemens TIA Portal’da OUT_RANGE: Value outside Range komutu, otomasyon sistemlerinde bir değerin belirli bir aralığın dışında olup olmadığını kontrol ederek dinamik ve güvenilir karar mekanizmaları oluşturur. INT, DINT, REAL gibi farklı veri türleriyle çalışabilen bu komut, endüstriyel uygulamalarda geniş bir kullanım alanına sahiptir. Ayrıca, REAL veri tiplerinde geçersiz değerleri (NaN) otomatik olarak algılayarak ek bir güvenlik katmanı sağlar. Ancak, veri tipi uyumu, Box Input durumu ve aralık sınırlarına dikkat edilmelidir. Bu makalede, OUT_RANGE 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
Yorum Gönder