搬家第45天-WinccV7.5运行时在外部设定趋势控件的时间轴跨度

今天在西门子技术微信讨论群里面有人询问如何实现在运行时通过外部控件设定趋势空间时间轴的跨度,我尝试着自己做了一下,还是比较简单的。

新建一个页面,放入onlineTrend控件,控件名字叫做ctrltrend,放一个文本框控件,名字叫做ctrltxt,放一个combobox控件,名字叫做cb,放一个按钮。

页面的打开事件放入一下vbs脚本

Sub OnOpen() 

Dim combox

Set combox=ScreenItems("cb")

combox.Clear

combox.AddItem "500毫秒"

combox.AddItem "1秒"

combox.AddItem "1分钟"

combox.AddItem "1小时"

combox.AddItem "1天"

End Sub

页面上按钮的鼠标点击事件放入以下vbs脚本

Sub OnClick(ByVal Item) 

Dim ctrltxt,ctrltrend,ctrlcb

Dim TimeRangFactor,TimeRangBase

Dim mylistindex

Set ctrltxt=ScreenItems("ctrltxt")

Set ctrltrend=ScreenItems("ctrltrend")

Set ctrlcb=ScreenItems("cb")

If ctrlcb.Text ="500毫秒" Then

ctrltrend.TimeAxisTimeRangeBase=500

End If

If ctrlcb.Text ="1秒" Then

ctrltrend.TimeAxisTimeRangeBase=1000

End If

If ctrlcb.Text ="1分钟" Then

ctrltrend.TimeAxisTimeRangeBase=60000

End If

If ctrlcb.Text ="1小时" Then

ctrltrend.TimeAxisTimeRangeBase=3600000

End If

If ctrlcb.Text ="1天" Then

ctrltrend.TimeAxisTimeRangeBase=86400000

End If

If (ctrltxt.Text="") Or  (Not IsNumeric(ctrltxt.Text)) Then

Msgbox "请输入数字"

Else If ctrlcb.Text="" Then

Msgbox "请选择周期"

Else

ctrltrend.TimeAxisTimeRangeFactor =ctrltxt.Text

End If

End If

End Sub

保存、编译、运行,就能看到效果了。这个功能的关键是搞清楚combobox控件和趋势控件属性的设置。

posted @ 2021-03-14 13:58  来自金沙江的小鱼  阅读(1182)  评论(0编辑  收藏  举报