栾鸾,刘兆峰*,刘传永,刘振通
(1.山东建筑大学 信息与电气工程学院,山东 济南 250101;2.山东省药学科学院,山东 济南 250101)
基于Socket的采暖评价系统监测软件设计
栾鸾1,刘兆峰1*,刘传永2,刘振通1
(1.山东建筑大学 信息与电气工程学院,山东 济南 250101;2.山东省药学科学院,山东 济南 250101)
随着经济的不断发展,建筑采暖能耗过高的问题日益受到关注。而采暖评价系统的数据采集监测软件是对分散在网络上的作为单独交汇点的数据采集装置进行监测和操控的前提和基础。文章针对建筑采暖能耗过高的问题,基于SQLServer数据库在VisualStudio开发环境中运用Socket技术,对采暖评价系统监测软件的设计流程、多线程的Socket通信、数据库进行了设计;通过对采暖评价系统监测软件工作运行,验证了采暖评价系统软件的可行性和实际效果,证明可满足节能运转的设计要求。
Socket;数据采集;SQLServer;VisualStudio
随着经济的不断发展,建筑采暖能耗过高的问题日益受到关注。由于我国建筑业的飞速成长,建筑产生的能耗占总能耗的比例愈来愈大,早已到达了29%,其中大约有56%为采暖能耗。通过以上数据明显可以看出采暖能耗占据了建筑能耗中最大的部分,所以这也是节能环节中最紧要的部分。我国建筑采暖能耗过高的原因不仅仅是因为建筑本身的能耗大,导致能耗过高的另一个原因就是是采暖系统本身的效率比较低,所以采暖系统运行的评价就变得非常重要。它包含了换热站与管网运送阶段中的节能评价跟对用户自己本身的节能方案评价。在此过程中需要对热交换站、楼栋及室内运行的设备进行监视,通过数据分析对供暖效果、建筑物墙体数据进行采集和评价以达到优化运行和节能的目的。目前北欧国家的丹麦、瑞典等采暖系统世界领先,主要是以热电联采暖为主,普遍采用了计算机自动控制,实现了热网运行的自动监测,管网运行效率高。在我国主要采用市政热力管网的采暖系统,以很低的效率在运行,过去很长的时间我们在建筑节能中欠缺对采暖系统的综合考量,导致了整个建筑能耗始终没有下降的趋势,而如何来评价一个采暖系统的节能运转情况就成为了一个非常值得研究的课题[1-5]。
Socket传输在运行过程中有着建立连接所用时间短,速度快,性能高;进行传输的原始数据包能够自定义,数据占用的空间小;适合于客户端和服务器端实时交互;可以加密,数据安全性强等优势,文章提出了以ARM为核心的采暖评价系统数据采集模块,通过CPU和外围电路完成换热站的热量、电量,楼栋的热量以及室内外温度等参数的数据采集,然后与上位机通过GPRS模块以TCP/IP协议为中介经过电信局的转换进行数据通讯,来完成显示功能然后保存至SQL数据库中。文章着重介绍采暖系统上位机软件的设计,使用Socket无线通讯功能,摆脱了有线传输距离的限制,具有了主动采集、实时显示、按规定时间储存、网络传送、数据分析等功能,保障了设备现场原始数据的实时性、准确性、可使用性,采暖评价系统的数据采集监测软件是对分散在网络上的作为单独交汇点的数据采集装置进行监测和操控的前提[6]。
文章设计的采暖居住建筑评价系统主要包含数据采集模块、GPRS通讯模块和上位机监测软件。数据采集模块的主要功能是采集现场设备的实时数据,温度电量等,经过数据分析上传给上位机;GPRS模块是这个系统最重要的组成部分,其作用是连接数据采集模块与上位机。
目前该通讯领域中比较普遍的的无线通信方式有GPRS、WiFi、无线电站利用卫星通信、无线电台及ZigBee等,根据系统不同部分的位置和各无线通信方式的特点,各部分选择相应的无线通信方式。本系统中传感器与数据采集模块由于距离比较近,采用RS485方式,监控中心与现场距离比较远,所以采用GPRS的方式。而采集模块与监测软件两个程序要实现通信需要通过一个双向的连接,这个连接的一端称为Socket。Socket又称"套接字",软件需要通常通过"套接字"向网络发出请求或者应答网络请求。
GPRS全称是通用分组无线业务,是全球移动通信系统提供的分组数据技术,它第一次在全球移动通信系统网络中植入分组交换标准样式。使用GPRS的方式进行数据通讯具有非常的多优势:(1) 可以一直在线,数据采集器可以始终和网络维持连接;(2) 费用低廉;(3) 登录快速,连接时间很快;(4) 网络组建快捷方便,而现在的GPRS网络地覆盖面很广[7]。本采暖评价系统的总体结构框图如图1所示。
2.1系统软件主要功能
文章软件的设计需要完成无线网络原始数据的接收和处理两个部分。上位机选择用MicrosoftVisualStudio2010当做开发环境来完成该软件的设计。它可以进行界面设计、用各种方式进行数据通信,与数据库创建连接也非常简单[8]。无线网络数据接收处理部分采用ASP.NET技术,软件采用C#语言进行编程。
该GPRS模块内部嵌有TCP/IP协议,然而TCP/IP协议有十分强大的不同种类处理器互相连接的能力,它在Internet网络上有很广泛地应用,并且已经变成网络连接的统一规则。在VS开发工具下进行网络通信需要通过网络编程Socket组件和WindowsSocket接口函数来实现,而Socket还要使用下层的网络通信协议完成现场的数据通讯任务。Socket就是网络上的两个程序通过一个两个方向的通信连接要求来完成数据的传输[9-10]。
图1 采集评价系统总体框图
根据监测需求采暖数据采集系统要实现的软件功能有:
(1) 数据实时监测功能 换热站、各个楼栋和用户的实时数据(流量、电量和温度等)被采集到服务器后进行运算处理,能够显示在服务器的屏幕上,准确的反映系统实际运行状态,每30min纪录一次数据。
(2) 故障报警功能 该采暖评价系统有故障自动警报功能,方便实时告知维修人员去处理检测。检测的故障有:温度电量热量传感器采集数据错误、GPRS通信连接失败、停电等。
(3) 数据报表功能 本软件可以通过连接数据库自动生成Excel报表,随时对历史数据做统计与打印。
(4) 数据分析功能 实时绘制室内外的温度曲线图、换热站的瞬时流量曲线图和电量曲线图、水泵的电量和栋表流量曲线图、温差曲线图;同时对供暖效果、建筑物墙体数据进行分析和统计,然后进行调整。
(5) 数据存储功能 系统的数据库可以进行本地储存,存储时间由监测中心需求决定。使用人员还可以根据需求来随时将数据进行备份,假如系统遭到病毒入侵,可以利用备份还原系统。
2.2软件设计方案
此系统要求通过无线网络远程接收各个换热站、楼栋和室内的所有变量的数据。在这里考虑到系统的实际应用性及成本高低,本方案决定采用GPRS作为载体来实现。
(1) 软件设计流程 首先服务器端与各个客户端都要各自新建一个套接字Socket,目的是向网络发出请求,紧接着服务器端要调取一个Bind()函数,它的作用是把之前新建的套接字跟该服务器端的本地网络地址捆绑在一块,本地网络地址包含了所使用计算机的IP地址跟要使用的端口号。之后服务器端使用Listen()函数,这个函数是为了使这个创建的套接字处于一直被监听的状态,与此同时还要预先指定套接字的请求队列的长度;随后就使用Accept()函数,这是为了让服务器端接受来自不同客户端的连接请求,然后调取Receive()函数用来接收从客户端发来的原始数据包。最后加入传输Close()函数来结束关掉套接字,传输通信程序终止[11]。Socket通信流程如图2所示。
(2) 多线程的Socket通信 由于此采暖评价系统有很多个客户端同时往服务器端发送数据,此时必须要采用多线程Socket通信。每一个客户端想要与服务器端建立连接通信,服务器端就要添加一个新的线程去处理这个连接请求。多线程的程序是一种可以使很多任务同时去完成的运行模式,它的优势有很多:多线程能够大幅度地提高应用程序响应速度,让多核CPU的系统变得更有效率,调整原本的程序结构等[12]。每当要建立新的客户端连接请求时,主线程不会去直接处理这个请求而是会在程序中创建一个新的子线程承担请求连接的责任。其多线程服务器端的部分程序算法如图3所示。
图2 Socket通信流程图
图3 多线程服务端算法图
本采暖评价系统的服务器端是搭载Windows系统的个人计算机,客户端是三个基于嵌入式的数据采集器。首先从采暖评价系统监测软件通信部分的主线程里,新建立一个Socket套接字并与本地网络地址捆绑在一起,然后承担监听数据采集器发送来的Socket连接请求的职责。各个数据采集器开始运行自己独立的程序时,数据采集器会给计算机发送一个Socket连接请求,软件程序此时应对三个数据采集器连接请求就要分别打开一个新的线程,并且要在每个线程里建立起新的Socket连接与数据采集器进行通信,本软件设计运用了构造函数的方法实现多线程通信。
Socket是能够容许同步和异步两种方法进行工作的。同步方式就是客户端发送原始数据包以后,不等服务器给它响应,就立即发送下一个原始数据包;异步方式就是当客户端发送一个原始数据包以后,必须要接到服务器端的响应指令后,才可以继续发送下一个原始数据包。相对比于网络运行负荷有些大的系统来说,这时就要使用异步方式的Socket操作了。异步Socket可以在侦听的同时进行其他的操作。服务器端的异步方式Socket操作,它必须要有一种标志,这个标志可以同意客户端发来的无线网络的连接请求;还要有一个回调函数来处理解决刚才的连接请求并且从网络中开始接受从客户端发来的原始数据,最后设计回调函数去终止接收原始数据[13]。在Socket中使用BeginReceive方法接受数据,其中部分算法程序如下:
(3) 数据库设计 对于上位机监测软件来说数据库已经变成它最关键的部分,数据库能否实时并且精确得得到传感器设备发来的数据是所有数据采集系统合理运行的根本条件。本设计采用SQLServer2008,SQLServer的优势是图形化用户界面易操作,响应时间短,并且可以为大量用户保持高速运行的职能[14]。本设计将实时数据按要求存入数据库中,工作人员可从数据库中查询历史数据表并打印,其中部分数据会根据需求采用某些算法处理后使用。采用SQLServer数据库相对来说简单且易操作的。
设计中用到的主要控件介绍及其使用如下:
Panel控件Windows窗体Panel控件的功能是可以让其他控件放到不同的界面中。一般情况下,使用面板按具体页面的功能来细分窗体。将所有选项分组在一个面板中可向用户提供逻辑可视提示。进行界面设计的时候任何控件都可以轻松移动,但是移动Panel控件时候,那些属于Panel控件区域的其他控件也都会跟随平移。本设计中主要应用在界面的切换。
Timer控件 当触发Timer事件的时候,它可以隔规定时间就响应一段程序如此反复。它的重要属性有Interval和Enabled。本软件设计中该控件主要应用在把数据储存到数据库中。
DataGridView控件 在用C#语言进行的软件开发过程中,DataGridView控件功能非常强大、用途普遍,它能够很容易而快速地显示出数据库中的数据记录信息,还能对其显示的数据进行实时修改或仅仅起到显示查看的作用。使用DataGridView控件,能够大批量显示和修改表格式的数据,然而这些数据是允许来自于不同类型不同种类的数据源。DataGridView控件拥有很高的可操作性和可添加性,具备了非常多的属性,能够对该控件的外观等状态进行自定义设计[15]。
① 数据库表的建立
表是储存数据的地方,因此是数据库的核心部分。因为表是由行和列构成的,所以创建表其实等于定义行和列。在相同一个表中的列名不能有相同的,同一列的数据一定是相同一种数据类型,否则数据不能存储进去。本软件中在数据库建立表如图4所示,其中包括系统时间、换热站流量、换热站总电量、水泵电量、栋表流量、室内外温度等。
图4 数据库表目录
② 上位机软件与数据库的连接
用VisualStudio作为数据库开发平台有互操作性、可伸缩性、标准化三个优点。在软件中要访问数据库,第一步要建立与数据库的连接。在框架中,VS提供了用于创建和管理连接的类:SqlConnection类,主要用于VS与SQLServer数据库的连接;数据命令类:SqlCommand类,主要用于数据的储存。
2.3采暖评价系统监测软件运行效果检验
本软件通过长时间的工作运行,数据采集实时准确,可以将现场发送来的的原始数据精确读取并按传感器的协议规定格式换算显示,获得了相对较好的数据采集效率,达成了设计预计的目标。其中主要运行界面及效果图如图5所示。
图5 数据显示图
数据查询界面如图6所示,主要用于工作人员查询记录的数据信息。用DataGridView控件来进行显示查询的结果,点击“返回”按钮即可退出查询界面。
图6 查询界面图
文章在VisualStudio2010环境中编写了采暖评价系统监测软件的程序,在GPRS网络的传输介质下,运用了Socket多线程通信技术,在上位机构建了一个Socket服务端为核心的监测平台,实现了上位机监测软件与数据采集装置的数据采集、显示、储存,另外还实现了数据分析、故障报警等功能。经过现场设备运行了一段时间,证明设计的使用效果满足节能运转的设计要求。
[1]张健,李东玲,马爱龙,等.基于GPRS的集中供热数据采集系统[J].辽宁工程技术大学学报,2007,26(6): 885-888.
[2]耿香丽.北方城镇住宅采暖节能评价体系研究[J].低温建筑技术, 2015, 37(3):131-133.
[3]尹冰玉.供热系统节能评价办法及优化方案研究[D].大连:大连海事大学, 2014.
[4]黎文安. 西安市既有建筑节能改造技术与效果评价[J]. 山西建筑, 2010, 36(2):266-268.
[5]沈婷婷. 夏热冬冷地区既有居住建筑节能改造策略研究[D]. 杭州:浙江大学, 2010.
[6]陈立新,梁明,陈敬谦,余楠,等.基于基于ARM和Linux的数据采集系统及其在电能质量的监测中的应用[J].环境技术,2010,6(3): 27-30.
[7]佟欣.GPRS技术在数据采集与监控系统中的应用[J].黑龙江科技信息, 2013,30(23): 26-29.
[8]解丽华.通用软件自动化测试框架开发与应用[D].北京:北京工业大学,2012.
[9]司志泽.基于嵌入式与GPRS的电梯数据传输系统的设计[D].乌鲁木齐:新疆大学,2013.
[10]孙忠富,曹洪太,李洪亮,等.基于GPRS和WEB的温室环境信息采集系统的实现[J].农业工程学报,2006, 22(6):131-134.
[11]詹文元,金花,程永谊,等.基于嵌入式网关的socket编程及通信协议[J].可编程控制器与工厂自动化, 2005(1):117-120.
[12]崔海全,张春梅,赵志诚.基于C#液位过程测控软件的设计与实现[J].太原科技大学学报, 2012,33(1):1-5.
[13]黄承安,谢东文,徐聪.C#网络应用案例导航[M].北京:中国铁道出版社,2003.
[14]姚一永,吕峻闽.SQLServer2008数据库实用教程[M].北京:电子工业出版社,2010.
[15]赵书沁,黄洪,游青山.C#.NET中dataGridView控件的设计使用[J].电脑编程技巧与维护,2014(15):32-34.
[16]王志伟,沈杰峰,郭启峰,等.基于Socket的GPRS远程数据采集方法[J].西华大学学报, 2006,25(1):37-39.
(学科责编:李雪蕾)
Design of monitoring software for the heatingevaluationsystembasedonSocket
Luan Luan1,Liu Zhaofeng1*,Liu Chuanyong2,et al.
(1.School of Information & Electrical Engineering, Shandong Jianzhu University, Jinan 250101, China; 2.Shandong Academy of Pharmaceutical Science, Jinan 250101, Chiina)
Withthecontinuousdevelopmentofeconomy,theproblemofhighenergyconsumptionofheatingbuildingshasbeenpaidmoreandmoreattentionto.Thedataacquisitionandmonitoringsoftwareoftheheatingevaluationsystemisthepremiseandfoundationofmonitoringandoperatingthedatacollectingdevicewhichisdistributedtothenetworkasanindependentnode.Aimingattheproblemofhighenergyconsumptionofbuildingheating,thispaperusesSockettechnologybasedontheServerSQLdatabaseinStudioVisualdevelopmentenvironmentanddesignsthemonitoringsoftwareofheatingevaluationsystem.Thedesignincludesthesoftwaredesignprocess,multithreadSocketcommunication,anddatabase.Thefeasibilityandtheactualeffectofthesoftwareoftheheatingevaluationsystemareverifiedbythesoftwareofthemonitoringsystem,whichprovesthatthesystemcanmeetthedesignrequirementsoftheenergysavingoperation.
Socket;dataacquisition;SQLServer;VisualStudio
2016-01-10
栾鸾(1989-),男,在读硕士,主要从事检测技术与自动化装置等方面的研究.E-mail:luan891201@sina.com
*:刘兆峰(1961-),男,教授,学士, 主要从事建筑设备智能化等方面的研究.E-mail:goldauto@163.com
1673-7644(2016)01-0053-05
TP311.5
A