基于B/S和ASP.NET的远程机舱智能监控系统设计
2012-03-20倪依纯刘维亭朱志宇
倪依纯 刘维亭 朱志宇
(1. 江苏省无锡交通高等职业技术学校,无锡 214151;2.江苏科技大学电信工程学院,镇江 212003)
0 引言
为了提高船舶航行的安全性、可靠性和经济效益,机舱监控系统经常需要能够和岸上船舶公司相连,以获取船舶公司专家的支持[1-3]。而这种数据的交互大多数是通过卫星传输,资源有限,费用也很高。对于近岸船舶而言,随着无线网络覆盖的飞速扩大,基于B/S结构和ASP.Net技术的船舶机舱结构监控系统,可以用简便、廉价的方式很好地解决远端用户对于近岸运行船舶的机舱远端和现场监控[4]。
1 系统总体结构概述
本系统是按照长江近岸船舶的机舱监控需要设计的,由岸上和船上两部分组成。船上部分所处环境恶劣,震动大、温度高、湿度高等,为保证网络的可靠性,采用有线网络连接方式,将机舱监控系统组成一个局域网,组网方式采用以太网方式。岸上部分也组成一个网络,并和Internet相连。可供远端客户浏览、查看。船上部分和岸上部分通过无线网络相连。系统组成示意图如图1所示。
2 系统设计
根据长江近岸船舶的特点以及机舱自动化系统的具体要求,设计要求本系统能够对机舱的主机、发电机、舵浆、离合器、跳板等船用重要设备进行实时状态监测,运行参数显示,故障报警及诊断,历史数据和报警信息存储、查询,数据报表打印等。
图1 基于B/S机构的监控系统组成示意
为完成上述功能,本系统采用了数据采集模块、数据库、Web服务器、客户端浏览器的系统构成,即所谓的B/S(浏览器/服务器)结构。其中,数据采集模块与分布在机舱各需要监控部件上的传感器相连,采集各个部件的工作参数。对采集的信号进行处理、转换后,通过网络与服务器进行数据的交换并存储在相关数据库中。
根据监控内容和需要,以及模块化软件设计思想,系统软件的设计首先划分了功能模块,构建了各模块之间的数据流向,以保持软件良好的可读性、可移植性和可扩充性[5]。经研究、分析,本系统根据软件功能的不同主要划分为数据采集、趋势图、实时监控、管理功能、查询、故障诊断及其它功能模块。其总体框图如图2所示。
图2 系统软件功能总框图
上述各模块的主要功能为:
(1)数据采集:通过局域网与计算机通讯,完成信号的采集、转换以及输入/输出,将硬件采集的数据读入计算机,存储到实时数据库,供监控、查询、绘图等操作。
(2)数据查询:以“天”为单位,将机舱主机、发电机等主要装置的主要运行参数,存入到以当天日期为名称的数据库中,供用户查询、参考。数据查询利用ADO.NET对数据库进行操作。如果程序中有大量与数据库的连接操作时,则利用Web.config文件,配置数据库的连接字符串,绑定数据库的连接。
(3)实时监控:根据机舱自动监控的要求,考虑主要监控点如表1所示。
本模块周期性地从实时数据库中取得各项实时数据,动态显示各设备的运行参数,通过监控界面,供监控人员实时了解各设备的运行状况。
本系统设计中,采用标签指示要显示的参数名称,文本框显示具体参数值,标签和文本框一一对应,显示机舱各设备的状态信息、运行参数和报警信息。系统利用DataSet中的Table存放所有监控参数的值,文本框与Table中的列相对应。文本框中数据和 DataSet中的数据绑定。为了实现报警功能,定义了数据比较类,在数据超过上限或下限时,显示红色提示信息。
表1 机舱主要监控点
(4)故障诊断:系统设计了一个智能诊断系统,对机舱各部件进行故障诊断,故障诊断的数据经模糊化处理后送入神经网络进行诊断,判断是否有故障。如有故障,则先判断是哪类故障,然后由专家系统根据故障种类,调用推理机,给出故障的原因和解决方法。故障训练样本从系统曾经发生的故障实例中,领域专家给出的一些诊断分析提取的。神经网络通过对故障训练样本的学习,将故障训练样本知识转换成故障诊断网络知识(即各神经元之间的连接权值和闭值)存储起来,以备神经网络进行诊断时使用[6]。故障诊断的流程如图3所示。
图3 故障诊断程序流程图
系统中所有的故障知识都是根据专家经验输入进去的。由于收集掌握的故障知识有限。所以对于一些新出现的故障,本系统设计了“添加知识库”这一功能,以进行故障知识库的完善。仅对于权限比较高的操作人员,授予了修改时间,添加报警知识库等较高权限。
(5)管理功能:根据用户不同的权限,管理授权用户的登陆,保证系统的保密性和安全性。
(6)趋势图:根据所选日期和时间段,动态显示任意时间内的趋势曲线。提供各种趋势曲线的分析画面。以直观的印象,使操作人员对于机舱参数的变化情况一目了然。
(7)其他功能模块:包括报表的生成和打印、对数据库管理、帮助等信息。
3 数据库设计
本系统的操作以数据库为基础,如数据查询、故障诊断、趋势图查询等,因此数据库占据着重要地位。系统设计以SQL Server 2000作为数据库工具。数据库中设有日常数据库,报警数据库,故障诊断库,标准参照库,报警阈值库和考勤库等。数据库与其它模块间的关系如图4所示。在日常数据库中存储了机舱内监控数据的运行记录,对机舱内主机、发电机、离合器、舵浆、跳板的共37个模拟量参数进行记录。
日常数据库以“天”为单位,存储当天的记录。系统运行时会自动检查有否当天的表存在,没有就自动新建一张表。
图4 数据库与其它模块间的关系
报警数据库,当监控数据超出设定警戒值,就进行报警并存入报警数据库中,供以后查询分析。故障诊断库记录故障的类别、原因、维修建议等,供诊断时调用。考勤库,记录对操作人员的进入和退出系统的具体时间,方便系统对访问用户情况的掌握的管理。
4 结束语
本系统软件采用ASP.NET为开发环境,采用全新的开发语言C#作为主要开发语言,以模块化思想设计软件结构,方便了程序的升级和维护。系统整体架构采用B/S结构,通过无线网络,实现了近岸船舶与远端用户的实时数据交互。所有事务逻辑在服务器端实现,客户端只需安装浏览器,通过在IE地址栏输入URL地址即可实现对该系统的访问,实现了客户端零维护,同时还保证了数据的一致性、实时性和安全性。
本系统已经应用于通沙汽渡船、镇扬汽渡船和南京板桥28车汽渡船等船舶,用户实际使用证明,该系统运行可靠,操作直观简便,性能稳定。
[1] 孟宪尧, 白广来, 刘维来, 张金波. 数据融合技术与船舶自动化的发展. 世界海运. 2002,2.
[2] 姜莹, 任光, 贾宝柱. 船舶故障诊断的新发展. 航海技术, 2004(01).
[3] 尚新宇. 智能化船舶机舱监测报警系统的研究. 大连海事大学, 2001,3.
[4] 张海涛, 哈建林. 船舶自动化发展趋势.中国水运(理论版), 2006, 4(5).
[5] 张能立, 陈刚. 基于ADO. NET 的XML数据传递的研究与实现. 计算机与现代化, 2005,3.
[6] 吴凌云, 王华. BP神经网络专家系统在故障诊断中的应用.信息技术, 2003,27(2).