如何在运行时打开一个用户自定义的模版对象?

操作说明:
本条目介绍了如何组态模版的调用。当操作员点击用户自定义对象时,用户自定义对象模板被打开。该条目假设在模板中使用了变量前缀。n

可供选择的各种组态方式:
n

No. 步骤
1 组态一个附加的画面窗口并使其在过程画面中可见 n

  • 在过程画面中,组态一个“画面窗口”对象。为“画面名”属性分配模板的画面文件名称,并为“变量前缀”属性分配测量点的结构名称。将“显示”属性设置为“否”,以便在调用画面时,画面窗口开始不可见。n
  • 在自定义对象中组态“鼠标单击”事件,使画面窗口可见。当“鼠标单击”事件发生时,将属于自定义对象的画面窗口的“显示”属性置 为“是”或着“1”(真)。这使画面窗口可见。下图显示了使用“直接连接”的“鼠标单击”事件的动态过程。

    如何在运行时打开一个用户自定义的模版对象?

注意
在动态向导“创建模板类型”和“创建工厂画面实例”中,同样使用了在过程画面中设置画面窗口可见性的原理。
可以使用向导创建和调用模板。在WinCC项目中,如果没有运行过OS编辑器,这些向导默认是不可用的。

2使用分屏管理器功能调用模板
WinCC分屏管理器包含模板调用功能。分屏管理器是基本过程控制(BPC)的一个组件,默认包含在WinCC V6.0或者更高版本中。其基本原理也是设置画面窗口的可见性。然而,显示模板的画面窗口没有被组态在实际的过程画面中,但是它已经包含在一个BPC的基 本画面中了。 n

要求:
在WinCC项目中,OS项目编辑器至少运行一次。当OS编辑器运行时,生成WinCC的基本画面。有特定数目的画面窗口可用于模板调用。n

使用分屏管理器功能“SSMRTOpenTopFieldEx()”调用模板。其中一个功能参数就是打开画面的名字。并将所打开画面窗口(切换到可见)的完整路径作为返回值。所打开画面窗口的完整路径信息特别重要,因为调用模板后,必须设置画面窗口的变量前缀。下图显示了打开属于自定义对象的画面窗口的普通C函数。

如何在运行时打开一个用户自定义的模版对象?

可以下载此脚本。

如何在运行时打开一个用户自定义的模版对象? WinCC_UdoOpenFaceplate_01.zip ( 1 KB )

该功能可以直接在自定义对象的“鼠标单击”事件上进行组态。需要在函数中更改以下部分来适应自己的需求:

  • 根据指定变量名改变属性名称
    当调用GetLinkedVariable()时,必须用在自定义项目中所确定的连接变量(变量名称)的属性名称替换字串 "STATE"。

    注意:
    最好在所有的自定义对象中使用一个属性。这样该 C 函数的区域对于所有模块(不同的自定义对象)是相同的。

  • 为面板模板改变画面文件名称:
    用面板模板的画面文件名称替换字串 "TYPCAL_MOT_:MAIN.PDL" 。

    注意:
    为了获取一个所有模块都可用的函数,在运行时可以从自定义对象的属性中读取面板模板的名称。

优点:

  • 更清晰
    因为在过程画面中的没有附加画面窗口的组态,所以过程画面非常清晰。
  • 更少的组态工作
    对一个测量点,在创建自定义对象时,对面板的调用只需组态和测试一次。 该动作对于面板调用是通用的,也就是说,它可以用于所有测量类型的实例。 在把自定义对象合并到一个过程画面中时,无须附加组态面板的调用。

注意:
如果需要在客户机/多客户机上运行此脚本,必须为函数SSMRTOpenTopFieldEx和 SetPropChar添加服务器前缀。使用GetServerTagPrefix函数获取服务器前缀。可以从WinCC信息系统中获得此函数的一个例 子,路径为:WinCC 信息系统 > 使用 WinCC > 使用 ANSI-C 创建过程和动作 > 附件 > 例子 >GetRangeMax和GetWidth的例子 >GetServerTagPrefix的例子

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论