admin管理员组

文章数量:1531715

2024年5月9日发(作者:)

基于Qt的中央空调远程监控系统的软件设计

郭庆;刘学敏;许金;徐翠峰;刘艳华

【摘 要】为了实现中央空调系统的远程监控,设计了一种实时中央空调系统远程监

控软件.对中央空调控制系统进行研究,分析系统的功能需求,采用经典三层架构,基于

Qt利用pvBrowser构建系统框架,采用矢量图形动画显示、多线程技术、数据库

等技术,以及对BACnet协议应用层的研究开发,实现了对中央空调系统设备状态参

数的远程实时显示功能、开关远程控制功能、上下警戒限报警功能和数据存储分析

功能.设计完成的软件实用、高效、稳定,支持多种楼宇通信协议,其后续开发将使系

统可以满足中小自动化集成商使用需求.%In order to achieve remote

monitoring of central air-conditioning system,a real-time central air-

conditioning system of remote monitoring software is on

functional requirements of analysis system,classic three-tier architec-ture is

used on the system adopted pvBrowser build system

framework based on vector graphics ani-mation display,multi-

threaded technology,database and other technologies are also used in the

remote central air-conditioning system employer the BACnet

protocol application layer to realize the system equipment status

parameters display real-time memory analysis capabilities,remote control

switch,the upper and lower limit of the warning alarm func-tion and

ed software is practical,efficient,stable,and supports a variety

of building communication protocols, and its subsequent development will

enable the system to meet the needs of small and medium automation

-signed software is practical,efficient,stable,and supports a

variety of building communication its subse-quent

development will enable the system to meet the needs of small and

medium automation integrators.

【期刊名称】《桂林电子科技大学学报》

【年(卷),期】2017(037)006

【总页数】5页(P447-451)

【关键词】中央空调;远程监控;软件设计;矢量图形;BACnet协议

【作 者】郭庆;刘学敏;许金;徐翠峰;刘艳华

【作者单位】桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004;桂林电

子科技大学 电子工程与自动化学院,广西 桂林 541004;桂林电子科技大学 电子工

程与自动化学院,广西 桂林 541004;桂林电子科技大学 电子工程与自动化学院,广

西 桂林 541004;吉林医药学院 计算机教研室,吉林 吉林 132031

【正文语种】中 文

【中图分类】TP311

中央空调系统在现代智能建筑中占据着重要地位,在智能建筑空调设备所占能耗比

例最大,因此是智能建筑系统中重点监控和管理对象。监控软件系统则是实现空调

设备高效节能安全运行的重要基础。但是国内80%以上的建筑智能化工程所采用

的都是国外的监控软件,国际市场中,江森、西门子和霍尼韦尔等国外公司的软件

系统受到了广泛的认可。分析其原因主要是有2个方面,国外公司的软件在使用

时间上比国内软件长,功能成熟稳定;其次这些公司具有完善的硬件设备系统与其

软件系统相匹配,其软硬件具有更好的结合性[1]。但是针对我国现在的国情,国

外的软件系统运行稳定、功能全面,却价格昂贵。国内智能建筑起步较晚,国内厂

商未掌握暖通空调的核心技术,而随着中国的迅速发展,商场、酒店以及娱乐场所

的增多,对于智能控制系统的需求量会越来越大。所以,设计具有完全自主知识产

权的中央空调监控系统,在我国拥有广阔的市场和发展空间。为此,针对中央空调

系统功能需求,设计并实现了一个对中央空调系统实时远程监控软件。

1 中央空调监控系统概述

中央空调监控系统是中央空调系统的重要组成部分,同时也是中央空调系统安全稳

定运行的重要保证。中央空调监控系统的任务就是通过对中央空调系统全部设备的

实时监控,维持系统的安全运行,从而优化建筑内部的室内环境,提高其舒适性与

健康度。同时监控系统可以储存设备的历史参数信息,生成各种报表,提供维护人

员分析改进,大量的数据结合相应的计算分析,有利于中央空调系统的节能优化控

制。监控系统使得中央空调系统在达到节能目标的同时,又以计算机取代了部分人

类工作,从而节省了人力,降低了中央空调系统维护管理的成本[2]。

作为现代化建筑,建筑物内具有功能不同的自控系统,分布品类繁多的机电设备

[3],例如:高低压变配电柜、大量的空调风柜、照明配电柜、风机盘管、给排水

泵等。因此,对建筑设备监控系统有很高的要求,不仅要分散监控各系统内的机电

设备,同时要采用通用的BACnet标准协议使不同系统内的设备可以互相通信联

动控制[4],从而提升建筑环境的舒适性、健康性,并且可以减少不必要的能源浪

费。所以,对中央空调监控系统进行研究,分析其实际需求,合理的设计是十分必

要的。

2 监控软件的实现

2.1 软件的架构设计

为实现中央空调远程监控的功能,采用客户端/服务器的网络架构。服务器端处理

所有工作任务,因此重点对中央空调监控系统服务器软件进行架构设计。

鉴于3层架构具有低耦合、易扩展的优势[5],并且为了满足在配置、调试和应用

的3个阶段,不同工程对监控软件的不同功能需求,设计中央空调监控系统服务

器采用3层架构,如图1所示。Qt是一个跨平台的开发软件(在Windows平台和

Linux平台需要安装相应的Qt开发环境以及运行库),基于它优良的跨平台特性以

及在图形界面设计方面所具备的优势,本系统的设计选择Windows系统平台下的

Qt作为开发环境。在Qt编译环境下,采用pvBrowser应用程序框架进行软件开

发与设计,将用户界面、业务逻辑、数据访问分离,为不同需求引入时导致的设计

修改降低复杂度。

图1 远程监控软件系统架构Fig.1 Remote monitoring software system

architecture

1)界面层。功能是与用户进行信息交换,并且界面层只进行信息的交互,不包含业

务处理代码,不作任何业务处理。用户与界面交互操作所产生的任何事件,都以数

据的形式传递给业务逻辑层,由业务逻辑层做出响应;相对应,其他层产生的任何

显示请求,会通过数据传递反馈至界面层,在界面显示。

2)业务逻辑层。实现软件的所有业务逻辑,在分层设计的过程中,遵循了面向接口

设计的思想,业务逻辑层由不同的模块组成,提供接口供界面层调用,完成针对不

同问题的操作处理,主要包括远程通信模块、BACnet通信模块、实时显示模块、

数据解析模块、参数报警模块等。

3)数据访问层。通过对数据库的管理从而实现对数据的读取以及传输。

2.2 服务器 pvserver核心设计

监控系统采用pvBrowser开发实现,pvBrowser是一个由Qt库开发而成的

HMI/SCADA(人机界面/数据采集与监测)应用程序框架,该框架由pvServer(pv

服务器)与pvBrowser(pv浏览器)组成。系统的设计主要是完成对pvServer的开

发,pvServer通过BACnet协议对下端设备进行数据采集以达到实时监控的目的,

并提供报警功能,同时采用MySQL数据库进行历史数据存储,服务器pvServer

对历史数据进行分析,生成曲线和表格数据,以供管理人员通过pvBrowser访问

进行分析。

2.3 服务器的通信设计

pvBrowser工作运行框架如图2所示。pvBrowser主要有pvBrowser和

pvServer两部分,在pvServer内部有2个模块,一个是单独的守护进程

Daemon监视每个接口,循环读取监控设备,并且将所读取结果写入共享内存,

另外的一个线程才是真正的pvServer运行,可以轻松读取共享内存,同时响应来

自pvBrowser的请求。守护进程Daemon搭配有一个Mailbox,pvServer线程

可以写入Mailbox,以使输出信号到接口。pvBrowser针对SCADA(数据监控)和

HMI(人机界面)的应用需求,针对高更新速率进行了优化[6]。

pvServer本身支持3种协议与下端设备通信,分别是Modbus、Siemens TCP

和PPI。BACnet是主要用于楼宇自动化和HVAC(暖通空调)行业的数据通信协议,

该协议支持风机、泵和通风装置等设备与DDC建立通信,这样可以使楼宇达到很

高的自动化水平。本服务器设计采用BACnet协议与被监测设备进行通信,由于

pvServer不支持BACnet协议,基于bacnet-stack协议栈在pvServer上实现了

对BACnet协议的拓展。

图2 pvBrowser工作运行框架Fig.2 pvBrowser running framework

BACnet标准为描述自动控制设备的功能,定义了一些对象(Object),并且具备一

定的属性,不同设备互相交换的数据结构被定义为对象,这个数据结构包含的具体

信息便是对象的属性,BACnet设备可以对对象的属性进行操作,也就是写入和读

出[7]。在BACnet协议的设计实现中,每个应用服务即是一个.c文件和一个.h文

件的结合,其中.h文件是对于该应用服务接口的声明,而.c文件是该应用服务函

数的具体实现内容。例如,bacrp.c和bacrp.h组合实现了ReadProperty(读属性)

服务。图3为ReadProperty服务的实现流程图,在服务开始时首先要进行参数

的解析和本地信息的初始化,然后向指定设备发送ReadProperty服务请求,待

收到数据后,便完成本次服务。

2.3.1 线程选择设计

基于不同工程对软件的需求不同,设计服务器可以选择不同的线程模式。若服务器

针对客户端的连接请求选用单线程模式,则只需在文件中通过使用

#ifdef条件编译,对是否要建立多线程pvServer进行判断,于是每当有一个新的

pvBrowser客户端向pvServer服务器发送连接请求时,pvServer服务器会通过

pvCreateThread()函数创建一个新的线程,回应这个pvBrowser客户端的请求。

而pvCreateThread()函数创建新的线程是通过对pvMain()函数的调用,在这个

函数中通过使用while()循环对pvServer实例中建立的每个mask面板进行调用。

文件执行流程图如图4所示。

图3 ReadProperty服务实现流程图Fig.3 Flow chart of ReadPropertyservice

implementation

图4 文件执行流程图Fig.4 Flow chart of execution

2.3.2 界面设计

界面设计主要分两部分,一部分是图形化监控界面,用于实现操作和信息分析的可

视化,另一部分是非图形界面,提供常规交互操作功能。

SVG作为IEC61970协议推荐的监控画面的标准图形格式,拥有其他图形格式不

具备的优点,因此图元库的设计采用SVG矢量图。利用CorelDRAW(版本x7)软

件制作了一套空调设备的SVG图元库,图5为部分设备图元。SCG图形的原理和

基本设计方法在MSDN所提供的例子中已经得到了详细的介绍[8],所以这里只介

绍图形的组合功能和动画效果的实现。

图5 部分设备图元Fig.5 Part of the device

在SVG矢量图系统中,一个复杂画面是由简单图元组成,所以简单地将图元的组

合设计为图6所示。

图6 组合实现类图Fig.6 Combined implementation class diagram

对应图6的设计,实现的C++代码如下:

Class pvGraph

{

public:

pvGraph();

~pvGraph();

……

private:

pvDrawObjListm_vObjList;

……

};

pvDrawObj

{

public:

pvDrawObj();

~ pvDrawObj();

……

private:

pvDrawObjListm_vObjList;

……

};

动画效果主要是根据用户的不同需求而设定的条件,通过图元各参数的动态变化实

现[9]。图形的动画效果的实现示意图如图7所示。

图7 动画效果实现示意图Fig.7 Schematic diagram of animation effect

realization

2.3.3 服务器的核心实现机制

Qt是一款面向对象的C++应用程序框架,具有优良的跨平台特性,在图形界面设

计方面具备突出的优势。pvBrowser是一款基于Qt开发环境应用于SCADA系统

的开发框架,pvBrowser不仅继承了Qt的这些优点,同时也继承了其信号/槽的

机制[10]。通过使用该机制替代原始的回调和消息机制,从而实现对消息的封装。

在对pvServer服务器工程进行设计开发时,各种事件、界面中的字体字号以及颜

色等关键字全部都在processviewserver.h这个头文件进行具体定义。每个mask

所独有的变量都在与其相关的源文件的DATA结构体中进行定义。将控件添加进

去并进行外观设计,界面中的每个控件的功能均由slotFunctions实现,每个控件

元素都有独立的ID,以此区分单独实现控件的功能,例如:拖动滑块

SLIDER_EVENT所对应的槽函数为:

intslotSliderEvent(PARAM *p, int id, DATA *d, intval)

{

if(p == NULL || id == 0 || d == NULL || val< -1000) return -1;

switch(id){

case slider1:

d->step1=val;

pvDisplayFloat(p, lCDNumber1, (float) val);

break;

}

return 0;

}

当ID为button的按钮被点击时,会弹出一个菜单,对该菜单进行的任何操作会

发送TEXT_EVENT事件给服务器,进行下一步的响应处理。

3 结束语

基于中央空调空调远程监控的功能需求,提出软件设计架构,给出了具体的设计方

案,在Qt编译环境下利用pvBrowser应用程序框架进行软件系统的设计开发与

实现。开发完成后的软件系统由pvBrowser和pvServer两部分组成。

pvBrowser是一款浏览器,只用于对pvServer服务器的访问,不具备任何业务功

能,后续无需进行更新。软件开发基于Windows开发平台,可在

Linux/Unix/Windows等环境下运行,主要以实用、高效、稳定为主,鉴于对于

多种楼宇通信协议的支持,其后续开发将使系统可以满足中小自动化集成商使用需

求。

参考文献:

[1] 于震,李怀.楼宇自动化技术研究进展[J].建筑科学,2013(10):106-113.

[2] 王卓英,荆鸿儒,张旭.浅谈中央空调监控系统的设计、运行和改进[J].电站系

统工程,2013,29(1):77-78.

[3] 张艳玲.关于智能建筑中空调自控系统的几点浅谈[J].机械制造与自动化,

2009(3):163-164.

[4] 周玲.楼宇智能化技术[M].重庆:重庆大学出版社,2014:33-35.

[5] 秦长亭,王少林,申斌.基于Web Service的智能建筑信息集成[J].计算机系统

应用,2012,21(7):13-17.

[6] 郑创鑫,许金,郭庆,等.基于pvBrowser的Linux图形组态软件的研究与开

发[J].国外电子测量技术,2015,34(4):64-67.

[7] 刘贤德,石岩,惠晓实.BACnet的体系结构BACnet协议标准技术系列讲座

(一)[J].工程设计CAD与智能建筑,1999(9):16-20.

[8] 刘东明,陈联,李昕岩.基于可伸缩矢量图形的手绘集合图形结构分析方法[J].

计算机应用,2016(4):1163-1166.

[9] 张学勇,韩晓,李佳阳,等.基于可扩展架构的SVG图形系统的设计与实现[J].

江苏电机工程,2016,35(6):79-81.

[10] 周名阳,韩秀玲.基于Qt的图像数据网络传输应用研究[J].计算机工程与设计,

2011,32(6):1901-1905.

本文标签: 系统监控中央空调设计进行