ViewPLUS Sunucu

From Mikrodev Documentation
Jump to navigation Jump to search
This page is a translated version of the page ViewPLUS Server and the translation is 100% complete.

Other languages:
English • ‎Türkçe

Genel Bakış

Sunucu yazılımının çalıştırılabilmesi için bir proje ile ilişkilendirilmesi gerekir. Editör menüsünden çalıştırıldığında, halihazırda açık olan proje sunucu tarafından kullanılır. Sunucuyu editörden bağımsız olarak çalıştırmak için “Editör > Araçlar >Sunucu Dosyalarını Oluştur” seçilerek bir klasör belirtilir ve sunucu dosyaları bu klasöre kopyalanır. “ServerEngine” programcığı sunucuyu başlatmak için kullanılır. “ServerEngine” programcığı, varsayılan davranış olarak kendisiyle aynı klasörde “Project” isminde bir klasör arar.

“Project” klasörü editör tarafından oluşturulan özel dosyalar içerir. Bunların başlıcaları; “MikrodevScada.ini” ,”Project.zip”, “.sca uzantılı proje sayfaları” ve bileşen dosyalarıdır. Sunucu hangi veritabanına bağlanacağını ve kayıtları tutacağı yer gibi bilgileri “MikrodevScada.ini” dosyasında okur.

SCADA sunucu ilk kez başlatıldığında, kullanıcı tarafından veritabanı bağlantı bilgilerinin girilmesi istenebilir. Sunucu farklı klasördeki bir projeyi de ağaşıdaki komut satırı parametrelerini kullarak açabilir.

“ServerEngine –dir “C:\Users\yg\Desktop\server\projeadi“ ”

-dir : Proje klasörü

Sunucu Ana Ekranı

Sunucunun ana ekranında genel sistem loglarının izlenebileceği bir konsol bulunur. Bu konsol üzerinde sunucu ile ilgili önemli değişimler gösterilir. Daha detaylı sunucu logları ayrı bir dosyada kaydedilir. “Başlat” butonuna basıldığında sunucu saha cihazlarıyla bağlantı kurar. Bağlantı kurulduktan sonra sunucu istemcilerin bağlanabileceği bir port açar ve gelen bağlantıları bekler. Sunucu sahadan veri okumaya başladığında, proje ayarlarında belirtildiği şekilde bu verileri veritabanı sunucusuna göndererek kaydeder. Etiket izleme ekranında sahadan okunan verilerin anlık değerleri izlenebilir.


server.png

Sunucu Etiket İzleme Ekranı

Etiket izleme ekranındaki anlık değerler üzerinde etiketId, etiket adı, kanal adı, cihaz adresi gibi parametrelere göre filtreleme yapılabilir. “Değer” alanında gösterilen sayısal verinin yanında “dced” şeklinde bir metin bulunuyorsa, bu durum cihaz ile SCADA sunucu arasında bir bağlantı problemi olduğunu gösterir Sürücü izleme ekranında çalışan protokol sürücüleriyle ilgili bilgiler verilir. Bu konsoldan cihaz bağlantı problemleriyle ilgili bilgiler elde edilebilir.

Alarm ekranı ise, sistemde oluşmuş olan alarmların geçmişi ve mevcut alarmların gözlemlenebilmesini sağlar.

Sunucuyu Otomatik Başlatma

Windows Platformu

Sunucuyu otomatik başlatmak için şu adımları takip ediniz ("TestProjesi" isimli örnek bir proje icin ):

  • ViewPLUS' ün kurulum klasörü içindeki "ServerEngine.exe" programcığı için masaüstüne bir kısayol oluşturun.
  • Oluşturulan kısayola sağ tıklayıp "Özellikler"i seçin.
  • "Target" yazan alanı şu şekilde değiştirin (Dosya yolunu kendi sisteminize göre değiştirin):

"C:\Program Files (x86)\ViewPLUS\bin\ServerEngine.exe" -dir "C:\Users\<User Name>\TestProjesi" -start

  • Sonra bu kısayolu "C:\Users\<User Name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" altına kopyalayın. Artık kullanıcı sisteme giriş yapınca sunucu otomatik olarak başlayacaktır.
  • OperatorClient kısayolunu da "C:\Users\<User Name>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" altına kopyalayarak açılışta otomatik başlaması sağlanabilir.


Linux Platformu

E-posta Sunucu Ayarları

E-posta, kullanıcı yöneticisinden "e-posta gönderme seçeneği" etkin olarak işaretlendiğinde alarm verildiğinde kullanıcıya gönderilebilir. Bunun için, e-posta yapılandırma ayarları sunucuda yapılmalıdır. Ayrıca kullanılacak smtp sunucusu "daha az güvenli uygulama erişimi" yapmasına izin vermelidir. E-posta sunucusu yapılandırma ayarlarının saklandığı "ServerEngine.ini" dosyasını aşağıdaki klasörde bulabilirsiniz:   <nowiki> C:\Users\<kullanıcı adı>\AppData\Roaming\Mikrodev\ScadaServer\<proje adı>\ServerEngine.ini</ nowiki> Bu dosyada, aşağıdaki değişkenlerin [SMTP] altında doğru şekilde ayarlanması gerekir:

[SMTP]

SMTP_user =<email kullanıcı adı>
SMTP_pwd=<email şifresi>
SMTP_host=<smtp sunucu adresi>
SMTP_port=<smtp sunucu portu>
SMTP_mailDelay=<Bir alarm durumu oluştuğunda e mail göndermeden once beklenmesi gereken süre (saniye cinsinden)>

Seçtiğiniz ayarları sınamak için bu programı kullanabilirsiniz.

Sunucu Runtime Oluşturma

Geliştirilen SCADA projesini farklı bir bilgisayarda ViewPLUS kurmadan da çalıştırabilirsiniz. Bunun için "Araçlar" menüsünden "Sunucu Dosyalarını Oluştur" u seçerek, proje ve sunucunun çalışması için gerek dosyaları bir klasör içerisinde toplayabilirsiniz. Bu klasörü taşıyarak, projenizi farklı sunucu makineleri üzerinde çalıştırmanız mümkündür.

Gelişmiş Ayarlar

log_server.txt:

Windows sistemlerde şu klasör içinde bulunur:
C:\Users\<username>\AppData\Roaming\Mikrodev\ScadaServer\<proje adı>

Sunucuya ait detaylı logların bulunduğu dosyadır

It is the file where the detailed server logs are found

log_serverstarter.txt :

Sunucu izleyici yazılımına ait logların bulunduğu dosyadır

OperatorClient.ini :

ServerEngine.ini:

Windows sistemlerde şu klasör içinde bulunur:  
C:\Users\<kullanıcı adı>\AppData\Mikrodev\ScadaServer\<proje adı>
 [Login]> ServerAdr: Veritabanı adresi

[Login]> DbName: Veritabanı adı

[Login]> DbUserName: Veritabanı kullanıcı adı

[Login]> DbPassword: Veritabanı şifresi

[Connection] > Port: Varsayılan sunucu portu 560 dır. Farklı bir port bu parametre değiştirilerek seçilebilir.

[Logging] > IsLogging: Veri loglama aktif/pasif yapılabilir(true/false)

[Logging] > IsLoggingDısconnections: Bağlantı kopmalarının loglanıp loglanmayacağı seçilebilir

[REDUNDANCY]> ServerMode: Yedekli çalışma modunu belirler. Bu değer PRIMARY ya da BACKUP olabilir. Bu mod backup olarak ayarlandığında, sunucu PRIMARY sunucu ile haberleşerek redundant bir yaı oluştururlar.
 
[REDUNDANCY]> PrimaryIP: BACKUP moddaki sunucunun bağlanacağı PRIMARY sunucu IP adresi bu alana yazılır.

[REDUNDANCY]> PrimaryPORT: BACKUP moddaki sunucunun bağlanacağı PRIMARY sunucunun port numarasıbu alana yazılır.

[REDUNDANCY]> Timeout: PRIMARY sunucunun ne kadar sürelik bir devredışı kalma durumunda BACKUP sunucunun aktif olacağını belirleyen saniye cinsinden değerdir.

Paralel Yedekli Çalışma Modu

ViewPLUS SCADA yazılımı birden fazla bilgisayardan oluşan bir sunucu kümesi üzerinde "Paralel Yedekli Mod" da çalışabilir. Bu sayede sunucu duruş süreleri en aza indirilebilir. Yedekli modun çalışacağı sunucular aynı yerel ağ üzerinde bulunmalıdır.


Kurulum Aşamaları

  • ViewPLUS bu modda çalışırken, her 2 sunucu da(PRIMARY, BACKUP) ağ üzerinden proje veritabanına ulaşabilir olmalıdır.
  • Aynı zamanda sunucu bilgisayarlarında proje dosyaları bulunmalı ve bunlar güncel(birbiri ile aynı) olmalıdır. Bu senkronizasyonu sağlamak için SVN gibi bir versiyon kontrol aracı kullanılabilir ya da dosyalar elle taşınabilir.
  • Yedek ve ana sunucunun haberleşebilmesi için ana sunucu bilgisayardaki 51313 nolu portun açık olması gerekmektedir. Güvenlik duvarı ayarlarında bu porta izin verilmiş olduğuna emin olunuz.
  • Sonraki aşamada birincil sunucu(PRIMARY) ve yedek sunucu(BACKUP) üzerindeki ScadaServer.ini dosyalarında şu konfigürasyon ayarlarının yapılmış olması gerekmektedir:

Birincil sunucu(PRIMARY):

[REDUNDANCY]
ServerMode=PRIMARY
PrimaryIP=192.168.2.201
PrimaryPORT=51314
Timeout=60
size=0

Yedek sunucu(BACKUP):

[REDUNDANCY]
ServerMode=BACKUP
PrimaryIP=192.168.2.201
PrimaryPORT=51314
Timeout=60
size=0

ServerMode: Yedekli çalışma modunu belirler. Bu değer PRIMARY ya da BACKUP olabilir. Bu mod BACKUP olarak ayarlandığında, sunucu PRIMARY sunucu ile haberleşerek redundant bir yapı oluştururlar. PrimaryIP: BACKUP moddaki sunucunun bağlanacağı PRIMARY sunucu IP adresi bu alana yazılır. PrimaryPORT: BACKUP moddaki sunucunun bağlanacağı PRIMARY sunucunun port numarasıbu alana yazılır. Timeout: PRIMARY sunucunun ne kadar sürelik bir devredışı kalma durumunda BACKUP sunucunun aktif olacağını belirleyen saniye cinsinden değerdir.

Örnekte birincil sunucu(PRIMARY) nun IP adresi "192.168.2.201" şeklinde sabit bir IP dir. Kurulacak sistemdeki birincil sunucunun IP adresi bu şekilde bir statik IP olmalıdır, DHCP sunucusundan IP alınmamalıdır. PrimaryPORT' ta ayarlanan port numarası güvenlik isterlerine göre farklı ayarlanabilir. Bu durumda her 2 konfigürasyon dosyasında da değişiklik yapılarak doğru port numarası girilmelidir.

Konfigürasyon işlemleri tamamlandıktan sonra önce birincil sonra yedek sunucular başlatılır. Bu andan itibaren yedek sunucu, birincil sunucuyu izleyerek, bir kapanma durumunda devreye girer ve çalışmaya başlar. Birincil sunucu tekrar devreye girdiğinde yedek sunucu tekrar izleme moduna geçerek kendini durduracaktır


Yedek sunucudaki Projenin Senkronlanması

Yedek sunucu çalışmaya başladığında, sunucu proje klasöründeki dosyaları kullanacaktır. Dolayısıyla bu dosyaların ana sunucudaki dosyalar ile senkron olmaması durumunda projenin eski bir versiyonu istemcilere gönderilecektir. Bu durumun oluşmaması için bir senkronizasyon mekanizması kurulmalıdır.

Proje dosyalarının daha önce anlatıldığı gibi SVN versiyon kontrol sunucusu üzerinde bulunduğunu varsayarak otomatik senkronizasyonu şu şekilde sağlayabilirsiniz

  • SVN senkronizasyonunu tetikleyecek bir batch script oluşturuyoruz. Bu örnekte dosyanın adı updateSvn.bat . Dosyanın içeriğini kendi sisteminizdeki dosya yollarına göre değiştirerek şu şekilde oluşturun:
CD D:\MIKRODEV\Projects\DepoProject
"C:\Program Files\TortoiseSVN\bin\svn.exe" update

Oluşturduğumuz bu script her çalıştığında proje klasörünü SVN sunucudaki ile eşitleyecektir.

  • Sonraki adımda bu scriptin belirli aralıklarla çalıtırlması konfigürasyonu yapılacak. Bunun için Windows'a ait "Görev Zamanlayıcı(Schedule Tasks)" aracı kullanacağız.

Sırasıyla aşağıdaki adımları izleyerek, senkronlama prosedürünün her 10 dakikada bir çalışması sağlanacak. Bu zaman aralığını istediğiniz şekilde konfigüre edebilirsiniz.

Task Scheduler

Create a new task

Timing Programming

Zamanlama ayarlarını yapın. Bu örnekte her 10 dakikada 1 kez çalışacak şekilde seçiyoruz.

Script Selection

Son olarak da oluşturduğunuz .bat dosyasını zamanlayıcı ile ilişkilendirin.

Zamanlayıcıyı onayladığınızda, yedek sunucu ana sunucudaki proje ile her 10 dakikada bir kendini senkronlayacaktır.