,, ,
(西安工业大学电子信息工程学院,陕西 西安 710021)
物联网通信的不断进步,推动着智能监测技术的高速发展。同时,水环境是如今十分重要的问题,大量工业废水和生活污水未经处理就被排入河流、湖泊和海洋之中,严重破坏水质,对人畜的健康造成严重威胁。因此,水质监测的必要性越来越受到人们的重视[1]。通过4G-DTU网络通讯模块提高数据传输的稳定性和高效性,实现固定水域的无人自动检测、数据上传。设计监测软件实现对水质的在线监测,根据《地表水环境质量标准》设计高效的数据库设计[2],对河流类型、断面类型、以及氨氮、pH值、温度等相关信息进行储存和管理,方便工作人员进行水质趋势分析,具有重大经济和社会效益。
水质监测系统的总体结构如图1所示。本监测系统由现场检测层、远程传输层、远程监测层组成。现场检测层负责检测某一流域的不同断面站点的水质氨氮相关数据信息。同时将下位机检测的数据通过串口总线传给4G-DTU,4G-DTU通过配套的“透传云”服务器,将数据发送给开发好的远程监测中心,可以实现实时监测,数据管理,参数配置等功能。
图1 系统总体结构
本监测系统中的4G-DTU集成了TCP/IP协议[3],支持网络透传模式,支持TCP连接和UDP连接,支持各运营商的4G网络。用户通过使用SIM卡直接连上4G网络,提高了水质信息传输的高效性和组网的灵活性。同时,DTU支持设置网络心跳包,在网络透传模式下,本监测系统让DTU发送心跳包与服务器保持连接,支持断线重连功能,保证了水质监测信息的完整性和稳定性[4]。
在远程网络传输中,DTU模块只能和处于公网IP数据中心服务器进行通信。而监测中心处于局域网中,需要使用端口映射,域名绑定的技术实现连接。这样的实现方式比较麻烦,本系统采用了4G-DTU配套的“透传云”,透传云可以实现2个DTU终端的连接,也可以通过配套的虚拟串口软件实现终端和PC的跨网络远程连接。本系统使用上位机借助虚拟串口软件实现网络数据转换为串口数据,并可以连接透传云。在使用透传云实现网络传输的时候需要在透传云网站上为2个终端分配“设备编号”和“通讯密码”。DTU和虚拟串口都通过给定的IP地址和目标端口,并结合设置好的设备编号和通讯密码实现水质检测终端和远程监测中心的连接通讯。监测中心可以通过上位机实现与水质检测终端的数据交互。系统组网方式如图2所示。
图2 系统组网方式
本系统中,远程监测中心和DTU之间形成点对点连接。主控芯片通过各类水质传感器采集信息。经过DTU将串口数据转换成IP数据通过4G网络发送出去。在监测中心,虚拟串口将IP数据转换成串口数据发送给远程监测中心。远程监测中心和主控芯片进行交互的时候需要遵循安全高效的通信协议。水质监测系统的传输帧格式有下发指令帧和回应执行帧2个部分。回应执行帧的帧格式与下发指令帧的帧格式是相互对应的。回应执行帧是由检测终端发送至监测中心的,源地址就是水质检测终端下位机的编号,而帧协议中的目的地址是远程监测中心上位机,只有保证回应执行响应帧来源清楚,执行动作正确的话,接下来的数据响应实现才会准确,同时响应帧也作为水质监测任务完成状况的检测标准。响应帧格式如表1所示。
表1 响应帧格式
监控中心可以发送配置命令、执行命令和读数命令。配置命令可以改变水质检测站硬件的配置参数,而执行命令使水质监测站硬件状态发生对应的改变,监测中心通过读数命令获取水质检测站硬件作业状态。水质检测终端下位机都拥有不同的编号,编号对应着命令帧中的目的地址,需要执行功能则来自于功能信息,检测终端下位机通过判断目的地址与功能信息完成测量任务,具体帧格式如表2所示。
表2 命令帧格式
3.1.1 人机交互界面设计
监测中心所要完成服务工作包括水质监测、数据管理以及参数配置。这些功能的实现都是基于良好又高效的人机交互界面。所以良好的人机交互界面是本监测系统中重要的基础部分。通过人机交互界面,可以将水质检测终端检测到的水质信息实时显示在监测上位机中的屏幕上。本系统采用VC++软件编写监测上位机。完成位图编程、多线程编程、MFC ODBC数据库编程相关系统功能[8]。
监测界面由以下几个部分组成,其各部分控件具体功能如下所述:
a.启动测量部分,当监控中心点击启动按钮,在位图的左上角可以显示连接工作情况,并且向现场检测站发送命令数据,执行检测功能。
b.停止测量部分,当监控中心点击中断按钮,并且向检测终端站发送命令数据,执行停止功能。
c.定时检测部分,当监控中心点击中断按钮,配置定时参数,实现定时监测,并且向检测终端站发送命令数据,执行检测功能。
d.数据库管理部分,实现远程监控中心对水质等相关数据的管理、分析、显示。
e.通信配置部分,完成串口通信服务设置,可以设置串口号、波特率、源地址、目的地址、停止位、奇偶位、校验位等相关信息。
f.曲线显示部分,为了帮助工作人员更方便地分析水质信息,在监测软件设计中还增加了各参数数据的曲线显示,直观地显示水质变化趋势。
3.1.2 MFC ODBC数据库设计
监测软件在对数据库进行查询管理分析的时候,需要对已经创建好的数据库进行访问处理。在此,采用ODBC数据库访问技术,实现在监测软件中打开、显示、操作、更新数据库的功能。VC++在其基础类库(MFC)里对ODBC API进行了封装,实现了一个面向对象的数据库编程接口,使VC++的数据库变得更加容易。MFC对ODBC的封装主要是CDatabase类和CRrcordSet类[9]。数据库储存过程主要分为3部分:使用Open()函数打开相应数据库;通过SQL语言查询到相应的主键实现数据的储存;储存结束后关闭数据库。数据库储存程序流程如图3所示。
使用MFC所供的ODBC类:CDatabase(数据库类),CRecordSet(记录集类)和CRecordView(可视记录集类)。
CDatabase类可以实现对水质监测信息的数据源进行连接,从而对水质信息数据源进行操作。
CRecordView类可以用来显示本系统中水质信息数据库的记录,该视图可以直接连接到1个CRecordSet对象的表单视图。
图3 数据库储存流程
CRecordSet类可以实现用户对水质信息数据库进行数据查询、数据删除和数据修改,并能直接为水质信息数据源中的表映射1个CRecordSet类对象,CRecordSet类对象提供了从数据源中提取出表的记录集[10],并提供了2种操作形式:动态记录集(Dynasets)和快照记录集(Snapshots)。
水质监测可以将水质数据进行采集显示,为了合理高效地治理水污染,需要对水质进行分析,分析建立在大量数据的基础上,所以建立水质信息数据库对于水资源管理十分必要。远程水质监测系统的目标是对某一流域中某一断面的水质情况进行监测和分析,使监测站的管理工作更加规范化、制度化、程序化、提高信息处理的准确性,保证数据处理的时效性和完整性,充分发挥监测数据的效用,提高水质监测和治理工作的效率,提高环保管理的决策水平[11]。本系统中的水质信息数据管理系统为监测站提供监测信息管理工作[12]。系统功能模块结构如图4所示。
图4 系统数据库功能
3.2.1 数据库功能要求
数据库主要有以下功能:
a.完成监测信息的随机查询。
b.完成一定要求的统计分析。
c.完成监测系统的更新、删除、修改。
d.完成报表打印输出。
e.保证信息的安全性。
3.2.2 逻辑结构设计
本系统采用Access数据库对水域河流的水质氨信息进行分析。Access采用模块化设计,基本上不需要复杂的编程操作,因此对非数据库专业人员比较友好,可以在短时间内自学掌握属性数据库的开发。并且Access数据库的的优化调整十分方便,便于对数据库的修正和删改,开发周期也短,维护方便[13]。经过对《地表水环境质量标准》分析研究,对相关水环境:河流的位置、断面的位置、以及pH值、温度信息进行统计分析。本系统水质监测信息如表3所示。
表3 水质监测数据信息
3.2.3 物理结构设计
本系统数据库由于存储的是实时监测的水质数据,这些数据是对检测水域的真实反映,同时,工作人员需要对水质数据进行后续的管理分析预测等工作。所以本系统数据库的设计需要坚持以下的设计原则:
a.对数据库里的数据进行合理管理,根据数据的种类进行有效的归类和划分,对数据进行有效描述。
b.安全性是数据库中十分重要的特征,通过对数据库里面的数据进行冗余处理,不过需要考虑到数据维护难度的提高。本系统根据实际水质情况对数据库的数据进行合理取舍,保证了数据的安全性稳定性。
c.在数据库设计的时候需要考虑存储结构的优化和管理。这是数据库高效工作的前提。
通过高速、稳定、灵活的组网方式实现对水质氨氮、pH、溶解氧等多参数水质数据的稳定上传。设计合理的数据库储存上传的数据信息,监测人员通过高效友好的上位机实现对固定水域中的断面水质情况进行监测,为环保部门提供了有效的水环境监测方案,具有一定的社会效益和发展前景。
[1] Shaposhnika A, Ryabtsevb S, Zviagina A,et al. Selective detection of ammonia and its derivatives using MOX-sensor and microreactor[J].Procedia Engineering, 2011,25:1097-1100.
[2] Bourgeois W, Gardey G,Servieres M,et al.A chemical sensor array based system for protecting wastewater treatment plants[J]. Sensors and Actuators B Chemical,2003,91(1/2/3):109-116.
[3] Song X,Li Q,Yan D.Nutrient removal by hybrid subsurface row constructed wetlands for high concentration ammonia nitrogen wastewater[J].Procedia Environmental Sciences, 2010,2(1):1461 - 1468.
[4] 董加宝.基于CAN总线的水质在线监测嵌入式系统研究[C].合肥:中国科学技术大学,2015.
[5] 马明建.数据采集与处理技术[M].西安:西安交通大学出版社, 2005.
[6] 郝勇.地表水水质监测管理信息系统的数据库设计[J].上海工程技术大学学报,2003,17(3):211-216.
[7] 刘志雄,余臻,陈燕萍.GPRS DTU数据中心的通信设计[J].工业控制计算机,2007,20(12):23-24,26.
[8] 鲁东海,孙纯军,王晓虎.智能变电站中在线监测系统设计[J]. 电力自动化设备,2011,31(1):134-137.
[9] 马成龙,段斌,龙辛,等.支持远程监测的风电场网络体系架构设计[J]. 电力自动化设备,2011,31(1):95-99.
[10] 张磊,冯建华,袁爱军,等.物联网在高原寒区地下水监测系统中的应用[J].自动化仪表,2016,37(2):54-56,60.
[11] 王永涛,吴艳英,李家春,等.基于GPRS DTU的农业灌溉施肥智能化控制系统的应用研究[J].中国农村水利水电,2013(12):93-97.
[12] 楼鸿强.基于嵌入式技术和分布式数据库的水质监测系统[D].杭州:浙江大学,2007.
[13] 熊子明.基于氨气敏电极法的氨氮在线检测系统研究及其工程应用[D].北京:北方工业大学.2014.