Script içerisinde alt fonksiyonların kullanımı:

Fonksiyonlar tag değerlerine bağlı olarak belli zamanlarda devreye sokulup belli zamanlarda devreden çıkartılabilir. Bazı fonksiyonlar değer döndürür bazıları ise çalışmadan önce bazı değerler alır. Tüm bu işlemleri açıklayacağımız örnek kodumuz aşağıdadır.

Imports System

Imports System.IO

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Namespace WinTr

Public Class MainClass

Public Tag_1 AsUInt16

Public Tag_2 AsUInt16

Public Tag_3 AsUInt16

Public Tag_4 AsUInt16

Public Tag_5 AsUInt16

Public Sub Load

if Tag_1 = 1 Then Sub_1

if Tag_2 = 1 Then Sub_2

if Tag_3 = 1 Then Sub_3(Tag_3)

if Tag_4 = 1 Then Tag_5 = Fonksiyon_1(Tag_4)

End Sub

Sub Sub_1

Tag_1 = 0

End Sub

Sub Sub_2

Tag_2 = 0

End Sub

Sub Sub_3(Byval Value asUint16)

Tag_3 = Value + 1

End Sub

Function Fonksiyon_1(Byval Value asUint16)

Return Value + 1

End Function

End Class

End Namespace

Yukarıda kod’da “Public Sub Load” program bölümü içersinde alt programlar çağrılır. Tag_1 değişkenini 1 olduğunda Sub_1 alt programı çalıştırılır. Örneğin animasyon işleminde Tag_1 motor çalıştı sinyali olsun. Motor çalıştı sinyali geldiğinde animasyon için çalıştıracağımız alt program Sub_1 içersinde çalışacaktır. Motor durduğunda ise bu alt program çalışmayacaktır.

Sub_3 ise çalışmaya başlamadan önce değer yüklenmesi gereken bir alt programdır. Sub_3 oluşturulurken parantez içerisine “Byval Value as Uint16” ifadesi ile değer gerektirdiği belirtilmiştir. Parentez içersinde virgül ile ayırarak bir çok değer gereksinimi oluşturulabilir.

Fonksiyon_1 ise değer gereksiniminin yanı sıra fonksiyonun çağrıldığı yere değer döndürür. Return parametresi ile fonksiyon içersinde bulunan değer bu fonksiyonu çağıran Tag_5’e aktarılır. Fonksiyonlar script kodunuzu küçültmek ve tekrarlanan işlemleri daha hızlı yapmak için çok kullanışlı araçlardır. İç içe bir çok fonksiyon çağrılabilir.

Fonksiyon içersinden fonksiyon çağırma:

Function Fonksiyon_1(Byval Value as Uint16)

Return Value + 1

End Function

Yukarıdaki fonksiyonumuz kendisine bildirilen Value değişkenini bir artırır ve sonuç olarak döndürür. Bu fonksiyonu aşağıdaki gibi kullanırsak iki artırır.

Tag_5 = Fonksiyon_1(Fonksiyon_1(Tag_5))

Benzer şekilde bir çok fonksiyon iç içe çalıştırılabilir.