中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>专业论文>>正文

基于C#和ASP.NET的海洋监测无人艇软件设计与实现

发布日期:2021-10-02   来源:《智能机器人》19-05期   作者:袁健1,张文霞2,张渊明1   浏览次数:10395
分享到:
【摘   要】:为实现对无人监测船搭载的海水水质监测传感器以及船体运动姿态数据的远程查询和显示,重点介绍了海面无人监测船WEB软件关键技术的实现,采用B/S模式的五层体系结构,基于C#和ASP.NET开发了WEB软件,后台数据库采用SQLServer2005数据库对采集数据进行存储。无人船所采集的数据直接回传至用户服务器,建立数据库,图形化的数据展示便于用户查看、分析,用户无需安装专用软件,利用浏览器即可实现在计算机或手机对传感器数据的远程查询和综合显示,软件界面直观,使用方便。

 

关键词:C#ASP.NET水面无人监测船WEB软件

 

1  引言

传统的水质监测需要工作人员实际去到监测水域采样,但常出现水域结构复杂、工作人员不便实地采样的情况,导致监测采样困难重重;无人监测优势明显,具有采样便捷、可迅速处理应急事件、可在多样性水域环境下进行取点采样、数据实时传输反馈等优势[1,2]。无人监测系统的数据采集与监测分析软件系统是无人关键技术之一[3],国内的无人厂商在无人艇的船体设计、动力系统、自主控制系统取得了较多的应用成果,但针对海洋水质监测这一特定行业的水质传感器监测和应用软件方面,缺少相关专业的海洋水质传感器和用户客户软件分析设计技术积累[4]。由于系统软硬家架构的原因,监测系统大多采用无线电通信的方式进行组网通信,并且客户端软件采用专用软件的形式,需要在客户端的计算机或手机上进行安装,这样就限制了该软件只能在某些专业人员中授权使用,无法做到随时随地的访问,时效性较差;而且专用软件的更新和升级需要专业软件开发人员进行操作,不利于不掌握该项技术的普通监测人员操作。

我们从终端用户的无人艇实际监测需求出发,根据水质监测的国家标准[5],选取了某一海域亟需监测的水质参数,研发了面向终端用户的无人水质监测软件系统,该系统硬件包括适用于海水监测需求的水质传感器、一体化传感器数据采集模块、DTU数据通信模块、数据中心监控计算机;其中安装在数据中心计算机上的WEB软件的设计是真正给用户使用的操作界面,关系到系统最终应用是否成功。我们首先从分析用户对海域水质的监测的具体需求入手,在选择数据库服务器时,选择存储容量大、支持远程访问以及安全性较高的SQLServer 2005数据库设计相关的数据表字段,构建基于SQLServer2005的水质监测数据库,然后根据用户的具体功能需求,采用C#和ASP.NET设计了该WEB软件,采用B/S 结构,服务器使用IIS 应用服务器该软件使用图形化的数据呈现方式,便于用户查看、分析。监测人员通过计算机或手机客户端浏览器,能够监测海洋水质参数的实时数据,浏览各项水质参数的走势曲线变化、异常数据和历史水质数据等信息。该系统软件能够满足对海域水质监测的监测需求。该WEB系统的优越性表现在: 用户不需要安装专用的监测软件,客户端采用浏览器,可在Internet覆盖的任何地点通过计算机或手机浏览器对该系统进行授权访问;软件升级时仅需要对后台服务器程序进行更新,不影响用户的使用。

WEB软件总体架构

2.1  系统功能组成

无人监测船监测系统由两部分组成。第一部分由水质传感器、数据采集模块和数据传输模块组成。其中数据采集模块通过宏电H7710 GPRS DTU通信模块实现对数据采集模块采集的传感器数据的远距离传输,第二部分由数据库服务器、Web 服务器和WEB软件组成系统总体架构如图1所示。WEB软件通过H7710 GPRS DTU自带的动态链接库函数实现对上传数据的采集,并通过SQL Server数据库对采集数据的存储,通过ASP.NET页面可以实现对监测水体的温度、盐度、溶解氧、pH、氮、磷等水质要素,以及无人的经、纬度和仪器舱体内的温湿度等信息进行实时显示和综合查询,软件并可按不同的DTU终端号和日期段进行综合查询。系统查询功能主要由三部分组成:(1)传感器历史数据查询;(2)按照DTU终端号查询该终端上传的所有传感器数据;(3)按照所选择的日期查询某一时间段的传感器数据。为了直观显示传感器数据的是否有异常,该软件系统可以对采集的传感器数据设置报警上下限,并以红色对异常数据进行显示(通过数据表的角色权限设置,仅管理员账户有此权限)。

 

1 海域水质监测系统架构

2.2  WEB软件架构

WEB软件采用C#和ASP.NET编写,开发和编译环境为Visual studio2008,并采用与之兼容性较好的微软IIS 作为Web 服务器平台,Web 服务器可以将设计好的网站内容通过IIS 进行发布,实现水质监测数据的可视化。采用五层软件架构模式,从下到上依次为:数据实体层(Model)、数据访问工具层(SQLServerDAL)、数据库访问层(DAL)、业务逻辑层(BLL)和表示层(USV),其中数据实体层为数据库映射,是方便后续操作的一些实体类;数据访问工具层为数据库接口层,是获取数据的一些接口工具类;数据库访问层调取数据访问工具层,获取数据库数据;业务逻辑层包括WEB页面的操作和逻辑判断;表示层负责完成WEB的用户UI呈现功能。每一层的函数均可编译为动态连接库文件,可独立进行修改和编译而不影响整个软件系统的功能集成。SQLServer2005数据库的数据表字段包括:温度、盐度、溶解氧、氮、磷等海水水质监测参数以及经纬度、舱内温湿度等无人艇的相关参数等。

2.3  WEB服务器构建

在实际的组网过程中,后台的数据库服务器的IP地址是随机变化的,导致无人艇的数据采集终端与后台数据库服务器端将无法进行有效的连接。动态域名解析服务的方法能够有效地解决这种问题。我们在web服务器上安装花生壳域名解析软件,并将5002端口设置为安装数据服务中心软件的计算机,这样数据终端的DTU会通过域名寻址方式与DNS 服务器进行连接,DNS服务器通过花生壳软件将对应的域名解析到我们建立的后台数据库服务器动态IP地址,数据库服务器和数据采集终端就能够成功地建立通信连接,从而进行数据传输。项目编译完成后,将其发布到的WEB服务器,通过电脑或手机的浏览器访问该网址,即可登陆该WEB软件,用户可进行数据的综合查询。

3  各个功能模块设计与实现

3.1  登录模块设计与实现

为保证传感器数据安全,用户角色分管理员和普通用户两种:管理员可以进行相关参数的设置和查询,普通用户只能进行数据的查询。通过在SQL SERVER2005数据库里设置用户角色数据表,添加对应的用户名和密码字段,并对密码字段进行MD5加密处理,防止不法用户窃取用户数据库;只有授权用户方可登陆该WEB软件系统。系统用户根据管理员给定的用户名和密码,在登录界面输入自己的用户名和密码,点击“登录”按钮,Web服务器对该用户名和密码进行验证,通过后即进入监控主界面

3.2  浮动式自动导航模块设计与实现

为提高用户在大数据页面操作的方便性,系统在页面的左上角设置有浮动的WEB导航菜单。菜单控件采用css和list来显示浮动菜单,这样生成的html体积小,并且无需javascript支持,大部分的浏览器都支持。浮动菜单功能项有“系统功能”、“报警限设置”、“在线演示”以及“联系我们”功能菜单。其中“系统功能”包括显示传感器历史数据、按DTU号查询传感器数据功能和按日期查询传感器数据等子功能菜单。点击对应的功能项,则系统自动定位到主页面对应的导航位置,实现精确的位置导航,方便用户操作。例如点击“按日期查询传感器数据”,系统自动下滑定位到“请选择时间段”的页面位置,如图2所示。

 

 

2  浮动导航菜单的页面定位功能

3.3  报警模块设计与实现

不同的海域对应不同的水质监测数据,各项水质参数都有衡量自己是否正常的阈值,因此在报警模块的程序设计中要根据具体海域的水质要素进行传感器数据上下限的设置,为每项水质参数设定自己的阈值。本软件具有上下限设置报警功能,系统管理员可以根据具体的海域水质要素信息对传感器的报警上下限进行设置,并设置报警弹出窗体,这样采集到异常数据后系统会自动弹出报警对话窗进行报警,达到实时提醒用户的目的。“报警限设置”菜单可以根据不同的监测要求设置温度、盐度、溶解氧、pH、舱内温度、湿度、照度等传感器数据的报警上下限,设置报警上下限后,如果某些数据异常,弹出报警对话框,对应的数据记录以红色进行显示。如图3所示。

 

3  报警限设置菜单

3.4  传感器数据动态呈现模块设计与实现

该功能能够更加直观地呈现不同监测点的水质指标数据及其变化趋势,监控人员可以清晰准确的了解各项水质参数指标的变化情况,进而判断水质的监测状态是否正常。为方便传感器数据的直观显示,设置“在线演示”功能项,该功能通过实时地从数据库中获取数据,并在网页上实现刷新显示,其利用动态数据表实现各个传感器数据的动态曲线显示,每秒更新一次。曲线的横轴代表时间,精确到秒,纵轴代表采集到的传感器数据值,动态曲线采用曲线拟合方式,对两个数值点之间的曲线进行平滑拟合处理,并且在采样的数值处显示对应的数值。点击“盐度曲线”则进入盐度曲线实时显示页面,如图4所示。

 

 

4  盐度曲线显示

 

3.5  历史数据查询模块设计与实现

历史数据查询功能是该web系统最重要的功能。系统设置为可按终端DTU号和时间段进行查询和显示,通过对历史数据的分析,可以全面掌握各项水质参数的变化情况并进行针对性的分析和处理。本设计使用ASP.net的数据集功能,使用SQL查询语句生成查询数据集和数据表,进行显示。点击“按日期查询传感器数据”则导航到该功能位置。选择终端号,则按照终端号显示查询数据。点击“请选择时间段”后的文本框,则弹出日历选项,则可以选择要查询的开始时间(可以精确到秒),如果结束时间不选择,则默认为当前时间,如图5所示。

 

5  DTU号查询页面

3.6  数据导出功能模块设计与实现

为方便对传感器数据的进一步分析,系统可以将查询结果保存为EXCEL文件,导出的数据文件名按照时间格式生成,如图6所示。点击页面下侧的“导出到Excel”,弹出下图的文件保存对话框。

 

 

6  数据导出功能

 

3.7  数据库设计与实现

SQLServer2005中建立的数据库名为Fubiao,然后在该数据库下建立名为information的数据表,用来存储水下传感器的实时数据表,information的字段定义附表所示。通过DSC服务程序,将DTU上传的传感器数据实时存储到数据表中,如图7所示

 

7  SQLServer2005中建立的数据库

 

3.8  传感器数据一致性测试

将数据采集终端装配后进行防水水密处理后,安装在无人监测船的中部,然后接入水质监测传感器和系统电源,固定在电动推杆的下部。无人艇水质取样深度为水面下50cm,水质传感器固定在电动推杆上,通过电动推杆,将其也置于水面以下50cm处,测量频率设置为1分钟一次。分析结果显示无人艇搭载监测传感器航行时所测量的项目中,温度、溶解氧、盐度数值一致性较好,氮、磷数值与采用分析结果偏差较大,分析原因主要与各项目的测量原理以及实际水样中含有大量杂质干扰有关。通过合理搭载相应的传感器原位监测某海域的水质状况,无人监测船能够满足该海域水测量数据准确度的要求,同时可实现需监测区域的监测的全覆盖,可提升海域水环境监测的工作效率。

4  结语

WEB系统软件的设计无需安装专用的客户端软件,实现了客户端的零安装、零维护,终端用户人员可以在可以上网的任何地方通过浏览器对该系统进行登录和查询,降低了系统的开发和维护成本。该系统软件是基于B/S的五层架构模式,每层之间相互独立,并且都有自己的封装代码,代码聚合程度较高,提高了系统的灵活性和开放性。通过对传感器采集的数据与采集的水样检测方式相比较,本文采用的原位检测方式获取数据的真实性更高。

参考文献

[1] 戴玄吏, 汤佳峰, 章霖之. “湖泛”恶臭物质分析及来源浅析[J]. 环境监控与预警, 2010,2(3): 39-41

[2] 黄国良, 徐恒, 熊波, 等. 内河无人航道测量船系统设计[J]. 水运工程, 2016, 41(1): 162-168

[3] 金久才, 张杰, 邵峰, 等. 一种海洋环境监测无人船系统及其海洋应用[J]. 海岸工程, 2015, 34(3): 87-92

[4] 张万松, 缪旭波, 朱风松, 等. 水污染源在线监测系统常见问题及核查方法研究[J]. 环境监控与预警, 2012, 4(2): 22-26

[5] 罗刚, 张然. 无人监测船在城市内河水质监测中的应用[J]. 环境监控与预警, 2017, 9(7): 18-20,31v

 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论