解决因趋势过多而需要建立过多的画面,现通过按钮的触发事件,可以做到通过若干个按钮切换任意趋势曲线;
'动态化时间轴
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