Script ile Sayfa Öz Niteliklerine Erişim
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
Community Answers
Trackbacks/Pingbacks