Scada programında zamanlanmış görevler için Schedule fonksiyonu kullanılır. Bu fonksiyonda belirlenmiş zamanlarda belirlenmiş görevler çalıştırılır. Bazı durumlarda ise gecikme ve zamanlayıcılara  ihtiyaç duyarız. Script ile bu nasıl yapılacağını bir kaç örnek ile anlatıcım.

İlk olarak Sleep komutu neden kullanılmaz. Bu komut komutu çalıştıran uygulamanın donmasını gerektirir. Script çalışma yöntemini Asenkron olarak ayarlayıp kullanırsanız script donar fakat scada donmaz. Sleep zamanı dolmadan aynı script tekrar çalıştırılmamalıdır.

Daha doğru yöntemler:

Bu yöntemlerde script control panelinde “Time based” olarak seçilmeli ve belirlenen periyotta çalışmalıdır.

Zaman karşılaştırması: Aşağıdaki script örneğinde Tag_2 değeri 1 olduğunda zamanlayıcı kurulur. Tag_4 tagına şimdiki zamandan 100 saniye sonrası kaydedilir. Zaman dolduğunda Tag_2 0 yapılarak işlem sonlandırılır.

Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic

Namespace WinTr
Public Class MainClass
Public Tag_2 As UInt16
Public Tag_4 As DateTime
Public Sub Load
if Tag_2 = 1 Then
Tag_4 = Now.AddSeconds(100)
Tag_2 = 2
Else Tag_2 = 2 Then
if Tag_4 < Now Then
‘Süre dolduğunda yapmak istediğiniz işleri burada yazınız.

Tag_2 = 0
End If
End If
End Sub
End Class
End Namespace

Sayma yöntemi: Script belli periyotta bir çalışır. Bundan faydalanarak sayma işlemi ile istediğiniz gecikmeyi sağlayabilirsiniz.

Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic

Namespace WinTr
Public Class MainClass
Public Tag_3 As UInt16
Public Tag_2 As UInt16
Public Sub Load
if Tag_2 = 1 Then
Tag_3 = 100
Tag_2 = 2
Else if Tag_2 = 2 Then
Tag_3 -= 1
if Tag_3 = 0 Then
‘Süre dolduğunda yapmak istediğiniz işleri burada yazınız.

Tag_2 = 0
End If
End If
End Sub
End Class
End Namespace