SCADA Grafik Sayfası Donması: Foxboro I/A Serisi ve Woodward EasyGen için Temel Neden Analizi ve Optimizasyon

Sorun: İş İstasyonu Yalnızca Belirli Ekranlar Açılırken Donuyor
Operatörler, bazı SCADA ekranlarının açılmasının 15–30 saniye sürdüğünü bildiriyor. Yükleme sırasında fare imleci gecikiyor. Diğer ekranlar 2–3 saniye içinde açılıyor. PLC iletişim durumu sağlıklı kalıyor. Tanılama sonuçlarında ağ hatası görünmüyor.
Bu durum sorunun iletişim katmanında değil, grafik katmanında olduğunu gösteriyor. Donan ekran, hızlı açılanlara göre daha karmaşık nesneler içeriyor. Foxboro I/A Serisinde, Ekran Yöneticisi nesne başlatmayı yönetir. Woodward EasyGende ise GraphWorX çalışma zamanı SVG tabanlı grafikleri işler. Her iki platform da tek bir ekran tasarım kapasitelerini aştığında zorlanır.
Neden 1: Aşırı Gerçek Zamanlı Animasyon Nesneleri
Pompaların dönme simgeleri, konveyör bant hareketleri, karıştırıcı döndürme animasyonları ve renk-durum göstergeleri sürekli yenileme döngüleri gerektirir. Her animasyonlu nesne, yeniden çizim hesaplaması için bir CPU iş parçacığı kullanır. Bir ekranda 40’tan fazla aktif animasyon nesnesi varsa, render motoru doygunluğa ulaşır.
Foxboro I/A Serisi V7.0’da, Ekran Yöneticisi her 10 animasyon nesnesi için bir render iş parçacığı ayırır. 50 animasyon olduğunda sistem 5 eşzamanlı render iş parçacığı ve ana ekran iş parçacığını çalıştırır. CPU kullanımı tek çekirdekte %85–100’e çıkar.
Woodward EasyGende GraphWorX64 kullanılırken, her dönme animasyonu her 100 ms’de bir matris dönüşümü yeniden hesaplaması tetikler. 30 dönen simge içeren bir jeneratör genel bakış sayfası saniyede 300 dönüşüm işlemi üretir. GPU hızlandırma eşiği, özel grafik donanımı olmadan 25 eşzamanlı dönüşümdür.
Çözüm: Dönme animasyonlarını statik renk-durum göstergeleriyle değiştirin. Çalışma durumu için yumuşak dönüş yerine 1. yanıp sönme hızı (0,5 sn açık/kapalı) kullanın. Bu, nesne başına CPU yükünü %60–70 azaltır.
Neden 2: Sayfa Başlatılırken Etiket Abonelik Patlaması
Her grafik öğesi bir veya daha fazla PLC etiketiyle bağlıdır. Operatör bir ekran açtığında, SCADA istemcisi bağlı tüm etiketler için aynı anda abonelik istekleri gönderir. 800 etiket referansı içeren bir ekran 200 ms içinde 800 ayrı abonelik mesajı tetikler.
Foxboro I/A Serisinde, AW (Uygulama İş İstasyonu) abonelikleri Nodebus üzerinden CP’ye (Kontrol İşlemcisi) iletir. Her abonelik bir Nodebus işlemi gerektirir. Nodebus, düğüm başına saniyede maksimum 500 işlem destekler. 800 etiketli bir ekran başlangıç yüklemesinde bu sınırı aşar.
Sonuç: İlk 500 etiket hemen güncellenir. Kalan 300 etiket sıraya girer ve 1–3 saniye sonra gelir. Operatörler bazı değerlerin güncel olmadığını gösteren kısmi ekran güncellemeleri görür.
Woodward EasyGen’de OPC UA istemcisi etiketlere 100’erlik partiler halinde abone olur. 800 etiketli bir ekran 8 parti döngüsü gerektirir. Parti döngüsü başına 250 ms ile tam başlatma, herhangi bir render başlamadan önce en az 2 saniye sürer.
- Adım 1: Sorunlu ekrandaki toplam etiket referanslarını sayın. Foxboro Display Editor’da Araçlar > Etiket Sayısı Raporu kullanın. GraphWorX64’te Düzenle > Bul > Tüm Bağlı Değişkenler’i kullanın.
- Adım 2: Sayı 600’ü aşarsa, ekranı gezinme düğmeleriyle bağlı iki alt ekrana bölün. Her ekranda maksimum 400 etiket hedefleyin.
- Adım 3: Foxboro I/A Serisi için, CP Sistem Özellikleri > Ağ sekmesinde Nodebus işlem tamponunu varsayılan 256’dan 512’ye çıkarın.
- Adım 4: Woodward EasyGen için, GraphWorX yapılandırma dosyasında OPC UA abonelik modunu “abonelik oluştur” yerine “izlenen öğe ekle” olarak ayarlayın. Bu mevcut oturumları yeniden kullanır.
Neden 3: Gömülü Trend Grafiklerinin Tarihsel Verileri Sorgulaması
Birçok ekranda son 60 dakikalık proses verilerini gösteren gerçek zamanlı trend pencereleri bulunur. Ekran açıldığında, her trend grafik başlangıç verisi için tarihçi veritabanını sorgular. Bir ekrandaki üç trend grafik üç eşzamanlı tarihsel sorgu üretir.
Foxboro I/A Serisinde, Tarihçi (Informix veya SQL tabanlı) trend isteklerini AIM Tarihçi API’si ile karşılar. 5 saniyelik örnekleme aralığında 60 dakikalık bir trend, kalem başına 720 veri noktası döndürür. 4 kalemli bir trend grafik 2.880 nokta alır. Üç grafik toplam 8.640 nokta alır. Sorgu süresi veritabanı indeks durumuna bağlı olarak 3–8 saniye arasında değişir.
Sorgu yürütülürken, ekran iş parçacığı veri bekleyerek bloke olur. Operatör tüm trend verileri gelene kadar donmuş ekran görür.
- Adım 1: Yavaş açılan ekrandaki gömülü trend nesnelerini belirleyin. Her birinin zaman aralığı ve örnekleme aralığını not edin.
- Adım 2: Başlangıç zaman aralığını 60 dakikadan 15 dakikaya düşürün. Bu, kalem başına veri noktalarını 720’den 180’e indirir ve sorgu süresini %75 azaltır.
- Adım 3: Trend verileri için tembel yüklemeyi etkinleştirin. Trendlerin verileri ekran açıldıktan 2 saniye sonra doldurmasını sağlayın, başlatma sırasında değil. Foxboro’da Trend Nesnesi özelliği InitialLoadDelay = 2000ms olarak ayarlanır.
- Adım 4: Grafik başına trend kalem sayısını maksimum 4 ile sınırlandırın. Daha fazla değişken için ayrı grafikler kullanın.
Neden 4: Bellek Tüketen Yüksek Çözünürlüklü Arka Plan Görüntüleri
Proses grafikleri genellikle arka plan olarak taranmış P&ID diyagramları kullanır. Büyük bir proses alanı için 300 DPI’da tipik bir P&ID taraması, PNG formatında 8–15 MB boyutunda görüntü dosyaları üretir. SCADA ekranına yüklendiğinde, sıkıştırılmamış bitmap 50–80 MB RAM kaplar.
Foxboro I/A Serisi Ekran Yöneticisi arka plan görüntülerini paylaşılan bellekte önbelleğe alır. Varsayılan önbellek boyutu 128 MB’dır. İki ekran, her biri 12 MB arka planla toplam 24 MB önbellek ve 48 MB çalışma kopyası = toplam 72 MB kullanır. Üçüncü ekran açıldığında önbellek boşaltılır ve yeniden yüklenir, bu da görünür bir duraklamaya neden olur.
Woodward EasyGen GraphWorX64, arka planları GDFX dosyasında base64 kodlu dizeler olarak saklar. 10 MB’lık bir arka plan, GDFX dosya boyutunu 13 MB artırır (base64 ek yükü). Bu dizenin ayrıştırılması ekran yükleme süresine 1,5–2 saniye ekler.
- Adım 1: SCADA proje dizininde arka plan görüntü dosyası boyutlarını kontrol edin. 2 MB’ı aşan herhangi bir görüntüyü işaretleyin.
- Adım 2: Arka planları 96 DPI ve JPEG sıkıştırması (kalite ayarı %85) ile yeniden dışa aktarın. Bu, 10 MB’lık bir PNG’yi minimal görsel kalite kaybıyla 400–600 KB JPEG’e indirir.
- Adım 3: Foxboro I/A Serisi’nde, AW ortam değişkeni DISPLAY_CACHE_SIZE=262144 ile Ekran Yöneticisi önbellek boyutunu 256 MB’a çıkarın.
- Adım 4: Woodward EasyGen için, arka plan görüntülerini gömülü yerine dış referans moduna dönüştürün. ImageSource=Embedded yerine ImageSource=File yolunu kullanın.
Sonuç ve Eylem Önerileri
SCADA grafik sayfası donmaları dört örtüşen kaynak talebinden kaynaklanır. Birincisi, aşırı animasyon nesneleri CPU render iş parçacığını aşırı yükler. İkincisi, etiket abonelik patlamaları iletişim hattı işlem kapasitesini aşar. Üçüncüsü, gömülü trend grafikler tarihsel veri sorgularken ekran iş parçacığını bloke eder. Dördüncüsü, yüksek çözünürlüklü arka planlar bellek önbelleğini tüketir.
Foxboro I/A Serisi sistemlerde, Nodebus işlem tamponunu 512’ye çıkarmak, trend tembel yükleme gecikmesini 2 saniyeye ayarlamak, ekran önbelleğini 256 MB’a genişletmek ve ekranları maksimum 600 etiketle sınırlandırmak önceliklidir. Woodward EasyGen sistemlerde ise dönme animasyonlarını renk-durum göstergeleriyle değiştirin, OPC UA izlenen öğe yeniden kullanım modunu kullanın ve gömülü arka planları dış dosya referanslarına dönüştürün.
Yüklenme süresi 8 saniyeyi aşan tüm ekranları denetleyin. Öncesi ve sonrası metrikleri CMMS’nizde belgeleyin. Standart iş istasyonu donanımında (Intel i5, 8 GB RAM, entegre grafik) herhangi bir ekran için maksimum 5 saniye yüklenme süresi hedefleyin.
