1.考虑工程布局
该监控系统的画面显示主要由菜单栏、功能显示区、状态栏三部分组成。菜单栏位于画面最上方,显示工程中的各主要画面切换按钮;状态栏位于画面最下方,用于显示在工程运行过程中的工程名称、用户登录状态、系统时间等信息;功能显示区位于中间,用于显示流程画面、报警、报表等功能。
工程分辨率确定为1024*768,选择淡蓝色过渡效果作为背景色。工程布局示意图如图16-1所示。
图16-1 工程布局示意图
2.规划和制作主要画面
本系统共需制作6个画面,分别如下:
①监控系统主显示画面:工程中命名为“首页”,主要是显示菜单栏和状态栏。
②主控制画面:工程中命名为“水位监测”,用来展示现场的水箱、泵和阀。
③用户登录画面:工程中命名为“用户安全”,进行用户登录、注销、修改密码、管理等工作。
④历史报警查看画面:工程中命名为“报警查看”,通过报警窗查询历史报警记录信息。
⑤水位历史查询画面:工程中命名为“水位历史查询”,通过历史趋势曲线查询水位的历史数据。
⑥报表查看画面:工程中命名为“报表查看”,通过历史报表查询水位的历史数据。
可以先完成“首页”、“水位监测”和“用户安全”这几个画面的制作。“报警查看”、“水位历史查询”和“报表查看”这几个画面等定义完变量、历史记录和报警等功能后再制作。
(1)“首页”画面
“首页”画面实际上就是把菜单栏和状态显示栏做成一个画面,整个系统在运行期间都要一直显示该画面。画面的大小为(1024,768)。“首页”画面如图16-2所示。
图16-2 “首页”画面
菜单栏中放置各个画面的切换按钮(用图片来充当按钮,图片下方配合文字说明),同时包括一个“退出”按钮。切换功能通过对图标定义的“键按下”事件来实现,如“主界面”图标定义的“键按下”事件为:
状态显示栏显示系统当前登录的用户、系统日期及时间,通过与系统变量关联来实现。绘制好文本,然后对文本进行动画定义,选择“数值显示”动画下的“字符串值”,将“登录的用户”与系统变量“UserName”进行关联,将“系统日期”与系统变量“Date”进行关联,将“时间”与系统变量“Time”进行关联。
(2)“水位监测”画面
“水位监测”画面显示水位控制的整体流程,并且需要监控阀门、泵开关、水位、水位实时变化曲线、实时报警信息等。画面的大小设置为(1024,635),画面起始位置为(0,81)。“水位监测”画面如图16-3所示。
画面布局和各区域元素绘制如图16-3所示。
区域1:绘制水位实时曲线。
区域2:该区域显示的是水箱控制的工艺流程。
储水罐和泵、阀门都通过“图库”工具箱的图符来表示,并绘制一个黑色矩形放置在立罐上方。管道是通过直线或折线绘制来实现的,将它们的线条属性修改为“管道”。管道中的水流用虚线绘制。
区域3:绘制报警窗,显示工程的实时报警信息。将报警窗的工具栏和状态栏属性设为(False),当水位变量超过限值时会在报警窗中显示实时报警信息。
图16-3 “水位监测”画面
(3)“用户安全”画面
“用户安全”画面以小窗口的方式显示,画面大小设为(369,288),位置为(357,77),提供用户的登录、注销以及用户管理等功能,如图16-4所示,5个按钮文本显示分别修改为“用户登录”、“用户注销”、“修改密码”、“用户管理”和“关闭”。
然后为按钮配置“键按下”事件。以用户登录为例,配置“用户登录”按钮的“键按下”事件为:
User.Logon();
3.设计变量
水箱控制系统主要监测并记录水箱的水位信息,同时需要对泵开关、水箱进出水阀门进行人为控制,因此需要建立三个变量。在“变量”节点下新建变量组“水箱”,打开水箱变量组,在变量组中建立实型变量“水位”、开关型变量“出水阀门”、“进水阀门”。建好后的变量组如图16-5所示。
图16-4“用户安全”画面
图16-5水箱变量组
4.完成主要监控画面上各个控制对象的动画和事件的定义,以及工程中用户程序实现
本系统中主要是完成“水位监测”画面上的各个对象的定义。
①为实时曲线关联变量“水箱.水位”。
②为水箱上的矩形配置百分比填充动画,关联变量“水箱.水位”。
③进水阀连接的变量替换为“水箱.进水阀门”,出水阀连接的变量替换为“水箱.出水阀门”。进水泵连接的变量也替换为“水箱.进水阀门”,出水泵连接的变量页替换为“水箱.出水阀门”。
④设置管道中的水流效果,通过为虚线设置“显示隐藏”和“线条流动启停”动画来实现。这里以进水管道线条为例,在线条的动画属性中的“显示隐藏”与“线条流动启停”项中关联变量“水箱.进水阀门”,当该变量值为真时流动线条显示并且开始流动。
⑤画面中水位的名称通过文本来实现,水箱水位显示通过数码管关联变量“水箱.水位”,设置背景色为黑色,前景色为红色。
另外,水箱控制系统要求在水箱进水阀门启动时,水箱中的水位上升,水箱出水阀门启动时,水箱中的水位下降。以上功能需要通过易控的用户程序来实现,在“水位监测”画面运行时,就执行该程序。
双击工程树中“用户程序”节点下的“画面程序”子节点,通过“新建”按钮新建画面程序,画面名称关联工程画面“水位监测”,执行方式选择“存在期间”,时间间隔设置为“100ms”,点击“程序”处弹出C#用户程序编辑器。在编辑器中输入代码,如图16-6所示。
图16-6 水箱水位控制程序
建立好的画面程序如图16-7所示。
图16-7 画面程序
5.完成报警、历史记录和报表功能
(1)报警功能
水箱控制系统中的“水箱.水位”变量的值超过75L时,需要发出报警信息,提示操作人员。报警功能设置分为以下几步:
1)将“水箱.水位”定义为报警变量。通过双击“报警”节点下的“报警变量”子节点,在显示的报警变量配置页面中利用“新建”按钮新建一个报警变量,选择数据库变量“水箱.水位”,并进行报警配置,配置“高”报警,报警值为75。“模拟型变量报警配置”对话框如图16-8所示。
图16-8 “模拟型变量报警配置”对话框
2)进行报警配置,主要是将报警记录下来供查询。双击“报警”节点下的“配置”子节点,在弹出的“报警配置”对话框中勾选“记录报警”项,如图16-9所示。当系统有报警发生时,报警信息会自动记录到默认的数据库中。
(www.daowen.com)
图16-9 “报警配置”对话框
3)绘制报警画面,定义报警显示方式。
实时报警功能已通过“水位监测”画面中的报警窗显示。
历史报警功能需再另外制作一个画面,通过画面上的报警窗来显示。“报警查看”画面的大小设置为(1024,635),画面起始位置为(0,81)。画面上绘制报警窗,将报警窗的“显示类型”属性设为“显示报警信息和恢复信息”,将“允许查询”属性设为“True”,系统运行并设置查询间隔后,就会显示相关的报警信息。配置好的报警画面如图16-10所示。工程运行起来后,进入“报警查看”画面,就可以通过报警窗查询到“水箱.水位”变量的历史报警信息。
图16-10 报警画面
(2)历史记录功能
“水箱.水位”变量的变化过程也是需要记录下来的,便于后续分析统计使用,因此需要历史记录功能。历史记录功能设置分为以下几步:
1)配置历史记录数据库。使用历史记录功能需要先安装SQL Server数据库软件(可通过易控光盘安装SQL Express)。软件安装完成之后,双击工程树“历史记录”节点下的“配置”子节点,弹出“历史记录配置”对话框,在对话框中配置数据库服务器,通过“测试连接”按钮测试与数据库的连接,如图16-11所示。
图16-11 “历史记录配置”对话框
当对话框中提示“连接数据库成功”时,点击“确定”按钮,完成对数据库的配置。
2)对要进行记录的变量进行定义。双击工程树“历史记录”节点下的“记录变量”子节点,在显示的记录变量配置页面中通过“新建”按钮新建一个历史记录,并选择数据库变量“水箱.水位”,记录方式选择定时记录,间隔为5s,如图16-12所示。
图16-12 记录变量设置
通过以上步骤就完成了对系统中历史记录功能的设置。
3)绘制历史记录显示画面。“水位历史查询”画面用来以曲线方式显示水位变量的历史趋势变化情况。其画面的大小和位置设置如报警画面。选择图形工具箱中“图形曲线”内的“历史趋势曲线”,将其放置在画面上,调整大小和位置。在历史趋势曲线的属性窗“曲线”配置项中添加成员“水位历史曲线”,将“水位历史曲线”的连接变量与“水箱.水位”历史变量关联。
当工程运行起来后,进入“水位历史查询”画面,就可以通过历史趋势曲线查询到“水箱.水位”变量的历史记录。
(3)报表功能
该系统需提供历史报表来记录一天内水箱的水位变化数据。报表设计分为以下几步:
1)设计报表格式。在工程树“报表”节点新建一个空白报表,命名为“日报表”。设置报表的方向属性为“纵向”,报表背景色选为单色“黄色”。
使用报表工具箱中的“文本”组件来添加历史报表中的静态文本,如“水位监控系统日报表”、“制表人”和“生成时间”等,并设置这些组件的大小、位置属性。
将报表工具箱中的“制表人”组件添加到报表左上角,将其显示方式属性设置为“登录用户”。再添加“报表生成时间”组件到报表的右上角,调整其边框样式为“无”,显示格式中日期格式为“短日期”,时间格式为“长时间”。
将报表工具箱中的“历史表格”组件添加到报表编辑器中,用于将当天水箱的水位记录从历史数据库中取出并显示在报表上。
历史表格的属性配置主要有:
“时间列”属性:设置“列眉文字”为“时间列”,时间列显示选择“两边”,时间格式通过弹出对话框完成,将日期选为“短日期”,时间格式为“长时间”,如图16-13所示。
图16-13 “时间格式”对话框
“数据列”属性:该属性通过“历史数据表格列集合”对话框完成,如图16-14所示。只保留一个成员,将成员的列眉文字修改为“水位”,“历史变量”属性连接“水箱_水位”历史记录数据。
图16-14 “历史数据表格列集合”对话框
“统计行”属性:通过“统计行集合”对话框完成,如图16-15所示。添加三个统计行:最大值、最小值和平均值,统计方式分别选择“最大”、“最小”和“平均”,统计行的显示位置均选择位于表格的底部。
图16-15 “统计行集合”对话框
“时间间隔”属性:报表显示的是一天内的统计数据,因此将报表的每行时间间隔设置为“1小时”,如图16-16所示。
设置“表头显示”属性为“True”。通过上面的操作就完成了“日报表”的设计。设计完成的报表如图16-17所示。
图16-16 时间间隔属性设置
图16-17 日报表样式
2)在画面进行报表查看。“报表查看”画面大小和位置设置与报警画面类似。选择图形工具箱中“图表曲线”内的“报表查看器”,将其放置在画面上,将报表查看器的“报表”属性关联上一步已建好的“日报表”。配置好的报表画面如图16-18所示。当工程运行起来后,可以通过报表工具栏“设定历史数据的查询条件”按钮设置查询时间和查询间隔,查看相应的历史记录信息。
图16-18 “报表查看”画面
6.实现安全管理
工程中对阀门控制的安全级别要求比较高,需要用户登录后才能进行操作,以保证系统安全。一般通过对工程中用户和安全区的同时设置来实现工程的安全控制。安全系统的设计分为以下几步:
(1)配置安全区和用户
双击工程树下的“安全区”节点,通过“新建”按钮建立“阀门控制”安全区。
双击工程树下的“用户”节点,通过“新建”按钮新建两个用户——“管理员”和“用户”,设置密码为“123”。在工程中,操作员只有数据查看权限,管理员除了可以进行数据查看之外,还可以控制阀门的开关。为管理员用户配置安全区“阀门控制”。工程中配置好的用户列表如图16-19所示。
图16-19 用户列表
(2)设置画面对象的安全权限
对阀门的安全控制需要结合画面中阀门对象的安全区属性来实现,具体设置在“水位监测”画面中。以进水阀门为例,选中进水阀门,在“安全区”属性处选择“阀门控制”安全区。
这样,安全管理就设置好了。工程运行起来后,必须使用管理员账号登录,才能操作进水阀门。
7.工程运行配置
工程进入运行时,要指定起始画面。
“首页”在工程运行的任何时候都是可见的,并且位置不会改变,而功能显示区的内容会随着菜单栏选择的画面名称不同而发生变化。工程在每次启动时都同时显示“首页”和“水位监测”这两个画面,因此需要在“运行选项”节点设置工程运行时的起始画面。在弹出的“画面”选项卡中,选择“首页”和“水位监测”这两个画面,并设置为“起始画面”,如图16-20所示。
图16-20 起始画面设置
至此,整个系统的设计就完成了。经过编译,进入运行环境后,以“管理员”身份登录,输入密码“123”,就可以控制进水阀,启动进水泵。水箱液位发生变化时,相应的报警、曲线显示和历史记录等功能就可以使用了。系统运行主界面如图16-21所示。
图16-21 系统运行主界面图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。