07-WinCC VBS在WinCC中常用實(shí)例及函數(shù)的用法介紹<一>
1、訪問(wèn)圖形編輯器中的對(duì)象——ScreenItems
用法:
dim obj
set obj=Screenitems([圖形對(duì)象名稱])
注意:圖形對(duì)象名稱即在圖形編輯器中的按鈕、圓、矩形、線、IO域、靜態(tài)文本等圖形對(duì)象的對(duì)象名稱,該對(duì)象名稱可以是直接寫入對(duì)象名稱,也可以使用字符串進(jìn)行替代。
例如,在一個(gè)畫面中,有十個(gè)圓形,其對(duì)象名稱分別為“C1”、"C2"。。。"C10",如果逐個(gè)進(jìn)行對(duì)象創(chuàng)建比較麻煩,這個(gè)時(shí)候就可以根據(jù)實(shí)際需要進(jìn)行篩選,如通過(guò)一個(gè)循環(huán),批量的對(duì)對(duì)象的半徑進(jìn)行修改,設(shè)定全部半徑為20.
dim i,obj for i=1 to 10 set obj=ScreenItems("C"+Cstr(i)) obj.Radius=20 next set obj=nothing
2、Screens的用法
Screens主要是對(duì)畫面窗口的操作,可以通過(guò)Screens在當(dāng)前畫面中直接對(duì)其他不同路徑中的畫面窗口中的對(duì)象進(jìn)行操作。
如在一個(gè)畫面中,按下一個(gè)按鈕后,想讓Start畫面中的一個(gè)名為“EXIT”的窗口顯示出來(lái)就可以使用一下代碼實(shí)現(xiàn)。
Dim objGroup Set objGroup = HMIRunTime.Screens("Start").ScreenItems("EXIT") objGroup.Visible =true
詳細(xì)見該博文:WinCC中如何通過(guò)VBS對(duì)不同路徑的多層嵌套的控件進(jìn)行操作 - 老邁克 - 博客園
3、WinCC系統(tǒng)禁用
該指令較為簡(jiǎn)單,可以配合彈窗使用,二次確認(rèn)是否需要進(jìn)行系統(tǒng)禁用或者取消激活。
用法:直接使用 hmiruntime.stop
dim con con=MsgBox("按「確定」繼續(xù)執(zhí)行,按「取消」退出", vbOKCancel, "提示") If con= vbOK Then hmiruntime.stop End If
4、變量的操作
用法:hmiruntime.tags([變量名稱]),變量名稱可以直接使用變量名稱也可以使用字符串實(shí)現(xiàn)動(dòng)態(tài)操作。
'簡(jiǎn)單直接寫入變量值 HMIRuntime.Tags("Tag1").Write 6 '通過(guò)對(duì)象引入寫入變量值 Dim objTag Set objTag = HMIRuntime.Tags("Tag1") objTag.Write 7 '通過(guò)利用引用,可以在寫入之前使用變量對(duì)象。可以讀取變量值,進(jìn)行計(jì)算,并再次寫入: Dim objTag Set objTag = HMIRuntime.Tags("Tag1") objTag.Read objTag.Value = objTag.Value + 1 objTag.Write '簡(jiǎn)單讀取 HMIRuntime.Trace "Value: " & HMIRuntime.Tags("Tag1").Read & vbCrLf '通過(guò)利用引用可以使用變量對(duì)象。 可以讀取變量值,進(jìn)行計(jì)算,并再次寫入: Dim objTag Set objTag = HMIRuntime.Tags("Tag1") objTag.Read objTag.Value = objTag.Value + 1 objTag.Write '直接讀取 Dim objTag,TagVal Set objTag = HMIRuntime.Tags("Tag1") HMIRuntime.Trace "Value: " & objTag.Read(1) & vbCrLf
5、寫入對(duì)象屬性
可以通過(guò)1中的Screenitems對(duì)對(duì)象的屬性進(jìn)行動(dòng)態(tài)寫入:
'最簡(jiǎn)單的寫入,改變對(duì)象的背景色 ScreenItems("Rectangle1").BackColor = RGB(255,0,0) '通過(guò)引用設(shè)置屬性 Dim objRectangle Set objRectangle = ScreenItems("Rectangle1") objRectangle.BackColor = RGB(255,0,0) '通過(guò)畫面窗口設(shè)置屬性 '以下示例中,在從屬畫面窗口中更改矩形的顏色。 相應(yīng)腳本在畫面窗口“ScreenWindow1”所處的畫面“BaseScreen”中執(zhí)行。 此畫面窗口會(huì)顯示包含名稱為“Rectangle1”的“Rectangle”類型對(duì)象的畫面。 Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) Dim objRectangle Set objRectangle = ScreenItems("ScreenWindow1").Screen.ScreenItems("Rectangle1") objRectangle.BackColor = RGB(255,0,0) End Sub '通過(guò)基本畫面引用 '可通過(guò) HMIRuntime.Screens 引用具有待修改對(duì)象的畫面。該畫面相對(duì)于基本畫面的規(guī)范通過(guò)以下訪問(wèn)代碼進(jìn)行定義: ‘[<Grundbildname>.]<Bildfenstername>[:<Bildname>]... .<Bildfenstername>[:<Bildname>] ’在以下示例中,將創(chuàng)建對(duì)“Rectangle1”畫面中包含的“Screen2”對(duì)象的引用,并將背景顏色設(shè)置為紅色。 ‘這種情況下,畫面“Screen2”位于“Screen1”中。 “Screen1”顯示在基本畫面“BaseScreen”中。 Dim objRectangle Set objRectangle = HMIRuntime.Screens("BaseScreen.ScreenWindow1:Screen1.ScreenWindow1:Screen2").ScreenItems("Rectangle1") objRectangle.BackColor = RGB(255,0,0)
6、控件的動(dòng)態(tài)化
可以對(duì)趨勢(shì)、報(bào)警等控件進(jìn)行動(dòng)態(tài)操作,該內(nèi)容較多,后續(xù)分解介紹。
浙公網(wǎng)安備 33010602011771號(hào)