Bu yazımızda scada scriptleri ile scada sayfasına direkt erişim sağlayacağız. Versiyon 5.3.3 ve üzeri için geçerlidir.

Yeni version ile scada scriptlerine eklenen “Public ScadaScreen As Object” nesne scada sayfasının tüm özelliklerine erişmemizi sağlar. Bu nesne ilk olarak “Load” program bölümünün hemen üzerinde oluşturulmalıdır. İkinci olarak erişmek istediğimiz scada sayfasına eşleşmesi gereklidir. Bu eşleşme yapılabilmesi için iki adet paremetreye ihtiyaç vardır.

ScadaScreen.Name(“Sayfa Adı”,Parametre)

Sayfa adı: Eşleşmek istenilen sayfanın adı.

Parametre: Aynı scada sayfası iki farklı şekilde açık olabilir. 1.Normal scada sayfası 2.Web server için açılmış fakat ekranda gözükmeyen scada sayfası. Parametre alanına “Web” yazarsak web server tarafından açılan sayfaya eşleşme sağlanacaktır. Boş bıraktığımızda normal scada sayfasına eşleşme yapılır.

Dim Ekran as object = ScadaScreen.Name(“Screen_1″,””)

Ekran ismindeki nesne “Screen_1” sayfasıdır. Eğer bu esnada Screen_1 açık değilse “Nothing” tanımsız olacaktır. Tanımsız olup olmadığını aşağıdaki kod ile test edebiliriz.

If Not Ekran is Nothing Then

‘Ekran bulundu

Else

‘Ekran açık değil

End If

Örneğin sayfanın yüksekliğini değiştirmek için “Ekran.Height = 100” kodunu kullanabiliriz. Aynı işlemi nesne oluşturmadan da yapabiliriz.

ScadaScreen.Name(“Screen_1″,””).Height = 100

Bunun gibi sayfanın binlerce özelliğine erişilebilir. Dat Net formunun özellikleri hakkında internet’de arama yaparsanız bu özelliklerin daha fazlasını bulabilirsiniz.

Aşağıdaki Scada sayfasına Zoom yapan script’i paylaşıyorum. Zira Zoom dat net formunun bir özelliği değildir. Bu özellik bizim tarafımızdan eklenmiştir. Zoom isimli sizin oluşturacağınız bir Tag ile Zoom In veya Zoom Out yapabilirsiniz. Zoom Tag’ı 1,1 değerine sahip olduğunda ekran %10 Zoom In yapar, 2 olduğunda ise 2 kat büyür. Birin altında 0,9 olduğunda %10 küçülür. 0,5 olduğunda yarı yarıya küçülür.

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Namespace WinTr

Public Class MainClass

Public Zoom As Single

Public ScadaScreen As Object

Public Sub Load

Try

ScadaScreen.Zoom(“Screen_1″,””) = Zoom

Catch ex As Exception

MessageBox.Show(Ex.ToString,Ex.Message)

End Try

End Sub

End Class

End Namespace

Zoom In ve Zoom Out ile orijinal boyutunu değiştirdiğimiz ekranı orijinal boyutuna almak için aşağıdaki kodu kullanabiliriz. “NaN” sayısını zoom fonksiyonuna göndererek orijinal boyuta döneriz.

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Namespace WinTr

Public Class MainClass

Public ScadaScreen As Object

Public Sub Load

Try

ScadaScreen.Zoom(“Screen_1″,””) = Double.NaN

Catch ex As Exception

MessageBox.Show(Ex.ToString,Ex.Message)

End Try

End Sub

End Class

End Namespace

Ekranı belli bir lokasyona taşımak için aşağıdaki kodu kullanabilirsiniz.

Dim Loc as System.Drawing.Point

Loc.X = 0

Loc.Y = 500

ScadaScreen.Name(“Screen_1″,””).Location = Loc

Veya Top, Left fonksiyonları ile aynı işlem yapılabilir.

ScadaScreen.Name(“Screen_1″,””).Top = 500

ScadaScreen.Name(“Screen_1″,””).Left = 0

Veya en doğrusu aşağıdaki gibi yazabiliriz.

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Namespace WinTr

Public Class MainClass

Public Zoom As Single

Public ScadaScreen As Object

Public Sub Load

Try

Dim Ekran as object = ScadaScreen.Name(“Screen_1″,””)

if Not Ekran is Nothing Then

Ekran.Top = 500

Ekran.Left = 0

End If

Catch ex As Exception

MessageBox.Show(Ex.ToString,Ex.Message)

End Try

End Sub

End Class

End Namespace

Ekran lokasyonu veya boyutu ile ilgili işlem yapmak istediğimizde, Scada control panelinden “Full Screen Mod” kapatılmalıdır. Script içersinde ful screen modu kapatmak için aşağıdaki kodu kullanabilirsiniz.

Ekran.WindowState = FormWindowState.Normal ‘Sayfayı boyutlandırabilmek için

Ekran.WindowState = FormWindowState.Maximized ‘Full screen Mode

 

Ekran.WindowState = FormWindowState.Minimized ‘Taskbara indirmek için