APP下载

基于GPRS和BP神经网络的热力管网泄漏监测系统

2016-02-19赵迪李允俊

计算机时代 2016年2期

赵迪+李允俊

DOI:10.16644/j.cnki.cn33-1094/tp.2016.02.007

摘  要: 针对管网泄漏监测的现状,设计并实现了一种热力管网泄漏监测系统。该系统结合传感器、GPRS无线通信技术和BP神经网络算法,实现了实时获取传感器数据、分析泄漏情况的热力管网泄漏监测系统。文章介绍了系统框架结构,描述了系统的硬件结构,阐述了系统各功能模块的设计与实现过程,并在模拟的管道工况上进行了测试。测试结果表明,该系统运行稳定,分析准确,具有一定的实用价值和推广价值。

关键词: 热力管道; 泄漏监测; GPRS; BP神经网络算法

中图分类号:TP319          文献标志码:A  文章编号:1006-8228(2016)02-22-04

Heating pipeline leak age detection system based on GPRS and BP neural network

Zhao Di, Li Yunjun

(Institute of Technology, YanBian University, Yanji, Jilin 133002, China)

Abstract: Considering the present situation of the heating pipeline leak age detection, a heating pipeline leakage detection system is designed and implemented. By combining the sensors, GPRS wireless communication technology and BP neural network algorithm, the heating pipeline leakage detection system achieved has a set of functions such as acquiring the real-time data of sensor and analyzing the situation of pipeline system. In this paper, the system frame structure is introduced, the system hardware structure is described, the design and implementation process of each function module in the system are set forth, and the system has been tested in the simulated pipeline condition. The test results show that the system is stable, accurate, has practical value and promotional value.

Key words: heating pipeline; leakage detection; GPRS; BP neural network algorithm

0 引言

供热管网泄漏监测,是当今每个热力公司面临的重大难题。目前的供热管网泄漏监测,大多采用传统的人工检测方法,既使热力管道上装有监测传感器,但监测数据利用率不高,导致热力管道检测系统面临着资源浪费大、故障抢修效率低、故障点无法及时定位等问题[1-5]。

本文设计并实现了一种基于GPRS技术、传感器技术和BP神经网络算法的热力管网监测系统。GPRS是一种通用分组无线传输技术,它传输成本低、数据传输稳定、传输效率高,具有成熟的商业应用市场[6-7]。BP神经网络算法具有分布式信息存储、大规模并行处理、自学习和自适应性好、鲁棒性和容错性强的特点,该算法广泛应用于大数据分析领域[8-9]。通过这三种技术相互结合,可以有效实现实时分析无线监测数据,其广泛应用于多种监测分析领域。

1 系统总体架构设计

本系统包括数据采集和数据分析两部分。热力管道上装有压力、温度等传感器,通过基于GPRS技术的数据采集器每5min上传一组数据。当后台服务器接收到数据,首先存储源数据,对采集到的压力数据进行预处理计算,保存正常工况压降率变化范围和阻力系数等基础参数;然后结合BP神经网络算法和动态压力计算进行数据分析,判断管道泄漏情况。如果发生泄漏,则立即报警,通知维修人员进行抢修,并更新数据库;如果没有泄漏,则继续监听并分析实时上传的数据。该泄漏监测系统的总体架构如图1所示。

<E:\方正创艺5.1\Fit201602\图\zd图1.tif>

图1  系统总体构架图

2 系统硬件组成

数据采集部分采用压力、温度、液位三种传感器以及无线数据采集设备。本系统采用的传感器专用于压力、温度以及液位测量,适合在高温、高压、防水、防腐蚀环境下使用。为方便设备安置,传感器铺设于热力管网的阀门井中,连接到无线数据采集设备上。无线采集设备由STM32单片机和GPRS模块组成。STM32F103XX是St公司推出的集高性能、高集成度和低功耗于一身的芯片,它基于Cortex-M3内核,并且外扩了许多外围设备,为数据采集部分的开发提供强大的硬件支持。

GPRS无线通信模块,其传输媒介为GSM/GPRS网络,是基于GPRS数据业务和GSM短信平台的通信终端。该模块不仅支持基于TCP/IP协议的GPRS数据业务和短信业务,还具有串口设备数据采集功能以及支持远程参数设置、程序升级的功能。系统硬件结构图如图2所示。

3 系统功能设计与实现

3.1 数据采集模块的实现

数据采集模块由传感器和无线数据采集器组成,安装在供热管网的阀门井内。压力传感器通过RS-485串口将数据传送到采集器中,缓存数据5分钟后,根据指定的数据帧格式把积累的传感器数据封装成包。然后通过基于TCP/IP协议的GPRS技术,以socket方式向指定IP的服务器上传数据。以一个阀门井的传感器为例,表1为一个数据报文的帧格式。其中报头是区别于其他数据帧的标识,规定0X6C标识有效帧,其余标识都是无效帧;阀门井ID用于区别不同区域的传感器;地址码用于标记数据上传的IP地址;总长度则是整个数据帧的长度;每个阀门井的数据为一个数据包,每个数据包以特定的分割符分割开;最后一个包后存放标识数据包部分结束的标识符;时间记录该数据帧的上传时间;最后一部分为CRC校验码。

3.2 数据预处理模块的实现

服务器接收到传感器采集的数据后,立即把原始数据存储到数据库中,并针对不同的供热工况区域进行基础数据采集。对于一个工况,首先保留第一组传感器数据,根据公式(3-1)与(3-2)中供水阀源压力值P0、每个检测点的压力值Pi、与该点对应的阻力系数Si和水速Vi的关系分别提取该工况在正常情况下的压降率变化范围矩阵和阻力系数矩阵,这些数据作为这个工况的基础数据保存。为区别工况并提高数据分析的效率,需要对不同工况建立不同的BP神经网络,在数据分析阶段也要采用相应工况的网络。

(3-1)

(3-2)

3.3 数据分析模块的实现

对采集到的管网压力数据需进行实时数据分析,以此判断热力管道的泄漏状况。BP神经网络作为一种鲁棒性极强的黑盒数据分析算法,对于错综复杂的地下管道有很好的模拟效果。采集的压力数据作为BP神经网络输入,传感器个数为输入节点个数,为了更好地模拟管道情况,BP网络设置一层隐层节点,根据公式(3-3)中输入节点个数n和常数a(0≦a≦9)来确定隐层节点个数m。输出节点的个数与输入层节点个数相等。设定当管道泄漏时输出为1,正常工况输出0,以此原则设置期望输出矩阵训练网络。图3为BP神经网络结构。

(3-3)

仅采用BP神经网络算法来进行压力数据的大数据分析将面临一个很难解决的技术问题,那就是如何获得有效的压力数据和期望输出数据来训练BP神经网络。考虑到在系统运行前期缺少历史数据,还需添加压力动态变化来判断泄漏情况的动态计算模式,在监测管道状态的同时训练BP神经网络,在BP神经网络训练完成之后关闭动态计算,通过BP神经网络来分析预测热力管道的泄漏情况。

由于数据采集5min/次,为防止前期的动态计算过频报警或者误报,需对动态计算设置合适的时间周期,一个周期后再向用户反馈一次管道情况。进入数据分析后,首先进行参数初始化,然后监听管道压降率数据,如果有待分析数据进来,立即输入一个周期动态分析模型,与热力管网正常工况数据进行比较;如果压降率超过爆管阀值,则退出周期,立即报警并训练BP网络。没有爆管则判断压降率是否超过该工况的泄漏阀值。如果超过阀值,则发出预警、增加泄漏特征参数并修改BP网络;没有超过,则增加正常特征参数并训练BP网络。当一个周期过后,如果出现超出正常压差特征范围的数据则报警,并且用户可以结合这一周期的动态压降率变化图来检验是否泄漏,确定的期望输出数据再次修正训练BP神经网络,直到BP神经网络的预测结果与动态分析结果100%吻合,BP网络训练结束。然后可以关闭动态计算,只用BP神经网络进行数据分析。数据分析流程如图4所示。

3.4 基于MATLAB的BP神经网络实现

为提高数据分析的效率和可靠性,没有采用根据BP神经网络原理重新封装函数的方法,而是调用MATLAB中更加成熟的BP函数。但是MATLAB对BP相关的函数有着严格的版权保护,仅凭调用接口的方式无法实现BP神经网络算法。经过多方面研究,本系统拟采用在C#下调用MATLAB引擎的方式,把参数送到后台MATLAB中,由MATLAB计算后,再送回编译器分析。

实现步骤如下。

⑴ 在MATLAB中编写.m文件。函数功能分别是创建BP神经网络、训练BP神经网络和仿真。

⑵ 利用.NET组件技术。通过MATLAB中的Deploy tool工具将m文件编译成dll,然后在系统中调用。

⑶ 在Visual Studio中创建解决方案。右键解决方案,选择添加com引用,引用名称为“Matlab Application(Version 7.14)Type libaray”。其中,7.14为版本号,不同系列的软件版本号不同。

⑷ 添加之后在引用中会看到一个名为MLApp的文件,选择该文件,将属性Embed Interop Types的True值改为False。如果不更改,会提示cannot embed;

⑸ 通过MLAppClass matlab=new MLAppClass();引入MATLAB类,打开后台的MATLAB,然后通过matlab.PutFullMatrix传递参数,matlab.Execute(@"bpcreat(a, b, NodeNum1, TypeNum)");来执行MATLAB命令。

⑹ 注意执行MATLAB命令之前要把执行路径更换成待执行的.m所在路径下。

4 功能测试

我们在模拟的热力管道工况上进行了数据接入和数据分析测试。数据分析以动态计算模式监测共14400分钟,每5分钟训练一次BP神经网络,BP神经网络训练结果如图5所示。测试采用5个监测点的分析数据,模拟实验中分别在节点4和节点3模拟泄漏,模拟数据BP网络输出情况如表2所示,可以看出,对于超出正常工况的压力数据,输出结果接近1;而正常的压力数据,输出结果接近0。测试结果表明,在传感器材质良好和GPRS网络连接通畅的情况下,远程数据采集的准确性可达到100%。经过1000次的测试,通过动态计算训练出来的BP网络模拟预测成功精确度达98%。

5 结束语

本文设计并实现了一种结合GPRS技术与BP神经网络算法的热力管网监测系统,对远端传来的供暖管道监测数据进行实时的数据分析,可以及时发现管道的漏水情况以及漏水位置。系统操作流程简单,测试效果良好。在技术方面,本系统结合了传感器、GPRS和BP神经网络算法;在实际运用方面,本系统一定程度上可以解决现今热力管道泄漏发现不及时、地下管道情况难预测,以及热力资源浪费严重等问题。其数据分析算法可以推广到其他泄漏监测系统。

参考文献(References):

[1] 王业.供热管网泄漏故障诊断技术[J].山西建筑,2014.19:

124-125

[2] 张建军.供热管网泄漏故障诊断技术的研究[J].山西建筑,

2014.11:137-139

[3] 李彤.热力管网的动态水压监测系统研究[D].华北电力大学,

2013.

[4] O. Sindre. Leak Detection in Pipelines by the use of State

and Parameter Estimation[D].Norwegian University,2014.

[5] Z. Jun, H. Andy. Development Of Pipeline Leak Detection

Technologies[J]. International Pipeline Conference,2014.10.

[6] 孙超.基于GPRS技术的智能网关在大型公共建筑能耗监测

系统中的研究与应用[D].合肥工业大学,2011.

[7] 吴飞,王晓明,任文举等.供热系统物联网终端网络设计[J].物

联网技术,2012.1:55-59

[8] L. Xiaoyun, Z. Xiangfen, M. Yan and Y. Yanqin. Study on

Extracting Pipeline Leak Eigenvector Based on Wavelet Packet[J]. The Open Automation and Control Systems Journal,2014.6:98-107

[9] M. Bogdan, K. Thomas, M. Thomas. Committees of deep

feedforward networks trained with few data[J]. Computer Vision and Pattern Recognition,2014.6.