----I NOT_OK I----: Check Invalidity (Geçersizliği Kontrol Et)

----I NOT_OK I----: Check Invalidity (Geçersizliği Kontrol Et)

Endüstriyel otomasyon sistemlerinde veri güvenilirliği, sistemin kararlı çalışması için kritik bir öneme sahiptir. Siemens TIA Portal’da kullanılan "Check Invalidity" (Geçersizliği Kontrol Et) komutu, kayan noktalı (floating-point) sayıların geçersizliğini kontrol ederek hatalı verilerin sistemde kullanılmasını önler. Bu rehberde, S7-1200 ve S7-1500 serisi PLC’lerde kullanılan bu komutun tanımı, parametreleri, çalışma mantığı, pratik örnekleri ve dikkat edilmesi gereken noktalar detaylıca ele alınacaktır.

"Check Invalidity" Komutu Nedir?

"Check Invalidity" komutu, bir operandın (örneğin %MD20) geçersiz bir REAL veya LREAL değer içerip içermediğini denetler. NaN (Not a Number), sonsuzluk veya bozuk veri gibi geçersiz durumları algılar. Komut, yalnızca giriş sinyali (EN) 1 olduğunda çalışır ve operand geçersizse çıkış (ENO) 1, değilse 0 döner. Örneğin, bir sensörden gelen hatalı veriyi tespit ederek sistemin güvenli bir şekilde çalışmasını sağlayabilir.

"Check Invalidity" Komutunun Parametreleri ve Mantığı

"Check Invalidity" komutu, kayan noktalı bir değerin geçersizliğini kontrol eder ve hata yönetimi için çıkış sinyali üretir. Temel parametreler şunlardır:

ParametreVeri TipiBellek AlanıAçıklama
<Operand>Floating-point (REAL, LREAL)I, Q, M, D, LKontrol edilecek değişken (örneğin, %MD20)

Çalışma Mantığı:

  • EN (Enable Input) 1 olduğunda komut çalışır, aksi halde ENO 0 döner.
  • Operand geçersiz bir sayıysa (NaN veya sonsuz ise), ENO 1 olur.
  • Geçerli durumlarda, ENO 0 döner.

Örnek Diyagram:

EN: 1
Operand: NaN    → ENO: 1 (Geçersiz)
Operand: 5.0    → ENO: 0 (Geçerli)
    

Örnekler

Örnek 1: Sensör Verisinin Geçersizliğini Kontrol Etme

Amaç: Bir sıcaklık sensöründen gelen Temp_Value geçersizse alarm rölesini aktif et.

Ladder Kodu:

Network 1:
|---[Check Invalidity]----(Alarm_Relay)---|
    | Temp_Value
        

Örnek Senaryolar:

Temp_ValueENOAlarm_Relay
NaN1 (TRUE)1 (Aktif)
25.50 (FALSE)0 (Pasif)

Açıklama:

  • Temp_Value geçersizse (örneğin, NaN), Alarm_Relay aktif olur.
  • Geçerli bir sayıysa, alarm devre dışı kalır.

Örnek 2: Hatalı Veriyi Varsayılan Değerle Değiştirme

Amaç: Flow_Rate geçersizse sıfırlanır.

Ladder Kodu:

Network 1:
|---[Check Invalidity]----(Flow_Rate = 0.0)---|
    | Flow_Rate
        

Örnek Senaryolar:

Flow_RateENOSonuç
NaN1 (TRUE)0.0
10.00 (FALSE)Değişmez

Açıklama:

  • Flow_Rate geçersizse, ENO = 1 olur ve sıfırlanır.

Örnek 3: Matematiksel İşlem Sonrası Kontrol

Amaç: Bölme işlemi sonucu geçersizse hata logu oluştur.

Structured Text (ST):

"Result" := "TagA" / "TagB";
IF "Check_Invalidity_DB"(Operand := "Result") THEN
  "ErrorLog".Write(Value := "Result");
END_IF;
        

Örnek Senaryolar:

TagATagBResultENOErrorLog
5.00.0NaN1 (TRUE)Kaydedilir
5.02.02.50 (FALSE)Kaydedilmez

Açıklama:

  • Bölme işlemi sonucu Result geçersizse (örneğin, sıfıra bölme), hata loga kaydedilir.

Örnek 4: Çoklu Sensör Kontrolü ile Güvenli Ortalama

Amaç: Üç sensörden gelen verilerden biri geçersizse ortalamayı hesaplama.

Ladder Kodu:

Network 1:
|---[Check Invalidity]----[Check Invalidity]----[Check Invalidity]----[NOT]----[AVG]---|
    | Sensor1           | Sensor2           | Sensor3
        

Örnek Senaryolar:

Sensor1Sensor2Sensor3ENOAVG Durumu
10.020.030.00 (FALSE)Çalışır
NaN20.030.01 (TRUE)Durur

Açıklama:

  • Herhangi bir sensör geçersizse, ENO = 1 olur ve ortalama hesaplama durur.

Avantajlar

  • Hata Önleme: Geçersiz verilerin sistemde kullanılmasını engeller.
  • Güvenlik: Kritik sistemlerde hatalı verilerden kaynaklanan kazaları önler.
  • Stabilite: PLC’nin beklenmedik durumlarda çökmesini engeller.
  • Esneklik: EN/ENO mekanizmasıyla diğer işlemlere kolayca entegre edilir.

Dikkat Edilmesi Gerekenler

  • Değişken Başlatma: Kullanmadan önce değişkenleri başlatın (örneğin, 0.0).
  • Veri Tipi Uyumu: Yalnızca REAL veya LREAL ile çalışır.
  • Döngü Süresi: Gereksiz kontroller döngü süresini artırabilir, kritik verilere odaklanın.
  • Geçersiz Veri Kaynağı: Sensör veya iletişim hatalarını kontrol edin.

Uygulamalar

  • Sensör Hata Tespiti: Analog girişlerin geçersizliğini kontrol etme.
  • Matematiksel Güvenlik: Hesaplama öncesi veri doğrulama.
  • Veri İletişim Yönetimi: Profinet veya Modbus verilerinin güvenilirliğini sağlama.
  • Hata Loglama: Geçersiz verileri kaydederek analiz yapma.

İpuçları

  • Simülasyon: PLCSIM ile geçersiz veri senaryolarını test edin.
  • Aralık Kontrolü: Geçersizlik kontrolünü aralık kontrolüyle birleştirin (örneğin, Tag_Value > 100.0).
  • Varsayılan Değer: Geçersiz durumlarda alternatif bir değer atayın.
  • Hata Bildirimi: Geçersiz veri durumunda operatörü HMI üzerinden bilgilendirin.

Sonuç

Siemens TIA Portal’da "Check Invalidity" komutu, kayan noktalı verilerin geçersizliğini kontrol ederek otomasyon sistemlerinde güvenilirlik sağlar. Sensör hata tespiti, matematiksel işlemler ve veri iletişim yönetimi gibi geniş bir yelpazede kullanılan bu komut, sistem arızalarını ve güvenlik risklerini azaltır. Doğru kullanım için değişkenlerin başlatılması ve EN/ENO zincirinin dikkatli yapılandırılması önemlidir. Bu rehberi TIA Portal projelerinizde uygulayarak daha sağlam çözümler geliştirebilirsiniz.

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

Yorumlar