找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4728

积分

0

好友

625

主题
发表于 3 小时前 | 查看: 3| 回复: 0

在威纶通HMI的界面设计中,嵌入窗口功能主要通过两种元件实现:间接窗口和直接窗口。它们允许你在主窗口内动态加载并显示其他窗口的内容,是实现复杂界面交互和模块化设计的关键工具。

威纶通EasyBuilder Pro软件界面中的“嵌入窗口”元件位置

间接窗口直接窗口 的核心区别在于控制方式:

  • 间接窗口:使用字寄存器的数值来控制指定编号窗口的开启与关闭。你可以将窗口编号写入寄存器,对应的窗口内容就会显示出来。
  • 直接窗口:使用位寄存器的状态(ON/OFF)来控制窗口的开启与关闭。当指定位被置位时,对应的窗口内容就会显示。

这两种窗口的显示逻辑也有细微差别。对于间接窗口,其显示范围有两种处理方式:

  1. 预定义区域:先在当前窗口上绘制一个矩形区域。弹出的窗口内容会在这个区域内显示,且不会超出该区域的宽度和高度。
  2. 自动调整:勾选“自动调整窗口尺寸”功能。启用后无需预先绘制区域,系统会根据要弹出窗口的原始尺寸,自动调整并显示在当前窗口之上。

想要关闭一个由间接窗口弹出的子窗口,只需将其控制的字寄存器数值设置为 0 即可。

如何配置间接窗口?

在EasyBuilder Pro软件中,点击任务栏的【元件】->【嵌入窗口】->【间接窗口】按钮,即可打开其属性设置对话框。

间接窗口属性设置对话框(一般属性页)

在“一般属性”页中,有几个关键设置项:

  • 窗口控制条:勾选此项后,弹出的子窗口会带有一个控制条。用户可以通过拖动这个控制条来移动子窗口的位置。

带控制条的嵌入窗口效果示意图

  • 读取地址:在这里设置控制设备和地址(例如 Local HMILW 寄存器)。当你改变该地址内的数值为一个有效的窗口编号(如10, 11, 20等)时,对应的窗口内容就会显示在弹出区域。显示的比例和位置可以在“位置”页进行详细设定。
  • 使用窗口编号偏移量:这是一个容易让人困惑但很实用的功能。勾选后,读取地址中的数值会加上这里设置的偏移量,其结果才是最终生效的窗口编号。默认偏移量是 -10。这是因为新建项目时,第一个窗口的默认编号是10。设置偏移量为-10后,当你在地址中写入 10,系统实际会去寻找编号为 0 (10 + (-10)) 的窗口,这通常用于匹配一些从0开始计数的编程习惯。

接下来看“位置”属性页,这里决定了窗口如何呈现。

间接窗口属性设置对话框(位置页)

  • 自动调整窗口尺寸:如前所述,勾选此项后,系统会自动根据目标窗口的原始尺寸进行显示,并按照设定的“对齐”方式(如左上角、居中)来摆放。这省去了手动绘制显示区域的步骤,非常方便。

关闭弹出窗口除了向控制字寄存器写 0 之外,还有一个更友好的方法:你可以在弹出窗口本身上,放置一个 [功能键] 元件,将其模式设置为 “关闭窗口”。这样,用户点击这个功能键,就能直接关闭当前所在的弹出窗口,无需去操作背后的寄存器。这体现了良好的人机交互设计。

直接窗口又是如何工作的?

直接窗口 的用法与间接窗口非常相似,主要区别依然是控制逻辑。它使用位寄存器的状态来触发。
首先,你同样需要在当前窗口上定义一个显示区域。当指定的位寄存器状态从 OFF 变为 ON 时,预设的窗口内容就会在这个区域内显示出来,其尺寸同样不会超出预定义区域。将该位寄存器的状态恢复为 OFF,即可关闭这个弹出窗口。

简单来说,两者的核心差异可以归结为:直接窗口是“开关式”控制(位信号),间接窗口是“选台式”控制(字数值)。理解了这个底层逻辑,就能更好地根据实际的控制系统需求来选择合适的元件。

一个简单的类比

是不是觉得它和 功能键 切换基本窗口的功能有点像?确实,它们都能带来界面跳转。但功能键通常一个按键只能固定切换到一个指定的页面。而间接窗口的强大之处在于,一个间接窗口元件,可以通过改变其控制地址中的数值,动态地切换显示多个不同的窗口内容,大大提升了界面设计的灵活性和复用性。这种基于地址数值的映射思想,在许多底层系统设计中都能见到踪影。




上一篇:利用Edit-Banana,将架构图、流程图图片一键转成可编辑的DrawIO与PPTX文件
下一篇:Claude Mythos 5.0 Beta开启内测,90分钟发现Linux内核20年老漏洞
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-4-1 07:55 , Processed in 0.519509 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表