技术论坛

 WinCC 在线趋势控件的动态化 VBS

返回主题列表
作者 主题
iZhouSai
侠士

经验值:1404
发帖数:42
精华帖:8
楼主    2021-06-08 20:55:09
主题:WinCC 在线趋势控件的动态化 VBS 精华帖 

解决因趋势过多而需要建立过多的画面,现通过按钮的触发事件,可以做到通过若干个按钮切换任意趋势曲线;



'动态化时间轴

Dim ctrl,objTimeAxis

'获取对象

Set ctrl = ScreenItems("f(t) 趋势视图_1")

Set objTimeAxis = ctrl.GetTimeAxis(0)

'objTimeAxis.Label = "Time axis 2"

'定义显示日期的格式

objTimeAxis.DateFormat = "dd.MM.yy"

'定义显示时间的格式

objTimeAxis.TimeFormat = "HH:mm:ss"

'0 时间范围 指定时间列的开始时间和时间范围。

'1 结束时间 指定时间列的开始时间和结束时间。

'2 测量点 定义时间列的开始时间和测量点数量。

objTimeAxis.RangeType = 0

'The format to be used for date and time entries depends on the

'regional settings and language options in the operating system.

Dim endDate,beginDate,beginTime,endTime

'当前时间减去一小时

beginDate = DateAdd("h", -1, Now)

'当前时间

endDate = Now

beginTime = Year(beginDate) & "/" & Month(beginDate) & "/" & Day(beginDate) & " " & Hour(beginDate)&":00:00"

endTime = Year(endDate) & "/" & Month(endDate) & "/" & Day(endDate) & " " & Hour(endDate)&":"& Minute(endDate) &":"& Second(endDate)

'开始时间

objTimeAxis.BeginTime = beginTime

'时间范围的基数

objTimeAxis.TimeRangeBase = 3600000

'时间范围时间因数

objTimeAxis.TimeRangeFactor = 1

'结束时间,依据电脑定格式

'objTimeAxis.EndTime =  endTime

 '"06.04.2010 9:33:18"

'起始时间,依据电脑定格式

'objTimeAxis.BeginTime = "04/06/2010 9:33:18"

'测量点数

'objTimeAxis.MeasurePoints = 100

    


'动态化值轴和趋势变量

Dim ObjCtrl,ObjValueAxis

Set ObjCtrl = ScreenItems.Item("f(t) 趋势视图_1")

Set ObjValueAxis = ObjCtrl.GetValueAxis(0)

'取消自动值轴

ObjValueAxis.AutoRange = False

'起始值

ObjValueAxis.BeginValue = 0

'结束值

ObjValueAxis.EndValue = 400

'值轴的标签

ObjValueAxis.Label= "摄氏度"

'趋势的索引

ObjCtrl.TrendIndex = 0 

'定义趋势连接的变量

ObjCtrl.TrendTagName = "数据记录_1记录变量_1"

    

基于没有配图的因素,现上传测试项目

                

Test_20210609_2013.zip


我的梦想 世界和平;上帝:??? 改变小企业行业现状;工控大佬:???
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。