很多情况下,存在大量的类似设备,需要通过HMI中的子屏来显示和控制设备参数。如果在HMI中为每个设备绘制一个子画面,会带来大量的重复工作,并使HMI程序冗长。
然后在HMI程序中为类似的设备绘制一个面板(Faceplate),然后通过弹出屏幕加载相同的面板来分别显示不同设备的参数,将大大减少配置工作量。本例将介绍如何在弹出的画面中调用同一个面板来分别显示三组设备的PID调节参数和设备启停信号参数,以及如何通过开关按钮设置/重置Bool变量。
步
1、在HMI中为多个相似设备创建相关参数变量(PID数据类型为PLC程序中定义的UDT PLC数据类型),如图01所示。
2. 在HMI 中创建指针索引变量和指针化变量作为内部变量连接,如图02 所示。
3.为指针变量设置索引变量,并将索引值映射到实际变量。如图03所示。
当索引变量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、在库中创建面板,如图04所示。
5、在面板中添加动态属性,如图05。
6、在面板中添加用于参数显示和输入的I/O字段,并将I/O字段的过程值关联到相应的动态属性,如图06所示。
7.添加“启动/停止”开关,用于设置/重置Bool类型变量,以达到启动/停止设备的效果。对于启用了指针化的变量,不支持使用函数来操作此类变量。例如,不能使用“设置变量”、“设置位”和“反转位”等功能。因此,需要使用开关来设置和重置Bool 类型变量。开关对Bool类型变量的实际操作是取反操作,因此只需要添加一个开关即可启动/停止设备。但有些客户希望用2个按钮来区分启动和停止操作,所以下面将介绍两种方法来实现1个按钮和2个按钮的启动/停止操作。实际应用中,用户可以根据需要选择其中一种方法。
添加1个开关并将变量关联到面板类型属性“开始”,将模式设置为“通过文本切换”,将ON文本设置为“停止”,将OFF文本设置为“开始”。如图07所示。
再添加2个开关,与图07相同,仅将其中一个开关的ON、OFF文本设置为“Start”,另一开关的ON、OFF文本均设置为“Stop”,如图08.
选择“Switch_2”,添加动画,选择“可控性”,设置如图09所示。
选择“Switch_3”,添加动画,选择“可控性”,设置如图10所示。
完成以上操作后,在面板类型编辑器中点击“发布版本”。
8、在HMI画面管理下的弹出画面中添加一个新的弹出画面,名称为“PID_Popup”,调整画面到合适的大小,将工程库类型中的“PID_FP”添加到弹出画面中,如图11所示。
9. 在面板实例的界面选项页面中将动态属性关联到指针变量,如图12所示。
10、在弹出屏幕中添加“关闭”按钮,并在“单击”事件中添加“显示弹出屏幕”功能,如图13所示。
11、在主界面添加一个打开弹窗的按钮,并在按钮的点击事件中添加函数,如图14所示。
实际运行效果
审稿人:李茜