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 s7-200 实时时钟

    要在wincc中显示年/月/日/时/分/秒  1:  wincc中有没有这么一个控件能完成这个功能。2:  如果winc…

    SIMATIC WinCC 2017年8月3日
  • IO口字符输入

    在运行时IO口字符输入怎么实现换行? 问题补充:wincc的界面 最佳答案 io域好像不能换行 静态文本可通过shift+回车进行换行! 提问者对于答案的评价:可以换行

    SIMATIC WinCC 2019年6月11日
  • wincc7.3 列表框与数据库

    我想要打开画面后把数据库的内容传到列表框中用vb得怎么写? 问题补充:我想要一个vb编写的小例子,道理我也懂就是不会写语法 图片说明:     &nb…

    2021年7月5日
  • wincc step7 一台PC上,一次只能一个和PLC连接上

    硬件:CPU315 CP343一台PC上用以太网连接PLC,运行wincc和step7。但如果wincc连接上PLC那么step7就连不上了,如果step7连接上,win…

    SIMATIC WinCC 2021年7月5日
  • 图形编辑器里的图片显示为空白。

    项目从win5.1移植到win6.2后,里面的图形编辑器无法显示,阀之类的都是空白,然后又移植到win7.3,结果还是一样,求大神帮助。 问题补充:有图片,空白的,图片1,在win…

    2017年6月11日
  • 请问大侠们wincc变量的问题

    想问下各位wincc的变量存在哪个文件中 问题补充:看了一楼的回答,那变量应该是存在数据库类型的文件中了,我主要是想不通过导出导入的方法,直接把一个存储变量的文件考到另一个工程中直…

    SIMATIC WinCC 2019年6月11日
  • Wincc安装

    我装的是wincc6.2的版本,装完之后弹出的SIMATIC Security Control对话框中我选择了Accept按钮之后提示"An&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WinCC按钮指示灯

    刚字WinCC向各位请教, 1、如何在画面上做一个文本域,当所连变量动作后文本内容及背景颜色也作相应变化,如电机停止行显示“电机停止”,电机运行时显示“电机运行”,同时背…

    SIMATIC WinCC 2019年6月11日
  • 请问:如何在WinCC组态中加入一个BP神经网络算法?

    请问:如何在WinCC组态中加入一个BP神经网络算法?这个算法是用于故障诊断的,请问如何实现?本人初学,问的不专业的话请见谅!感谢! 问题补充:请问是不是通过C脚本来实现的?谢谢。…

    SIMATIC WinCC 2019年6月11日
  • WINCC OPC 地址格式怎么书写

    采用OPC通信,OPC服务器是PC ACCESS,在WINCC建立数据库时要求书写地址,不知道格式是什么?请举个例子说明下 谢谢。 问题补充:1、有个条目名称,…

    SIMATIC WinCC 2019年6月10日