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

·
2025-07-05 13:13:49

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