admin管理员组文章数量:1567739
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.
版权声明:本文标题:基于Qt的中央空调远程监控系统的软件设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1715212922a440988.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论