Script ile Sayfa Açma
Script ile açık olan scada sayfası okunabilir ve yazılabilir. Eğer scada sayfa ismini değiştirirseniz otomatik olarak ilgili sayfa açılacaktır. bu işlem için ScreenName değişkenini kullanabilirsiniz.
Son açılan sayfanın ismini öğrenmek için aşağıdaki scripti kullanabilirsiniz.
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Namespace WinTr
Public Class MainClass
Public ScreenName as String
Public Sub Load
msgbox(ScreenName)
End Sub
End Class
End Namespace
Benzer bir script ile sayfa ismini değiştirerek farklı bir sayfa açılmasını sağlayabiliriz.
ScreenName = “Screen_2″
Aşağıdaki script’de ise sayfayı yeni pencerede açılır.
ScreenName = “Screen_2\NewWindow”
Aşağıdaki script’de ise sayfa yeni pencere olarak ve tüm altdaki sayfalara erişimi engelleyerek açılır.
ScreenName = “Screen_2\Dialog”
Sayfayı kapatmak için “Exit Screen” komutunu kullanabilirsiniz. Eğer başka açık pencere yok ise runtime kapatılacaktır.
ScreenName = “Exit Screen”
Login sayfasını script ile çağırmak için “Login” komutunu kullanabilirsiniz.
ScreenName = “Login”
Bir önceki sayfaya dönmek için “Previous Screen” komutunu kullanabilirsiniz.
ScreenName = “Previous Screen”
Scadayı tamamen kapatmak için “ShutDown” komutunu kullanabilirsiniz.
ScreenName = “ShutDown”
Was this answer helpful?
LikeDislikeSalih bey merhaba; Bildiğim kadarıyla sayfa geçişlerini bir taga bağlayamıyor bunun yerine script yazıyorduk. Sorum şu:
Scada ekranında üç adet sayfa her biri ekranda 10 sn kalacak şekilde sürekli değişmesi isteniyor. 1. sayfa 10sn, sonra 1 kapanıp 2. sayfa 10 sn sonra 2 kapanıp 3. sayfa 10 saniye ve tekrar 1. sayfa… halka şeklinde sürekli değişecek.
Script ile her 10 saniyede yeni sayfa açıyorum fakat önceki sayfayı kapa dersem script çalıştırdığım ana sayfada kapanıyor.
Aynı anda iki sayfa açık ise ben zamanı geldiğinde bu sayfalardan sadece bir tanesini nasıl kapatırım.
İyi çalışmalar dilerim.
Was this answer helpful?
LikeDislikeScreenName = “Exit Screen” bu komut hangi sayfada çalışırsa o kapanır. Eğer ana sayfada çalışırsa anasayfa, popup olarak açılan sayfada çalışırsa popup sayfa kapanır.
ScreenName tag’ına aynı script içersinde bir değer yazılabilir. Bir sayfayı kapatıp başka bir sayfayı açmak için bu değişkene önce “Exit Screen” sonra Açılacak sayfanın ismi yüklenmelidir. Fakat bu değişkene yazılan son değer aktif olcaktır. Bu şekli ile bunu başaramayız. Ama bunu başarmanın dolaylı yolları da olabilir.
Öncelikle 3 farklı sayfa açıp kapatmak yerine üç sayfayı da aynı sayfa içinde yapabilirsiniz. Nesneleri groupbox içersinde toplayıp groupbox’ın visible özelliği ile görünmez yapabilirsiniz. Bu sayfada çalışan bir tag’a sıraylar 1,2,3, sayıları yazar. Her groupbox’ı belli bir sayıda gözükecek şekilde konfigüre edebilirsiniz. Tab control nesnesi ile yapabilirsiniz. index tag’ının değerine göre tab page’ler arasında otomatik gezer.
Bunların hiçbiri olmaz illede ayrı sayfalar yapmalıyım diyorsanız, bu da mümkün.
1.Ana sayfadan ScreenName = “Screen_2\NewWindow” komutu ile Screen_2’yi popup olarak açın.
2. Screen_2’de bu script çalışsın:
If Tag_1 < 1000 Then
Tag_1 + 1
Else If Tag_1 < 1001 Then
ScreenName = "Screen_3\NewWindow"
Else
Tag_1 = 0
ScreenName = "Exit Screen"
End If
3. Screen_3'de bu script çalışsın:
If Tag_2 < 1000 Then
Tag_2 + 1
Else If Tag_2 < 1001 Then
ScreenName = "Screen_4\NewWindow"
Else
Tag_2 = 0
ScreenName = "Exit Screen"
End If
4. Screen_4'de bu script çalışsın:
If Tag_3 < 1000 Then
Tag_3 + 1
Else If Tag_3 < 1001 Then
ScreenName = "Screen_2\NewWindow"
Else
Tag_3 = 0
ScreenName = "Exit Screen"
End If
5. Görüldüğü gibi bu script ilk önce yeni sayfayı açıyor, bir sonraki saykılda kendisini kapatıyor. Bu işlemin hissettirmeden olması için Sayfa refresh zamanlarını 10 milisaniye yapın. Böyle olduğunda script 10 mili saniyede bir defa çalışıp Tag_1 değerini bir artırıcak. 10 saniye için script 1000 defa çalışması gerekecek.
Kolay gelsin