问题:如何在 WinCC flexible Smart V3 中实现弹出窗口及输入数值的确认?


分析:在 WinCC flexible Smart V3 中,不支持弹出窗口。可以通过对象的显示/隐藏变相地实现弹出效果。WCF 没有提供 IO 域的输入确认。可以通过指针变量及弹出窗口来实现。


具体实现:如下示例的功能是当单击 “IO 域_4” 试图为 “变量_2” 输入数值时,将弹出提示框。单击 “确定” 后,将把输入值写入 “变量_2”;单击取消,则不改变 “变量_2” 的原值。同时在弹出提示框后,画面其它对象都不允许操作。模仿模式窗口的效果。另外,当单击“按钮_3” 时,也加入了确认的提示。


1、 新建如下变量:


 
2、变量 valueIN “指针化”,属性设置如右图所示:


 
3、在画面第 1 层添加一个矩形对象,大小与画面一样。“外观” 属性设置如下:


 
4、“可见性” 设置如下:


 
5、在画面的第 1 层放置如下对象,作为提示对话框。
其中 “确定” 按钮是重叠在一起的两个按钮。一个用来确认 “IO 域_4”的输入操作,另外一个用来确认“按钮_3” 的操作。


 
所有对象都启用 “可见性”。为其中一个 “确定” 按钮分配变量 dis1,另一个确定按钮分配变量 dis2,其它所有对象都分配 dis,设置如下:


 
6、为 “取消” 按钮增加单击事件函数:


 
7、为 “可见性” 关联 dis1 变量的 “确定” 按钮增加如下单击事件函数:


 
8、为 “可见性” 关联 dis2 变量的 “确定” 按钮增加如下单击事件函数:


 
9、为 “IO 域_4” 增加激活事件函数:


 
10、为 “按钮_3” 增加单击事件函数:


 
11、运行效果
当单击 “IO 域_4”时,弹出如右图所示的提示:


 
在输入框中输入数值 99,并单击回车后,提示如下:


 
除了 “确定” 和 “取消” 按钮之外的所有画面对象都不能操作。
此时如果单击 “确定” 按钮,数值 99 将赋值给 “变量_2” ;单击“取消”则 “变量_2” 保持原值。
单击 “按钮_3” ,提示如下:


 
除了 “确定” 和 “取消” 按钮之外的所有画面对象都不能操作。
此时如果单击 “确定” 按钮,将执行 “趋势” 按钮的功能,切换到 “趋势” 画面。单击 “取消” 则没有任何改变。