• {{item.name}}
自动化系统 {{item.name}}
{{item2.name}}
更多

弹出画面功能

star star star star star
0 分
发布时间:2025年10月20日
  • 0
  • 907
本文档主要介绍了 SIMATIC Unified Panels 的弹出画面功能。

1. 概述

Unified Comfort Panel 与Unified Basic Panel 均可通过以下两个系统函数实现弹出画面的显示功能。

本文将以 Unified Comfort Panel 为例进行说明,Unified Basic Panel 的组态方法与此相同。

实现弹窗的系统函数:

  • OpenScreenInPopup()(在弹出窗口中打开画面)
  • OpenFaceplateInPopup()

2. 创建项目所需变量并编写PLC控制逻辑

2.1 在 PLC 侧创建项目所需要的变量,如下图所示。

图形用户界面, 应用程序

AI 生成的内容可能不正确。

2.2 本例程的设备启停控制逻辑如下图所示,仅为演示用途。实际应用中,请根据现场需求编写相应的 PLC 程序。

图形用户界面, 文本, 应用程序

AI 生成的内容可能不正确。

2.3 组态 MTP1200 Comfort 设备,并将 PLC 变量映射到 HMI 默认变量表,如下图所示。

图形用户界面, 应用程序

AI 生成的内容可能不正确。

表格

AI 生成的内容可能不正确。

3. 组态 HMI 画面及调用 OpenScreenInPopup() 函数。

3.1 新建"main"画面,添加 SVG 动态部件并设置颜色动态化,配置如下:

图形用户界面, 应用程序

AI 生成的内容可能不正确。

3.2 创建名称为"PopupScreen"的普通画面,设置此画面的尺寸宽度为300,高度为180,作为弹窗使用。

图形用户界面

AI 生成的内容可能不正确。

3.3 在"PopupScreen"画面中并添加“启动”、“停止”按钮以实现控制功能。启动”和“停止”按钮功能对应事件配置如下:

  • 按下事件:“读取并设置变量中的位”函数
  • 释放事件:“读取并设置变量中的位 ”及 “关闭弹出窗口”函数。
  • 启动按钮的事件

图形用户界面, 应用程序

AI 生成的内容可能不正确。

  • 停止按钮的事件

图形用户界面, 应用程序

AI 生成的内容可能不正确。

3.4在“main”画面中,为 SVG 图形的“单击鼠标左键”事件添加 OpenScreenInPopup() 函数,以触发弹窗显示。

图形用户界面

AI 生成的内容可能不正确。

系统函数“OpenScreenInPopup”具有以下参数:

参数说明
弹出窗口名称弹出窗口的名称。该名称在父画面中必须唯一,且关闭弹出窗口时需要使用。
画面名称将在弹出窗口中打开的画面的名称。
打开时关闭True: 如果在函数调用期间打开弹出窗口,则窗口关闭。
False: 如果在函数调用期间打开弹出窗口,则窗口保持打开。
标题指定弹出窗口的窗口标题。
以距离左边缘的偏移量的形式定义窗口位置。
以距离上边缘的偏移量的形式定义窗口位置。
隐藏关闭按钮True: 不显示“关闭”按钮。False:显示“关闭”按钮。
父画面路径(可选)父画面的路径。可通过此参数指定在画面变更时还是在画面窗口中的画面变更时关闭弹出窗口。 如果未定义该值,则弹出窗口为全局窗口。手动关闭、通过函数调用或退出运行系统前,弹出窗口将保持打开状态。

3.5 最终运行效果

Blower.gif

4. 组态 Faceplate 画面及调用 OpenFaceplateInPopup() 函数

4.1在项目库中创建名称为“Faceplate_Fan_Control”的面板类型,设置此画面的尺寸宽度为300,高度为180,并定义2个变量接口,分别为 Fan_Interface_Start 和Fan_Interface_Stop。

  • 面板类型定义如下:

图形用户界面, 应用程序, Word

AI 生成的内容可能不正确。

  • 变量接口

表格

AI 生成的内容可能不正确。

4.2 在" Faceplate_Fan_Control "的面板画面中并添加“启动”、“停止”按钮以实现控制功能。”启动”和“停止”按钮功能对应的 JavaScript 脚本配置如下:

  • 启动按钮的 JavaScript 脚本
    按下事件:HMIRuntime.Tags.Inching.SysFct.ReadAndSetBitInTag("Fan_Interface_Start", 0);

释放事件:

HMIRuntime.Tags.Inching.SysFct.ReadAndResetBitInTag("Fan_Interface_Start", 0);

Faceplate.Close()

图形用户界面, 应用程序

AI 生成的内容可能不正确。

  • 停止按钮的 JavaScript 脚本

按下事件:
HMIRuntime.Tags.Inching.SysFct.ReadAndSetBitInTag("Fan_Interface_Stop", 0);

释放事件:
HMIRuntime.Tags.Inching.SysFct.ReadAndResetBitInTag("Fan_Interface_Stop", 0);

Faceplate.Close()图形用户界面, 应用程序

AI 生成的内容可能不正确。

4.3 在3.1章节创建的“main”画面中,添加 SVG 动态部件并设置颜色动态化,配置如下:

图形用户界面, 应用程序

AI 生成的内容可能不正确。

4.4在SVG图形的“单击鼠标左键”事件中通过代码片段添加如下JavaScript脚本,以触发弹窗显示。

  • 代码片段

图形用户界面, 应用程序

AI 生成的内容可能不正确。

  • 执行的 JavaScript 脚本

let data = {Fan_Interface_Start:{Tag:"DeviceControl_Fan_Start"},Fan_Interface_Stop:{Tag:"DeviceControl_Fan_Stop"}};

let po = UI.OpenFaceplateInPopup("Faceplate_Fan_Control_V_0_0_1", "风机电机控制", data);

po.Left = 318;

po.Top = 86;

po.Visible = true;

图形用户界面, 文本

AI 生成的内容可能不正确。

关于 OpenFaceplateInPopup() 函数的更多参数的介绍可以查看帮助文档,具体如下图所示。

图形用户界面, 应用程序

AI 生成的内容可能不正确。

4.5 最终运行效果

文本

AI 生成的内容可能不正确。

5. 参考资料

  • 通过脚本控制弹出窗口( JavaScript 示例)

https://support.industry.siemens.com/cs/cn/en/view/109810540/zh

  • 使用 WinCC Unified 组态面板的提示与技巧

https://support.industry.siemens.com/cs/cn/en/view/109812366/zh







  • 评论
更多
  • 分享

    扫码分享

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。