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:
| Parametre | Veri Tipi | Bellek Alanı | Açıklama |
|---|---|---|---|
<Operand> | Floating-point (REAL, LREAL) | I, Q, M, D, L | Kontrol edilecek değişken (örneğin, %MD20) |
Çalışma Mantığı:
- EN (Enable Input)
1olduğunda komut çalışır, aksi halde ENO0döner. - Operand geçersiz bir sayıysa (NaN veya sonsuz ise), ENO
1olur. - Geçerli durumlarda, ENO
0dö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_Value | ENO | Alarm_Relay |
|---|---|---|
| NaN | 1 (TRUE) | 1 (Aktif) |
| 25.5 | 0 (FALSE) | 0 (Pasif) |
Açıklama:
Temp_Valuegeçersizse (örneğin, NaN),Alarm_Relayaktif 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_Rate | ENO | Sonuç |
|---|---|---|
| NaN | 1 (TRUE) | 0.0 |
| 10.0 | 0 (FALSE) | Değişmez |
Açıklama:
Flow_Rategeçersizse,ENO = 1olur 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:
| TagA | TagB | Result | ENO | ErrorLog |
|---|---|---|---|---|
| 5.0 | 0.0 | NaN | 1 (TRUE) | Kaydedilir |
| 5.0 | 2.0 | 2.5 | 0 (FALSE) | Kaydedilmez |
Açıklama:
- Bölme işlemi sonucu
Resultgeç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:
| Sensor1 | Sensor2 | Sensor3 | ENO | AVG Durumu |
|---|---|---|---|---|
| 10.0 | 20.0 | 30.0 | 0 (FALSE) | Çalışır |
| NaN | 20.0 | 30.0 | 1 (TRUE) | Durur |
Açıklama:
- Herhangi bir sensör geçersizse,
ENO = 1olur 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
REALveyaLREALile ç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
Yorum Gönder