回复:五花八门的Wincc趋势曲线调用

已锁定

龟仙人

西门子1847工业学习平台

  • 帖子

    928
  • 精华

    15
  • 被关注

    163

论坛等级:奇侠

注册时间:2006-12-15

普通 普通 如何晋级?

发布于 2022-03-28 09:14:30

1楼

刚开始学习Wincc的时候,对于趋势曲线还是比较畏惧的,尤其是有很多曲线的时候,需要分组显示,相信很多过来的朋友有相同的感受吧。刚开始不知道使用脚本,就做很多个趋势曲线控件,叠加在一起一次显示一个控件,如果公司没有老人带一下或者有现成的模板,很多朋友都是这样开始摸索的吧,这个阶段就不说了。

后来开始使用画面窗口进行显示,通过画面窗口切换不同的趋势曲线画面,但是也有问题,趋势曲线太多了,按钮放不下。还好Wincc6.2以后有了菜单功能,使用菜单选择曲线组解决了按钮的问题。虽然这也是不成熟的方案,但是对于对脚本不熟练的朋友还是有一定的借鉴价值的。

首先建立好趋势曲线画面,然后再建立一个画面窗口控件用于装在趋势曲线画面,然后开始新建用户菜单,如下图所示,新建一个用户菜单,菜单项的脚本可以完成脚本后添加。


完成菜单的编辑后保存,进入全局脚本的编写,要实现用户画面切换,全局脚本特别简单,如下图所示,只有四行代码,第一行定义一个变量装载画面名称,再定义一个变量装载画面窗口,然后将画面窗口赋值给窗口变量,接着就把菜单用户数据赋给窗口名称变量,最后把画面名称赋给用户窗体。


Sub OnLineMenue(Item)

Dim MyString,Pic_Window

'把MainPicture中的MainWindowPic画面窗体中的OnLineTrend画面下的对象OnLineTrend_Window画面窗体对象赋给Pic_Window对象

Set Pic_Window=HMIRuntime.Screens("MainPicture.MainWindowPic:OnLineTrend").ScreenItems("OnLineTrend_Window")

'把菜单项的用户数据赋给MyString变量作为画面名称,这里画面名称要与用户数据保持一致,

'如果画面名称与用户数据不一致,可以用If then或Select Case语句使用户数据与画面名称对应起来

MyString=Item.UserData

Pic_Window.PictureName=MyString

End Sub

完成代码后在菜单和工具栏编辑器中为每个菜单项加载这个脚本。

接着就是为画面窗口加载菜单,找到画面窗口,打开属性面板,找到菜单和工具栏组态属性,双击打开菜单选择对话框,选择刚才建立的菜单。

运行起来的效果如下:




这样做的优势是比较容易上手,对于初学者能够尽快的上手,问题也是很明显的,画面工作量太多,不能够自由的选择趋势曲线,进行自由的数据比较。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32981条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。