WinCC 使用VBS脚本操作变量、控件总结

WinCC的VBS脚本,变量的读写不用定义变量类型。

自读自写

Dim objvar
Set objvar = HMIRuntime.Tags('WinCC_Tag')
objvar.Read
objvar.Value = objvar.Value + 1
objvar.Write

写入变量WinCC_Tag数值100

方法一

HMIRuntime.Tags('WinCC_Tag').Write 100

方法二

Dim objvar 
Set objvar = HMIRuntime.Tags('WinCC_Tag')
objvar .Write 100

获取控件

全局函数形式

Dim obj
'有画面窗口
Set obj = HMIRuntime.Screens("画面.画面窗口:趋势画面").ScreenItems("控件")
'无画面窗口
Set obj = HMIRuntime.Screens("画面").ScreenItems("控件")

当前画面形式

Dim obj
Set obj = ScreenItems("控件")

通过“obj.属性”来获取控件相关属性,例如:“obj.Value”、“obj.Text”、“obj.Iterm(i).Value”等等。

调试

MsgBox obj, vbOK, "提示"
MsgBox obj.Value, vbOK, "提示"
MsgBox obj.Text, vbOK, "提示"
Sub OnClick(Byval Item)                     
Dim obj
Dim CurrentTime
Dim m
Set obj = ScreenItems(".NET 控件5")
'Call obj.AddSource("",12)
'CurrentTime=Hour(Now)&":"&Minute(Now)&":"&Second(Now)
CurrentTime=Minute(Now)&":"&Second(Now)
'm = "当前时间"& CurrentTime 
'msgbox m
Call obj.AddSource(CurrentTime,12)
'MsgBox obj.WaveWidth, vbOK, "提示"
'MsgBox obj.AddSource(), vbOK, "提示" 'max(12.5,16)
'MsgBox obj.AddSource("",12), vbOK, "提示" 'max(12.5,16)

End Sub
Option Explicit
Function action
Dim obj
Dim CurrentTime
Dim m
Set obj = HMIRuntime.Screens("A Math Model.画面窗口8:数据统计").ScreenItems(".NET 控件t1")
'Call obj.AddSource("",12)
'CurrentTime=Hour(Now)&":"&Minute(Now)&":"&Second(Now)
'CurrentTime=Minute(Now)&":"&Second(Now)
CurrentTime=Hour(Now)&":"&Minute(Now)
'm = "当前时间"& CurrentTime 
'Msgbox obj


Call obj.AddSource(CurrentTime,50)
'Call obj.AddSource("",50)

'MsgBox obj.WaveWidth, vbOK, "提示"
'MsgBox obj.AddSource(), vbOK, "提示" 'max(12.5,16)
'MsgBox obj.AddSource("",12), vbOK, "提示" 'max(12.5,16)
End Function

注意

有一些自定义控件WinCC可能识别不出来属性,通过MsgBox 调试可以显示出来。

调用过程(sub)时,有两种写法vb的特点:
1.fun name,0,“hai” '不要加括号 ;
2.call fun(name,0,“hai”) '加上call关键字。
因为fun函数有返回值 而没有变量收它的返回值,所以会报错,解决方法如上,要么不加括号,要么加上call关键字。
参考网址:https://www.cnblogs.com/lonelyshy/p/12706320.html

获取当前日期方法一:
Currentdate1=date() msgbox Currentdate1
获取当前日期方法二:

Currentdate2=year(Now)&“-”&Month(Now)&“-”&day(Now) msgbox Currentdate2
获取当前时间:

CurrentTime=Hour(Now)&“:”&Minute(Now)&“:”&Second(Now)
m = “当前时间”& CurrentTime msgbox m
参考网址:https://www.gxlcms.com/JavaScript-236409.html

你可能感兴趣的:(WinCC,WinCC,VB脚本)