Scada performansını etkileyen faktörler açıklamaya çalışıcam. WinTr scada programı diğer scadalardan farklı olarak bir çok seçeneği kullanıcının erişimine sunar. Bu avantaj dikkatsiz kullanıcıların elinde dez avantaj haline geldiği için bu yazıyı hazırlamak zorunda kaldım. Öncelikle yaptığınız scada projesinin bilgisayar kapasitesinin ne kadarını kullandığını sürekli kontrol etmelisiniz. Windows araç çubuğu üzerinde sağ kılik yaparak veya ctrl+alt+del tuşlarına birlikte basarak görev yöneticisini çalıştırın. Performans kısmında cpu ve ram kullanımını gözlemleyin. Bazen başka programlarda performansı tüketebilir. Daha detaylı bir inceleme için işlemler sayfasına bakabilirsiniz. Bu sayfada WinTr.exe ve Sqlserver.exe cpu ve ram kullanımını inceleyin.

Scada projesine bağlı olarak cpu kullanımı % 5′i geçmez. Eğer çok büyük projeler yapıyorsanız ve webserver özelliği kullanılıyorsa %20′ye kadar çıkabilir. Ancak %20′den daha fazla yükselmesi programın sağlıklı çalışmayacağı anlamına gelir. Performansı olumzus etkileyen sebebleri ve çözümlerini aşağıda açıkladım.

Plc değişkenlerinin daha hızlı okunmasını sağlamak için scada projesinde görülen her değer bilinçsizce düşürülür. Böylece takip eden maddelerde açıklayacağım problemler ortaya çıkar. Oysa plc ile iletişim hızı yalnızca connection manager bölümünde ayarlanır. İletişim hızını etkileyen 3 faktör vardır. 1.poke zamanının uzun oluşu, 2.timeout süresinin uzun oluşu ve en önemlisi tag adreslerinin ardışık olmaması. Her iletişim protokolünün yardım sayfasının en altında ardışık adres girilmesinin önemi ayrıntılı olarak anlatılmaktadır. Maalesef help sayfalarını okuyan programcı ile karşılaşmadık. Özellikle bu bölümü okumayan kullanıcılar, projeyi tamamladıktan sonra plc programını değiştirmek zorunda kalacaklardır. Testlerimizde bir plc ile 10000 Tag’ın değer değişimi her saniye okunabilmiştir. Bu hız tamamen konfigürasyona ve plc iletişim hızına başlıdır.

– Tag değer değişimini daha hızlı görmek için veya bilinçsizce Screen refresh zamanı çok düşürülüyor. Bazı kullanıcılar bunun ne işe yaradığını dahi bilmeden bu süreyi alt limit olan 10 milisaniyeye kadar düşürüyor. Oysa Tag değer değişimleri scada sayfalarına interrupt olarak bağlıdır ve connection manager bölümünde okunan tag değeri anlık olarak sayfada gösterilir. Daha hızlı tag değişimlerinin gösterimi ilk maddede anlatılmıştır. Screen refresh zamanı hakkında daha fazla bilgiyi Screen properties help sayfasında bulabilirsiniz.

– Sql server kayıt zamanı alt limit olan 10 milisaniyeye kadar azaltılıyor. Scada projesi ilk oluşturulduğunda bu süre 1000 mili saniyedir. Scada projeleri için çok kısa bir süredir. Normal olarak bu süre 10 saniye yani 10000 mili saniye olması yeterlidir. Ancak küçük projelerde 1000 mili saniye olmasında bir sakınca yoktur. Database’e yapılan kayıtların periyotu Control panelinde Sql server sekmesinden ayarlanılabilir. Database’e kaydettiğiniz Tag sayısına göre bu zamanı ayarlamalısınız. Diğer scada programları historical tag sayısını ayrıca satmaktadır. Bazılarında en yüksek sayı ise 250 tag’dır. Bazı kullanıcılar tüm tag’ları historical yapıp (ne işe yaradığını ise bilmeden) database’e kaydetmek istiyor. İhtiyacınız olduğu kadar değişkeni ihtiyacınız olduğu periyotta kaydetmelisiniz. Eğer çok fazla kayıt yapmak istiyorsanız, database’i başka bir bilgisayara taşıyabilirsiniz.

– Tek scada sayfası içersinde bir çok scada sayfası çalıştırılması. WinTr haricinde hiçbir scada programında olmayan Tabcontrol nesnesi buna imkan verir. Ancak bu şekilde kullanım scada performansını olumsuz etkileyecektir. Bazı kullanıcılar bir tane scada sayfası yapıp sayfayı kaplayan tab control nesnesi içersine tüm scada sayfalarını oluşturuyor. Böylece bir sayfa içersinde onlarca sayfa oluşturulmuş oluyor. Bir de bu sayfayı web server’da kullandımı bir anda 20′den fazla monitörü olan bir bilgisayar haline geliyor. Oysa tab control nesnesi küçük opsiyonlar oluşturmak için kullanılmalıdır. Tabcontrol help sayfasında konu açıklanmıştır.

– Çok büyük sayfayı tamamen kaplayan grafikler kullanıldığında screen refresh süresi artırılmalıdır. Grafik de gösterilen zaman dilimi büyük olduğunda grafiğin ekrandaki boyutuda büyük ise performans olumsuz etkilenecektir. Bilgisayarın ekran kartı paylaşılan memory kullanıyorsa bu problem daha ciddi olacaktır. Screen refresh süresini artırarak performansı kontrol altında tutabilirsiniz.

– Rapor çılgınlığı. Bazı müşteriler anlamsız raporlar talep edebilir. Örneğin bir ay boyunca her saniye kaydedilen bir değeri rapor olarak almak isterler. Oysa rapor kaydedilmiş verilerde belli durumları özetlemek olmalıdır. Örneğin: x tarih ile y tarih arasında tag değeri şunu geçenler bundan az olanlar gibi. Database’in belirtilen tarihlerindeki verinin tamamını alıp sonra bu verinin içinde sınırdışı olan değerleri gözle arayıp bulmak bence çok anlamsız. Yinede böyle veri alınabilir. Bu şekilde çok büyük raporlar alacaksanız. Rapor alma ekranını ayrı bir scada projesi olarak oluşturmalısınız. Aynı bilgisayarda iki adet scada projesi çalıştırıp birincisi normal çalışma ikincisi rapor alma projesi olmalıdır. Böylece rapor alma işlemi sırasında birinci scada normal işlemlerini aksatmadan yapabilecektir.

Scada performanısını etkileyen sebepleri anlatmaya çalıştım. Yazımın başında belirtiğim gibi bir çok scada programı bazı özellikleri kullanıcının değiştirmesine izin vermez. Otomasyon uygulamalarımızda bu kısıtlamadan dolayı yaşadığımız sıkıntılar sebebi ile WinTr’de her türlü imkanı kullanıcıya tanıdık. Bu seferde dikkatsiz ve yardım sayfalarını okumayan kullanıcılar scada programını kitleyecek, performansını düşürecek işlemler yapıyor. Nihayi kullanıcı ise problemin scada programından kaynaklandığını düşünüyor. Aylar sonra bir şekilde konudan haberimiz olup hemen düzeltiyoruz. Ancak haberimiz olmayan problemli scada uygulamalarının olmasından endişe ediyoruz. Eğer WinTr ile yapılmış bir tane sağlıksız sistem varsa lütfen bizi arayın. Teamviewer ile online olarak derhal probleminiz giderelim. 2009 yılından itibaren satışını yaptığımız WinTr scada programı hakkında tek olumsuz yazının internet ortamında bulunmamasının tek sebebi, ürettiğimiz programa sonuna kadar sahip çıkmamızdır.