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日
下一篇 2020年11月1日

相关推荐

  • 触摸屏密码不知道

    TP触摸屏的用户密码不知道,里面的参数不能调,也没有画面程序,有不有办法恢复出厂密码,谢谢! 最佳答案 1200恢复出厂设置http://www.diangon.com/wenku…

    SIMATIC WinCC 2017年11月12日
  • 关于WinCC VWinCC V6.0中 的VBScript

    不懂WinCC  V6.0中 的VBScript脚本语言,现需要Microsoft Press 出版的<step …

    SIMATIC WinCC 2019年6月11日
  • WINCC直接读取仪表的温度值(大约40个字),如何把这些变量写到300PLC中!

    WINCC直接读取仪表的温度值(大约40个字),如何把这些变量写到300PLC中!(就是外部设备的一些模拟量直接和WINCC通讯了没有经过PLC,现在PLC要用到这些数据!请各位大…

    SIMATIC WinCC 2019年6月11日
  • WINCC客户机权限管理

    现在一个CS结构的系统 需要在工程师站上管理全部的用户跟密码 各个客户机以不同的用户密码跟服务器连接 具有不同的画面和操作权限 请各位前辈们…

    SIMATIC WinCC 2019年6月11日
  • WINCC 数据查询

    怎么用C语言代码实现历史数据查询,并能修改所查询的数据。 最佳答案 1、历史数据如果指得是变量归档和报警归档,需通过WinCCOleDb Provider驱动,使用&qu…

    SIMATIC WinCC 2019年6月11日
  • 如何组态模拟量报警?

    有个压力值要求低于1公斤或者高于5公斤报警,在WINCC里如何组态? 最佳答案 1.在动态值范围窗口,表达式/公式里面输入:“压力变量”<0.1数据类型:直接就可以做为下限报…

    SIMATIC WinCC 2018年12月6日
  • 风机动画

    请问高手在WINCC中如何制作三页风机的动画。并且请问哪有专门的WINCC论坛我想加入。 最佳答案 1.在WINCC空间里找找看有没有合适的。或者有几个搅拌机画面叠加交替显示来实现…

    SIMATIC WinCC 2019年6月11日
  • wincc读写比较bool位

    我初入wincc,现在有三个问题请各大哥协助;PLC有两个DB块,DB1.0后16个位用来控制16个二位阀门开,DB2.0的16个位用来反馈16阀的状态。我建了两个16位变量:阀门…

    SIMATIC WinCC 2021年7月5日
  • 启动问题

    每次启动都显示“激活-CC_myproject”,接着就是说“取消激活-CC_myproject”。是什么情况? 最佳答案 WinCC——0002项目的激活与取消激活项目的激活与取…

    SIMATIC WinCC 2017年6月29日
  • wincc客户机 opc通讯

    C/S架构中,第三方软件可以和客户机之间建立OPC通讯并读取数据吗? 最佳答案 可以,但是只能这台客户机看到数据,其它的不能。建议,服务器与第三方通讯。 提问者对于答案的评价:谢谢

    SIMATIC WinCC 2021年7月5日