二次确认对话框
在WinCC中,为了避免误操作,一些关键的按钮通常会需要进行二次确认。二次确认窗口一般都是调用Windows系统窗体。比如我们可以通过脚本msgbox来调用系统对话框。
在上图中,当点击按钮时会弹出一个询问是否确认操作的对话框。该对话框有两个按钮,可以选择确定或者取消。只有当点击确定按钮时才可以继续下一步操作。
这种调用系统对话框的方法简单易用,但是欠缺灵活性。另外在界面风格上和我们的项目也显得格格不入,所以在一些场景下可能还是需要我们自定义二次确认对话框。比如下图就是我们的HwBasicLib4CWCC中的WinCC退出确认对话框。
在自定义的确认对话框中,我们首先要制作对话框需要展示的画面信息。下图是我们定义的一个名为_Exit的退出确认对话框。
当用户点击“取消”按钮时窗口关闭。脚本如下:
上面的自定义弹窗虽然实现了目标功能,但是缺乏通用性。我们总不能为每个需要二次确认的操作都去制作一个窗口吧。为了实现确认对话框的通用性,我们对窗口进行了一些改造。在调用对话框时传递三个参数进去,分别是警告信息文本、指令和值。参见下面的脚本。
上面脚本的核心内容是通过窗体的属性UserData传递参数到确认对话框中。然后我们在对话框中对传递进来的UserData进行解析。
item.Text=ud(0)
上面的代码是对传递进来的UserData数据进行解析,并将其的第一个数据赋值给静态文本控件,用于显示警告信息。
如果点击取消按钮则关闭窗体。反之如果点击的是确定按钮,则根据第二个参数和第三个参数执行相应的动作。
自定义的二次确认窗口相比系统对话框更加灵活,界面也更加美观。
关于UserData
UserData是可以用于向画面窗口传递自定义信息的一种属性。它Zui大支持30000个字符。它对运行系统中的对象行为没有任何影响,完全用于数据的传递。
关于HwBasicLib4CWCC
HwBasicLib4CWCC是HwLib技术团队的gaoji自动化框架AdvAutoFramework中的一个重要组成部分。它由基于S7-1200/1500的PLC控制组件库和基于经典WinCC的视图组件库组成。其目的在于实现控制系统的快速开发,提高工程质量和效率,从而大幅度的降低项目成本。
使用该框架具有以下显著优势:
1、控制对象的模块化与组件化,例如电机、阀、闭环调节等,使编程及组态效率得到极大的提高;
2、简洁、占用内存小,对CPU几乎没有要求;
3、功能强大,可以通过组件接口实现许多工艺上的特殊要求;
4、基于面向组件的编程思想;
5、提供程序生成器,可以进一步提高工程效率(仅旗舰版);
6、支持操作事件记录;
7、现成的程序及画面模板,拿来即用;
8、支持gaoji编程语言接口,可以使用C#、LabVIEW等开发上位机;
9、在线仿真功能,不使用任何硬件便可以完成程序功能测试,不论是FAT还是SAT,仿真功能的激活将大大的提高工程效率;
10、已自带双语界面(中文和英文);
11、即便是不同的工程师,也可以使公司所有的项目具备统一的风格;
12、解决了工程师流动导致后续项目接手及维护难题;
13、成熟、稳定,十多年的项目使用经验;