WINCC弹窗问题

我的项目有100多个母线的电流要做趋势图,我想建一个趋势画面,然后用一个按钮去调用这个趋势画面,并给趋势控件符不同的变量,这样我只做100个按钮就可以实现了,但是我用C脚本做的,只能弹出窗口,不能给趋势控件符变量值,具体见图,请各路大神指导

图片说明:

WINCC弹窗问题    WINCC弹窗问题   

最佳答案

建议你用vbs写吧,wincc的hlep里面有现成的例子代码可以参考,我贴给你

示例: 如何向 WinCC 线趋势控件添加元素 
简介 
在下面的示例中,将趋势和设定值趋势添加到了空的 WinCC 在线趋势控件。为趋势窗口中的趋势添加了时间轴和数值轴。 
要求
已在图形编辑器中将名为“Control2”的“WinCC 在线趋势控件”插入到过程画面中。
已在图形编辑器中插入按钮。已使用 VBS 动作和以下脚本为按钮等组态了“鼠标单击”事件。

''VBS352 
Dim objTrendControl
Dim objTrendWindow
Dim objTimeAxis
Dim objValueAxis
Dim objTrend
''tags used to generate trend data
Dim dtCurrent
Dim dblCurrent
Dim lIndex
Dim vValues(360)
Dim vTimeStamps(360)
''create reference to TrendControl
Set objTrendControl = ScreenItems("Control2")
''---- reference trend ----
''create reference to new window, time and value axis
Set objTrendWindow = objTrendControl.GetTrendWindowCollection.AddItem("myWindow")
Set objTimeAxis = objTrendControl.GetTimeAxisCollection.AddItem("myRefTimeAxis")
Set objValueAxis = objTrendControl.GetValueAxisCollection.AddItem("myRefValueAxis")
''assign time and value axis to the window
objTimeAxis.TrendWindow = objTrendWindow.Name
objTimeAxis.ShowDate = False
objValueAxis.TrendWindow = objTrendWindow.Name
''add trend and assign propertys
Set objTrend = objTrendControl.GetTrendCollection.AddItem("myRefTrend")
objTrend.Provider = 0
objTrend.Color = RGB(0,0,0)
objTrend.TrendWindow = objTrendWindow.Name
objTrend.TimeAxis = objTimeAxis.Name
objTrend.ValueAxis = objValueAxis.Name
''generate values for reference trend
dtCurrent = CDate("23.11.2006 00:00:00")
For lIndex = 0 To 360
vValues(lIndex) = ( Sin(dblCurrent) * 60 ) + 60
vTimeStamps(lIndex) = dtCurrent
dblCurrent = dblCurrent + 0.105
dtCurrent = dtCurrent + CDate ("00:00:01")
Next
''insert data to the reference trend
objTrend.RemoveData
objTrend.InsertData vTimeStamps, vValues
''---- data trend ----
''add time and value axis to the existing window
Set objTimeAxis = objTrendControl.GetTimeAxisCollection.AddItem("myTimeAxis")
Set objValueAxis = objTrendControl.GetValueAxisCollection.AddItem("myValueAxis")
''assign time and value axis to the window
objTimeAxis.TrendWindow = objTrendWindow.Name
objTimeAxis.ShowDate = False
objValueAxis.TrendWindow = objTrendWindow.Name
''add new trend and assign properties
Set objTrend = objTrendControl.GetTrendCollection.AddItem("myTrend")
objTrend.Provider = 0
objTrend.Color = RGB(255,200,0)
objTrend.Fill = True
objTrend.TrendWindow = objTrendWindow.Name
objTrend.TimeAxis = objTimeAxis.Name
objTrend.ValueAxis = objValueAxis.Name
''generate values for data trend
dtCurrent = CDate("23.11.2006 00:00:00")
For lIndex = 0 To 360
vValues(lIndex) = ( Sin(dblCurrent) * 60 ) + 60
vTimeStamps(lIndex) = dtCurrent
dblCurrent = dblCurrent + 0.106
dtCurrent = dtCurrent + CDate ("00:00:01")
Next
''insert values to the data trend
objTrend.RemoveData
objTrend.InsertData vValues, vTimeStamps

提问者对于答案的评价:
谢谢,解决了,曲线的指向不对,吧Index改成TrendIndex就可以了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc319102.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:55
下一篇 2020年11月1日 下午4:55

相关推荐

  • wincc 7.0 怎么变回中文版

    前今天安装完WINCC7,0中文版后打开过一个项目菜单都是中文版的,今天打开了一个别的项目 菜单就变成英文版了 怎么也切不回去 求帮助 最佳答案 你说…

    SIMATIC WinCC 2017年11月26日
  • modbus tcp

    modbus tcp通讯,用wincc上位做客服端1200CPU做服务器可以通讯吗? 最佳答案 必须wincc7.0以上版本才支持modbus tcp通讯. 提…

    SIMATIC WinCC 2021年7月5日
  • WINCC报警问题1111111

    1、如图我想用确认变量来实现确认报警。无论怎么改变确认变量的值,都不能确认。还只能点报警控件的“确认”。怎么回事? 问题补充:开关量,16位无符号,都试了,0 &nbsp…

    2017年6月3日
  • wincc can not use

    软件工程一直正常使用的,最近出现授权过期提示。授权名称: SIFLA9WRC40700授权描述:wincc runtime+configuration&nbsp…

    2021年7月5日
  • 博途V12能升级到V13吗,怎么升级啊

    博途V12能升级到V13吗,怎么升级啊 问题补充:请问哪里可以下载V13啊 最佳答案 你需要下载V13的软件并安装,V12不能直接升级到V13。现在软件的最新版本是博途V13&nb…

    SIMATIC WinCC 2017年7月25日
  • 语言切换按钮图标的显示

    我做了个按钮作为语言切换,默认是中文,按下图标后切换为英文;如图1所示,按钮“未按下”时是英国国旗图标,按钮“按下”时选的中国国旗图标。如图2所示,事件我选的是“单击”和“语言切换…

    2021年7月5日
  • flexible 2008 中复选框使用?

    如何实现复选框功能?看了帮助需要下载全局库中有该模块,但是有找不到全局库下载? 最佳答案 复选框可以自己做,按钮交替位输出不就可以实现吗?全局库中有该模块?初次听说哟! 提问者对于…

    SIMATIC WinCC 2021年7月5日
  • @CurrentUser 在服务器登陆时显示,但在客户机登陆时不显示

    2台服务器,相互冗余,画面添加I/O域@CurrentUser显示当前用户,当在服务器登陆时,当前用户名能显示在画面上,但在客户机按F1登陆后,能进行相关授权操作,但画面上不显示当…

    SIMATIC WinCC 2019年6月11日
  • wincc如何跟第三方数据库(比如mysql)进行数据的交互

    我们公司现在做一个项目,,不肯用sql server 2008 R2数据库,,,只能用mysql数据库,我想问一下,,,如何使wincc跟mysql数…

    SIMATIC WinCC 2017年6月7日
  • 这个触摸屏6AV6 642-0DC01-1AX1应该用什么软件组态

    6AV6 642-0DC01-1AX1应该用哪个组态软件哪个版本 图片说明:    钻石用户推荐最佳答案 产品支持有说明。组态工具 2005…

    2021年7月5日