基于AJAX技术的富氧陶瓷窑炉B/S实时监控系统设计

2012-01-04 09:28郎建勋钟建伟
关键词:富氧窑炉控件

郎建勋,钟建伟

(湖北民族学院 信息工程学院,湖北 恩施 445000)

远程监控系统是现代化企业解决方案的重要组成部分之一.富氧陶瓷窑炉作为重要的工业热工设备之一,目前采用的基本上都是本地监控系统.当多个工程人员需要同时监控窑炉不同设备和参数或需要完成不同的系统功能时,本地监控系统的不足之处就突显出来了[1].解决这一问题的方法就是构建一个多点远程实时监控系统,使得多个工程技术人员可以在各自的终端通过网络对陶瓷窑炉的工作情况进行实时监控.

1 B/S模式和C/S模式的比较

远程监控系统可以采用B/S和C/S两种模式.相对于C/S模式,早期的B/S模式存在两个方面的不足,较大的网络通信数据量和相对贫乏的客户端表现形式[2].对于C/S模式,网络通信主要是数据的传输,而B/S模式则是整个HTML页面的回发,网络通信量相对较大[3].另外,当Web技术尚不成熟的时候,要在浏览器中模拟C/S客户端的表现行为是非常困难的[4].

现今,随着Web技术的不断成熟,结合浏览器的多种脚本语言、ActiveX控件和AJAX技术,通过浏览器已经几乎可以模拟C/S模式客户端中的所有功能[5].随着Web技术的不断进步、网络通信速度的不断提高和处理运算能力的不断增强,B/S模式的应用领域正在不断扩大[6].相对于C/S模式,B/S模式从真正意义上实现了瘦客户端,用户只需要安装浏览器软件及其相应的协议皆可,不需要安装任何专用软件,节约了系统的成本[7].再者,B/S模式的客户端几乎不需要任何维护.另外,B/S模式提供了一个跨平台的应用环境,实现了开发环境和应用环境的分离,有利于对系统进行扩展和更新[8].

2 采用B/S模式构建实时监控系统的可行性分析

从网络通信量和客户端表现行为的需求出发,分析构建基于B/S模式的富氧陶瓷窑炉实时监控系统的可行性.

本系统的网络通信量取决于两个方面:通信频率和单次通信的数据收发量.从通信频率而言,富氧燃烧陶瓷窑炉的参数变化相对缓慢,客户端并不需要过高的更新速度,可以适当的减小页面更新频率以减小网络的通信量.另外,富氧燃烧陶瓷窑炉的界面主要为静态的工艺流程图片和实时数据显示标签及参数设置文本框构成,通过客户端向服务器发送的POST请求中多为对现场设备参数的简单设置或对实时数据的请求,通过采用AJAX技术,可以仅对部分页进行更新,即不更新静态的工艺流程图片部分,仅对需要更新的文本框内容进行更新即可[9],这样在每次通信时,回发的信息主要是窑炉的实时数据,而不会包含大量的图片等信息,所以其一次通信所需收发的数据量是很小的.综合以上两个方面的因素,本系统不会因为网络通信量过大而影响系统的实时性能.

从客户端表现行为需求而言,客户端用户一般只是需要查看窑炉的实时数据变化情况和发送参数设置的请求,其要求类似于一般网页的数据更新和信息提交等,并不需要开发大量的具有复杂功能的定制控件才能满足用户的要求,所以在开发方面并不存在太大的困难.

综合以上两个方面的分析可知,开发基于B/S模式的富氧陶瓷窑炉的实时监控系统是可行的.

图1 陶瓷窑炉B/S监控系统的软件体系结构

3 B/S实时监控系统的体系结构设计

本系统的服务器端的开发工具选用基于.NET Framework 3.5的ASP.NET开发.根据富氧燃烧陶瓷辊道窑的控制要求,B/S监控系统应实现以下8个功能:①用户的访问权限控制;②用户的授权和管理;③窑炉现场设备参数的实时显示;④窑炉设备的运行状态检测;⑤系统的故障和报警提示;⑥控制模式的切换;⑦参数的设定;⑧窑炉历史数据记录的查看.

根据上述要求,富氧燃烧陶瓷辊道窑B/S监控系统的软件体系结构如图1所示.

IOperation接口封装了操作PLC、变频器和数据采集卡等设备的函数.根据PLC、变频器和数据采集卡提供的驱动程序,将相关的设备操作函数采用C# Comwarper封装以便表现层的主页面和参数设定页面调用.

Roles接口中主要是数据库业务逻辑中的成员角色分配函数,Roles模块用于为不同层次的用户分配权限.

IGetArchive接口封装了操作归档数据的函数,用于操作存放在SQL Server2005数据库中的窑炉现场的过程数据、故障报警等信息.

4 系统实现中的关键问题

4.1 采用AJAX实现部分页更新

B/S监控系统采用异步回发机制方便的实现了页面的部分更新,可以不用在每次回发的时候都更新整个页面,这样用户从体验的角度来讲就不会感觉到整个页面总是在不断的刷新,使得Web用户界面变得更为友好,同时也减少了和服务器的通信量[10].

在窑炉B/S监控系统的开发中,当实时显示现场数据时需要使用MS AJAX Library提供的UpdatePanel、Timer和ScriptManager服务器控件.

ScriptManager控件管理支持AJAX的ASP.NET网页的客户端脚本.默认情况下,ScriptManager控件会向页面注册MS AJAX Library的脚本.这将使客户端脚本能够使用类型系统扩展并支持部分页呈现和Web服务调用这样的功能[11].

Timer控件按用户指定的间隔执行回发.如果将Timer控件用于UpdatePanel控件,则可以按时间间隔启用部分页更新.它会将一个JavaScript组件嵌入到网页中.当经过Interval属性中定义的时间间隔时,该JavaScript组件将从浏览器启动回发.可以在运行于服务器上的代码中设置Timer控件的属性,这些属性将传递到该JavaScript组件.当Timer控件启动回发时,将会在服务器上引发Tick事件,可以创建Tick事件的事件处理程序来执行一些操作,例如读取窑炉的现场数据并更新UpdatePanel子控件的相应属性.

UpdatePanel控件是ASP.NET中AJAX功能的核心部分.UpdatePanel控件与ScriptManager控件结合使用来实现部分页呈现.部分页呈现减少了同步回发和更新整个页面的需要.在设计窑炉的B/S监控系统时,可以将需要定时更新属性的控件放置在UpdatePanel控件的内部,将Timer控件显式定义为UpdatePanel的AsyncPostBackTrigger.在页面加载后,UpdatePanel子控件的属性就会以指定的TimerInterval间隔实现异步更新.

表1 不同角色的权限设置

图3 B/S监控系统主页面

4.2 基于角色的授权

成员资格管理功能可以通过使用ASP.NET提供的登录系列控件实现用户的登录验证、创建和管理用户的功能,但其中存在着一个问题:无论任何用户登陆后,都可以进入用户管理模块修改用户信息,这在实际中是绝对不允许的.为了防止这种情况发生,可以分别为每个用户分别授权,采用这种方式的工作量是很大的,而且不易实现和进行管理.基于角色的授权方式可以将授权与角色相关联,通过为用户分配角色来实现对用户的权限控制.这一方式实现了用户与权限的逻辑分离,提高了管理的效率和可控性.利用ASP.NET中的Roles类提供的静态方法可以实现创建角色、为用户添加或删除角色等功能.

在窑炉B/S监控系统的设计中,根据实际情况应创建三种类型的角色:Observer、Operator和Administrator.这三种角色的权限设置如表1所示.

表1中的角色类型是在系统开发过程中实现的,B/S监控系统的用户可以被分配多个角色,即一个用户可以即是Administrator又是Operator,该用户则同时具有管理用户和对系统进行检测和控制的权限.从需求的角度而言,Administrator角色的用户并不需要直接参与系统的控制;但若有必要,Administrator角色的用户可以为自身添加Operator的角色,从而以Operator的身份参与控制.

5 系统测试

下面选择B/S监控系统的两个主要页面——监控系统主页面和燃烧器控制页面对系统的行为进行测试.

监控系统主页面如图3所示.通过该页面,用户可以查看窑炉现场设备的实时工作状态和设备的当前参数值.界面中的文本框显示的是窑炉现场的温度、压力、流量等实时数据,其数据的更新是通过ASP.NET页面中的Timer控件的定时事件来实现的.由于采用了AJAX技术,可以实现部分页更新,不用重新刷新整个页面,使得操作人员的能够获得和C/S客户端几乎完全相同的体验.另外,页面中的显示数据和现场的实测数据几乎是完全同步的,略有滞后,这主要是由读取下位机PLC中的数据时引起的,其实时性完全能满足监控系统的要求.

图3页面下部为操作现场设备的按钮,可以用于启停现场的热工设备.根据登入用户的角色和权限的不同,该按钮只针对Operator是有效的.为使窑炉能够安全工作,在操作设备启停的时候设置有连锁检验程序,通过在下位机PLC中编程实现.

系统控制和参数设定页面运行时的效果图如图4所示,该页面能够完成对烧嘴、排烟风机和助燃风机等热工设备的自动控制.图中的文本框分别用来完成参数设定、给定值显示和反馈值显示.采用AJAX技术后,可以使得在设置参数或读取反馈数据的时候只刷新部分页,不需要回发整个页面.同时,为确保系统参数设置的安全性,在Server端有参数有效性验证程序,当用户输入的参数错误时,在出现相应的告警信息,并阻止用户写入非法参数.

图4 燃烧控制器的参数设置页面

上述测试表明,基于B/S模式的监控系统从功能、安全性、实时性和用户体验方面均能够满足窑炉监控系统的要求.

6 小结

随着网络技术的发展和工业生产规模的扩大,B/S模式的远程监控系统正在逐步取代传统的C/S模式的远程监控系统.本文针对富氧陶瓷窑炉开发了一套基于ASP.NET的B/S远程监控系统,并对系统实现的可行性及关键技术进行了详细说明.通过测试,富氧陶瓷窑炉B/S远程监控系统能够满足窑炉监控的各项要求,同时使用户能够获得类似于C/S客户端的体验,真正实现了瘦客户端,极大的减轻了客户端的开发维护工作.

[1] 张维江,蒋鉴华,胡国林.辊道窑温度监控系统分析与展望[J].中国陶瓷工业,2005,12(4):30-33.

[2] 边冰.基于PLC硬件系统的隧道窑温度模糊控制方案[J].佛山陶瓷, 2004,14(8):24-25.

[3] 阳锋,徐建波.AJAX技术的性能改进研究[J].计算机工程与科学,2008,30(6):147-148.

[4] 吴吉义,平玲娣.WEB2.0主流应用技术AJAX性能分析[J].计算机工程与设计,2008,29(8):1913-1914.

[5] 赵炜,张戟,张伟红.一种在线模糊控制的锅炉过热蒸汽温度调节方法[J].计算技术与自动化,2007,26(2):27-30.

[6] Vieria J,Mota A.Artificial Neural Networks and Neuro-Fuzzy Systems for Modeling and Controlling Real Systems:A Comparative Study[J]. International Journal of Engineering Applications of Artificial Intelligence,2004,17(3):265-273.

[7] 周杨.AJAX应用的典型设计模式[J].计算机系统应用,2011,20(1):128-132.

[8] 姜麟.开发基于Web技术的工业信息远程实时监测系统[J].计算机应用,2000(7):63-65.

[9] 尉学军,刘跃. 基于Web的B/S结构实时监控系统[J].贵州工业大学学报,2002,31(5):62-67.

[10] 孙华,戴跃洪,崔宣.B /S模式下ERP车间实时监控系统的实现[J].现代生产与管理技术,2009,26(1):23-25.

[11] 郎建勋,钟建伟.富氧陶瓷窑炉监控系统的设计[J].湖北民族学院学报:自然科学版,2011,29(4):390-392.

猜你喜欢
富氧窑炉控件
河南荥阳市一碳素厂窑炉坍塌 致3人死亡3人受伤
关于.net控件数组的探讨
液晶玻璃窑炉节能设计开发与应用
关于窑炉节能的答疑
关于高海拔地区办公富氧环境研究
陶瓷窑炉钠钙双碱法脱硫应用的分析与建议
用富氧燃烧技术减少水泥生产过程NOx排放的可行性分析
ASP.NET服务器端验证控件的使用
富氧条件下Co/ZSM-5催化剂对C3H8选择还原NOx的性能
富氧加压反应器焙烧辉钼矿过程研究