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)
1
olduğunda komut çalışır, aksi halde ENO0
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_Value | ENO | Alarm_Relay |
---|---|---|
NaN | 1 (TRUE) | 1 (Aktif) |
25.5 | 0 (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_Rate | ENO | Sonuç |
---|---|---|
NaN | 1 (TRUE) | 0.0 |
10.0 | 0 (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:
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
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:
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 = 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
veyaLREAL
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
Yorum Gönder