如何利用触摸屏实现多设备控制的弹出窗口模板?

描述

在很多场合中, 存在着大量的同类设备需要在 HMI 中通过子画面进行设备参数的显示以及控制。如果在 HMI 中为每一个设备都绘制一个子画面, 将会带来大量的重复性工作, 并且也会使得 HMI 程序变得冗长。

那么为同类设备在 HMI 程序中绘制一个面板( Faceplate),然后通过弹出画面加载同一个面板来分别显示不同设备的参数,将使得组态工作量大大减少。本例将介绍如何通过在弹出画面中调用同一个面板来分别显示 3 组设备的 PID 调节参数和设备启停信号参数,以及通过开关按钮对 Bool 变量进行置位/复位操作的方法。

步骤

1. 在 HMI 中创建多个同类设备的相关参数变量( PID 数据类型为 PLC 程序中定义的 UDT PLC 数据类型)

PID

2. 在 HMI 中创建连接为内部变量的指针索引变量和指针化变量

PID

3. 为指针化变量设置索引变量, 并将索引值对应到实际变量

PID

当索引变量 PID_index 为 0 时, P_Common 为变量 PID_DB_PID1.P 的值;

当索引变量 PID_index 为 1 时, P_Common 为变量 PID_DB_PID2.P 的值;

当索引变量 PID_index 为 2 时, P_Common 为变量 PID_DB_PID3.P 的值。

为指针化变量 “I_Common”、 “D_Common”及“Start_Common”做相同设置,并将索引值对应到各自实际变量上。

4. 在库中创建面板

PID

5. 在面板中添加动态属性

PID

6. 在面板中添加用于参数显示和输入的 I/O 域,并将 I/O 域的过程值关联至对应的动态属性

PID

7. 添加“启动/停止”开关,用于置位/复位 Bool 类型变量以达到启动/停止设备的效果

对于启用了指针化的变量来说,不支持使用函数对该类变量进行操作,例如无法使用“设置变量”、“置位位”、“取反位”等函数。 因此需要通过开关来实现对Bool 类型变量的置位及复位。而开关对于 Bool 类型变量的操作,实际进行的是取反操作,因此只需要添加一个开关即可实现对设备的启动/停止操作。但是一些客户希望通过 2 个按钮将启动与停止的操作区分开来,因此以下将介绍两种方法来实现 1 个按钮和 2 个按钮进行启动/停止操作。实际应用时用户根据需要选择其中一种方法即可。

添加 1 个开关,并关联变量到面板类型属性“Start”,将模式设置为“通过文本切换”,设置 ON 文本为“停止”,设置 OFF 文本为“启动”。如图 07 。

PID

再添加 2 个开关, 按照图 07 做相同操作。只是其中一个开关的 ON、 OFF 文本均设置为“启动”,另一个开关的 ON、 OFF 文本均设置为“停止”,如图 08 。

PID

选中“开关_2”,添加动画,选择“可控性”,设置如图 09 。

PID

选中“开关_3”,添加动画,选择“可控性”,设置如图 10 。

PID

完成以上操作后,在面板类型编辑器中点击“发行版本”。

8. 在 HMI 画面管理下的弹出画面中添加新的弹出画面命名为“PID_Popup”,调整画面为合适的大小,并从项目库的类型中添加“PID_FP”到该弹出画面中

PID

9. 在面板实例的接口选项页中关联动态属性到指针化变量

PID

10. 在弹出画面中添加“关闭”按钮,并在“单击”事件中添加“显示弹出画面”函数

PID

11. 在主画面中添加按钮用于打开弹出画面, 在按钮的单击事件添加函数

PID

实际运行效果

PID

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分