HMI Trend Ekranı 10.000 Nokta Çizerken Dondu
Otomatik duruş raporunda 10.000 noktalık bir trend ekranı vardı. HMI, trendi çizerken 3-4 saniye donuyordu, operatör o 4 saniyede acil duruş butonuna basamıyordu. Trend ekranının performansını nasıl artırdım, adımı adım yazıyorum.

Trend ekranı, 10.000 nokta çiziyordu. 10.000 nokta, HMI’nin grafik motoru için bir yük. Ama asıl yük, her ekranda o 10.000 noktanın yeniden çizilmesi. HMI, trend ekranını her açtığında, 10.000 noktayı sıfırdan alır, sıfırdan ölçekler, sıfırdan çizer. 3-4 saniye.
Operatör, o 3-4 saniyede ne yapar? Hiçbir şey yapamaz. Ekran donmuştur. Acil duruş butonuna basmak için, önce ekranı açmak gerekir. Ekranı açınca 4 saniye beklersiniz. 4 saniye, bir operatör için “bir şey oldu” ile “ne oldu?” arasındaki geçiştir. Geçiş, 4 saniyedir.
10.000 nokta kaç saniye tutar?
HMI, trend verisini her ekranda tamamını çizer. 10.000 nokta, 20 ms’de bir örneklenmişse, 200 saniyelik bir pencere tutar. 200 saniye, operatörün “şu an ne oluyor?” sorusuna cevap verir. Ama operatör, “son 5 dakikada ne oldu?” sorusunu da aynı ekranla sorar. O 5 dakika, 300 nokta. HMI, 10.000 noktayı çizerken, o 300 noktanın 9.700’ü gereksizdir.
Pencereyi 300 noktaya indirdim
Trend ekranını iki moda böldüm: “Canlı” ve “Tarihçeli”. Canlı mod, son 300 noktayı çizer — 5 dakika. Tarihçeli mod, 10.000 noktayı çizer — 200 saniye. Operatör, normalde Canlı modda kalır. Acil duruş anında, ekran 0.3 saniyede açılır. 300 nokta, HMI için hafiftir.
Peki Tarihçeli mod ne zaman? Raporlama zamanında. Operatör, vardiya sonunda, 200 saniyelik trendi açar, o 200 saniyeyi inceler, rapor basar. O 3-4 saniyelik donma, vardiya sonunda olur, hat çalışırken olmaz.
3-4 saniye 0.3 saniye oldu
Değişiklik: iki mod, bir ekranda. Canlı mod, 300 nokta, 0.3 saniye. Tarihçeli mod, 10.000 nokta, 3.5 saniye. Operatör, normalde Canlı modda. Acil durumda, ekran 0.3 saniyede açılır.
Peki 10.000 nokta neden orada durmalı?
Çünkü 200 saniyelik pencere, bir duruşun bağlamını verir. Son 5 dakika, “ne oldu?” sorusuna cevap verir. 200 saniye, “neden oldu?” sorusuna cevap verir. İkisinden birini atarsanız, operatör ya bağlamsız bir cevap alır, ya da 4 saniye bekler. İki mod, iki soruyu da cevaplar, ama her birini doğru zamanda.
0.3 saniye, operatörün “ekran açıldı” demeden önceki süredir. 4 saniye, “ekran neden bu kadar yavaş?” demeye başlayan süredir. Aradaki fark, 3.7 saniye. O 3.7 saniye, bir acil duruşta, bir insanın “dur” demesini “neden duruyor?” demeye çevirir.