作者 | 主题 |
---|---|
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"
基于没有配图的因素,现上传测试项目
我的梦想
世界和平;上帝:???
改变小企业行业现状;工控大佬:???
|