APP下载

基于B/S的分布式空调系统的设计与运行分析

2012-07-11谭翠萍

制造业自动化 2012年17期
关键词:线程页面分布式

谭翠萍

(内蒙古建筑职业技术学院,呼和浩特 010050)

0 引言

所谓B/S结构,即浏览器/服务器结构,是互联网技术不断发展的产物,主要是由表示层、功能层以及数据层三层构成的[1]。所谓分布式空调系统,也叫做集散空调系统,是对空调的运行进行集中管理以及分散控制的一种计算机系统。随着现代化科学技术的迅猛发展,互联网影响力的日益扩大,工业自动化水平也有了很大程度的提升,借助分布式控制系统来实时监控并有效管理空调的运行成为当前的一大热点课题;与此同时,借助WEB技术以及浏览器/客户端结构实施远程监控也受到各个领域企业的高度重视和广泛关注,并在企业自动化生产发展中发挥着不容忽视的重要作用[2]。

1 基于B/S分布式空调系统的设计方案

1.1 基于B/S分布式空调系统硬件方案

本分布式空调系统主要是由过程检测级、现场控制级、中央管理级以及远程监控级等四部分构成。其中,过程检测级位于分布式空调系统最前面,主要包括传感器、变送器以及相应的执行机构等部分,充当的是检测元件及执行器;一系列的智能调节仪表以及测量模块共同构成了现场控制级,其主要作用是收集、处理并控制所有现场过程信号;中央控制计算机是中央管理级的主要部件,通过RS-422、RS-485或ISA总线连接到现场控制级,其主要作用是对试验情况实施动态监控,对试验数据进行管理,进而生成与之对应的曲线或报表,除此之外,还通过将相应的控制指令发送到下位测控级的方式实现对分布式空调系统运行的有效控制[3];企业内部网或互联网中相应的远程监控计算机是远程监控级的主要组成部分,利用TCP/IP协议开展与中央控制计算机的通信,以获取与试验相关的信息,准确掌握试验进展情况。基于B/S分布式空调系统的硬件方案如图1所示。

图1 基于B/S分布式空调系统的硬件方案示意图

1.2 基于B/S分布式空调系统软件方案

基于B/S分布式空调系统软件是由中央管理级实时控制软件以及远程控制级实施监控软件两部分构成的,中央管理级实时控制软件一个线程的任务是及时向远程控制级实时监控软件传输所收集到的相关数据。

1)中央管理级实时控制软件。实时性及多任务性是中央管理级实时控制系统的主要性能。所谓实时性,主要强调的是时间对于控制系统中的重要性,务必确保在既定的时间内开展控制行为,并在规定的时间内完成,并依照时序要求将信号发送出去;所谓多任务性,主要指的是数个独立或者半独立的任务在系统中同时存在,各自负责处理既定的信号,同时控制与之对应的设备及过程。根据上述阐述不难看出,实时控制系统对实时性的要求极高,与此同时,系统实时性在很大程度上主要是受任务管理的影响。

选择Windows 2000操作系统运行测控系统。利用单进程多线程技术开展中央管理级实施控制软件的设计工作,单纯从Windows操作系统分析,线程之间区别不大,然而在MFC方面,线程则包括使用者界面线程以及工作者线程两种,其最大的不同之处体现在前者增加了消息队列。每一个使用者界面线程便构成一个系统主线程,主要负责执行与消息循环相关的操作,并对人机交互命令进行处理;工作者线程主要任务是对后台工作进行处理。笔者在此所阐述的基于B/S分布式空调系统设计方案主要包括实时采集及控制、实时数据存储、实时监控、串口通讯以及远程监控数据存储等五个线程。其中,对实时性要求最高的是实时采集及控制线程,该线程还负责将所收集到的数据向其他线程进行传输,所以,该线程具有最高的优先级。中央管理级实时控制软件结构详见下图所示。

图2 中央管理级实时控制软件结构示意图

2)基于B/S结构的远程监控级实时监控软件。所谓B/S结构,也就是浏览器/服务器结构,是随着互联网技术的发展而出现的,该结构在一定程度上对之前的C/B结构进行了改进,改进之处主要体现在:在之前的客户/服务器结构基础之上新增加了中间层,中间层主要用来负责实现之前属于客户机的功能,这个新增加的中间层就是WEB服务层。由此可知,B/S结构主要包括表示层、功能层以及数据层三层,其中,表示层也就是用户界面,功能层也就是WEB服务器,数据层也即是数据库服务器。浏览器/服务器结构与之前的客户/服务器结构相比较而言,其优势主要体现在以下两方面:第一,对于用户端而言,所需要的浏览器软件只有一个,比较常见的浏览器软件有IE,这样实现了统一的界面,操作难度也大大降低;第二,客户端不用安装专用的软件,只需要对WEB服务器的软件进行更新便可以达到系统升级的目的,这就给系统的维护提供了极大的便利;最后,浏览器/服务器结构所使用的是标准的TCP/IP通信协议以及HTTP协议,具有较高的广域网基础,扩展性能优越,可以较为轻松的实现多用户监控以及信息共享。

2 关键技术分析

2.1 数据存储

笔者在此所探讨的数据主要指的是实时采集的数据,也就是各个时间点现场数据的综合,涉及到各个监测点的数值以及时间戳[4]。中央控制软件中数个线程均会利用到实验数据、控制状态参数以及报警信息等,因此,笔者在分布式空调系统设计方案中将其归入到共享数据范畴,同时利用临界区来对共享数据的安全性提供保障。出于确保线程执行效率不断提升的考虑,要保证各个线程所生产的副本大小与共享数据相一致,在对共享数据进行读取的过程中[5],将共享区视为内存块,同时在副本中对其进行复制,之后立刻退出共享资源,执行相应的任务。为确保传输过程中数据的准确性不受影响,线程相互间选用事件同步。对于所保存的数据资料,主要采取二进制文件以及数据库文件两种管理方式。其中,二进制文件系统可以实现较高的存储效率,并且文件相对较小,所以,笔者在此选择该管理方式,这样可以更加便利的查询中央控制软件中的动态趋势曲线;除此之外,选择MS SQL SERVER数据库文件对相关数据进行保存,这样可以为远程实时监控WEB网页创造有利条件[6]。

对于中央控制软件的数据采集模块做收集到的相关数据,首先需要由远程监控数据存储线程进行复制,之后,在通过远程监控数据存储线程将其在MS SQL SERVER 2000数据库中进行保存。在VC中利用ADO技术实现与数据库的连接,同时动态生成以试验起始时间为表名的数据库文件,试验数据通过带参数的存储过程进行保存。应用程序与数据库之间开展新型交流的方式主要有两种,一种是在应用程序中写入T-SQL语句,之后开展针对数据库的相关操作;另外一种就是在存储过程中写入T-SQL语句,针对数据库的操作主要是通过调取应用程序中的存储过程来实现。利用存储过程能够在很大程度上为更改和升级应用程序提供便利条件,不仅如此,通过存储过程还能够实现对网络通信量的有效控制,促进运行特性的进一步提升。主要原因在于:对于用户而言,若通过应用程序将T-SQL语句发送到服务器,T-SQL语句发送的主要途径主要是网络,同时在每次的运行过程中都需要进行重新编译;但是,若利用存储过程来进行T-SQL语句的发送[7],便可以借助一个语句将这些T-SQL语句从应用程序中调取出来并按照要求进行运行,每个存储过程都会由SQL SERVER进行编译处理,进而得到一个可以单独执行的一组T-SQL语句,在首次执行该存储过程的情况下,将会在数据库内存中存储这一计划,这样,该计划就可以被反复利用,更重要的是,在运行存储过程的时候,SQL SERVER也不会对应用程序进行重新编译。

2.2 WEB页面实时刷新

WEB页面自动刷新的实现。实时监控页面可以对数据库中的相关数据信息进行调取,并且利用VBSCRIPT确保数据库有效连接、查询以及显示等顺利实现;不仅如此,还会将HTML的REFRESH标记添加在文件的开头位置,并将WEB页面进行自动刷新的时间添加到CONTENT当中,WEB页面自动刷新的时间单位是秒。整个文件都会在每次的WEB页面自动刷新过程中执行连接数据库、查询及显示,一旦数据库中相关数据出现变动,WEB页面可以及时将该变化反馈给用户[8]。

画面闪烁问题的解决。远程监控软件的显示方式主要有数据表格实时显示以及流程图动态显示两种,对于页面刷新来说,如果未经任何处理,就会存在页面闪烁现象,导致这一问题的主要原因就是页面资源在浏览器中的重新载入,尤其是在页面资源包含有图片、ACTIVEX控件或者是JAVAAPPLET的情况下,页面闪烁问题将会变得更加严重。笔者在此所阐述的基于B/S分布式空调系统在选择流程图动态显示方式的情况下,因为其中包含有JPG图片资源,因此,如果不进行适当的处理,在进行频率较高的刷新的情况下就很难看清楚画面内容。为了确保实现理想的显示效果,笔者对服务器端ASP程序进行了一定的完善,主要是对流程图动态显示进行了适当的划分,这样就得到流程图画面部分以及实时测量数据部分,针对二者分别制作与之相应的页面,在此将其称作为画面页面以及数据页面;之后对二者进行集成。画面页面只负责显示,数据页面主负责定时刷新,同时负责向画面页面传输数据,这样画面闪烁问题便得以妥善解决。

3 结束语

综上所述,随着科学技术的发展,互联网影响力的扩大,工业自动化水平明显提升,借助分布式控制系统来实时监控并有效管理空调的运行成为当前的一大热点课题。基于B/S分布式空调系统具有极大的发展空间。

[1] 张书涛, 刘延斌, 贾晨辉, 仲志丹. 复杂设备的网络化远程监控及故障诊断系统[J]. 河南科技大学学报(自然科学版). 2010, (06).

[2] 岳宝华. 基于嵌入式Linux的多线程远程监控系统设计与实现[J]. 信阳农业高等专科学校学报, 2008, (01).

[3] 郝令培, 江宇, 郑宏瑞, 郭利波. 电信机房监控数据采集器软件的设计与实现[J]. 煤炭科学技术, 2007, (11).

[4] 尉学军, 刘跃. 基于Web的B/S结构实时监控系统[J]. 贵州工业大学学报(自然科学版), 2002, (05).

[5] 曹小华, 陶德馨, 周强. 基于无线网络的多机网络化监控系统研究[J]. 武汉理工大学学报(交通科学与工程版),2007, (02).

[6] 王志勇, 巴力登, 石磊. 基于B/S结构下分布式控制系统的实时监控[J]. 工业控制计算机, 2006, (04).

[7] 赵成, 朱同坤, 曹小华. 基于无线局域网的港口机械监控系统研究[J]. 中国水运(理论版), 2006, (04).

[8] 贾永振, 刘载文, 段长明, 马永宏. 基于WEB的远程实时监测系统的实现技术[J]. 微计算机信息, 2006, (22).

猜你喜欢

线程页面分布式
刷新生活的页面
基于C#线程实验探究
答案
让Word同时拥有横向页和纵向页
基于国产化环境的线程池模型研究与实现
线程池调度对服务器性能影响的研究*
分布式光伏热钱汹涌
基于预处理MUSIC算法的分布式阵列DOA估计
分布式光伏:爆发还是徘徊
基于DDS的分布式三维协同仿真研究