基于ASP.NET技术的远程机舱自动化系统的研究
扫描二维码
随时随地手机看文章
1 引言
随着计算机技术和移动通信技术的发展,船舶机舱自动化技术也在不断发展。目前,国内外对船舶监控系统的研究也较多,而数据传输大多数是通过卫星传输,但资源有限,费用也很高;一些使用无线网络技术的系统则安全性比较低,并且传统的窄带无线通信速率往往比较低,不能满足实时传输的要求;对于基于RS 422或者RS 485的单机监控系统无法实现系统冗余。另外,对于系统的安全性和可靠性也没有处理,数据传输协议大多使用TCP/IP,此协议头以及传输控制比较复杂,传输效率也比较低,UDP协议适于小数据量的传输,这些原因使得数据丢包泄密的情况经常发生,系统也不稳定,漏报警也经常发生。
本文在船舶监控系统中采用了GPRS通信模块,将.NET三层架构模型运用其中,采用基于TCP的Socket协议解决以往监控系统的传输存在的问题。在数据传输过程中采用了SHA512加密算法,使数据泄密和丢包的可能性大大减小;对硬件采用冗余技术,软件采用合适的编码方案,提高系统的可靠性。同时使用全新的C#语言,并将组态软件运用其中,使界面操作更加直观。操作人员通过身份验证后可自由访问、查询船舶运行的各项参数,及时掌握船舶运行情况,降低了系统的成本,提高资源利用率。
2 系统总体结构设计
如图1所示,本系统主要由移动终端、GPRS无线通信模块、GPRS无线通信网络、局域网、监控中心等部分组成。
移动终端被装载在被控船舶上,连接数据采集模块。数据采集模块使用研华公司的ADAM-5000/TCP,将采集到的信息通过A/D转换器进行处理送至GPRS通信模块。
GPRS通信模块采用西门子公司的MC55模块,主要负责将船舶运行情况以无线的方式传送给监控中心,实现监控中心和船舶的信息交互。
GPRS无线通信网络是基于TCP协议的,用户不需要知道协议的具体内容,就可以通过此协议将信息传送给监控中心的服务器。
系统优点如下:
(1)被控船舶机舱只需要一台PC机与Internet相连就可以实现系统监控功能,系统建设成本低,简单可靠。
(2)使用GPRS无线传输方式,降低了系统传输成本;同时将移动通信网络与局域网相结合,使覆盖范围扩大。
(3)用户可以实时地与数据采集点进行通信。通过对监测信息的分析,可以及时地发现各个部件的报警信息并进行处理。
(4)对硬件采用冗余技术,软件采用合适的编码方案,提高系统的可靠性。
(5)提高了系统的安全性。在数据传输过程中将SHA512加密算法应用其中,在接收时解密,减小了数据被截获的概率。并且.NET和IIS一起使用,它的安全是一个双层处理过程,所有的请求先经过IIS处理,再传递给.NET,保证了系统的安全性。
3 监控中心软件设计
3.1 软件平台
根据系统功能与结构设计,采用如下软件平台:
(1)开发环境:Visual Studio 2005;
(2)服务器端操作系统:Windows XP;
(3)WEB服务器:IIS 6.0;
(4)数据库管理系统:SQL Server 2000;
(5)客户端浏览器:Internet Explore 6.0。
另外还采用组态软件,以图形化监控界面代替了数字化界面,并实现技术参数和管理数据,使界面操作更加直观方便。
3.2 三层结构模型
本系统将整个系统按逻辑层次分为:表示层、业务逻辑层和数据服务层。在本系统中表现为数据库服务器,Web服务器和客户端浏览器,如图2所示。表示层为用户提供可视化的显示和操作的界面,在图中主要对应客户端浏览器,包括aspx页面、用户界面、数据显示以及某些与安全相关的类和对象。
业务逻辑层即Web服务器,用于访问数据层,并将结果返回给表现层,主要用动态网页对数据和一些相关事务进行处理。
数据服务层由数据库和数据访问组件组成。在图2中对应的是数据库服务器,包括实时数据库和历史数据库。
3.3 系统的主要功能
系统的主要功能如下:
管理功能 管理授权用户的登录。用户经过注册信息登录后,可修改个人信息、密码等;管理员可以拥有一般用户所没有的权限,除了对用户进行管理外,还可以进行报警参数的设定操作等,保证了系统的保密性和安全性。
数据查询功能 主要根据查询项目和查询时间,动态提供各重要参数的实时查询和历史值查询。可以选择需要查询的日期,再选择你要查看的参数选项,就可以获知当天的运行情况。比如选择2008.3.5,#1主机转速,#2主机转速,#1主机滑油压力,#2主机滑油压力,查询情况入即在页面中显示;另外还可以选择当日的时间进行查询,如图3所示。
监控功能不停地从实时数据库中取得实时数据,动态显示各设备的运行参数,通过监控界面,实时了解各设备的运行状况。如图4所示动态显示#2主机各项参数的监控界面,数据将显示在框内。如有数据越界,数据显示红色,绿灯变红,同时报警信息显示在下面的文本框内。
趋势图功能 根据所选日期和时间段,动态显示任意时间内的趋势曲线,从而给人直观的印象,使得操作人员对于机舱参数的变化情况可以一目了然。
3.4 系统的数据库设计及工作流程
实时数据库表 存储当日数据采集模块采集来的船舶机舱的各项参数信息,当系统启动时,每隔一定时间将采集到的数据写入表中。该参数表可以通过系统查询进行修改等维护操作。
报警数据表 存放机舱各项参数报警信息,该信息可供维修人员查看报警信息、查找出错部位,当报警发生时,报警信息由软件自动写入,通过故障系统查询界面进行修改等操作。
历史数据库表 存放正常航行时机舱各项数据,通过该表可对机舱各项参数的历史状态进行各种分析,及时发现可能的故障点。
主机信息表 记录航行过程中主机状态、主机转速等参数,通过对主机历史信息数据的分析,可监视主机运行状态和主机其他信息,该表由数据软件定期存放,并可通过指定界面对其维护。
报警系统表 对每个报警进行统计,并同时截取与此故障相关的参数。
另外还有用户注册以及登录信息表等。
系统的工作流程分为两部分,客户端和服务器端。
客户端:操作人员登录局域网,通过验证后连接到服务器进入该系统读取或查询需要的服务,对机舱的各项参数的运行情况进行查看,一旦发现报警情况及时处理。
服务器端:服务器收到操作人员发出的请求信息后,进行判断回发给客户端,对由GPRS网络传输过来的数据进行解密处理后存储到数据库,在.NET平台上编写相应的程序实现对船舶的运行情况进行监控,必要时通过对船舶发出调整船舶运行参数的指示。
3.5 基于TCP/IP的Socket数据通信
本系统用GPRS进行数据传输时,采用的是基于TCP/IP的Socket协议。Socket数据通信是建立在TCP/IP协议基础之上,专门为满足测试与自动化的需求而设计。相比以前传输系统中使用的UDP、TCP协议,其可靠性明显加强。用户数据报协议UDP提供的是无连接的不可靠的数据传送方式,是一种尽力而为的数据交付服务。TCP虽然提供可靠的传输方式,但是协议头以及传输控制比较复杂,传输效率低。基于TCP的Socket协议则可以避免以上不足,可靠性大大增强,丢包率减小。
在.NET中,System.Net.Sockets命名空间为需要严密控制网络访问的开发人员提供了WindowsSockets(Winsock)接口的托管实现。Socket可以看作一个数据通道,设在应用程序端(客户端)和远程服务器端之间,数据的读取(接收)和写入(发送)都通过这个通道来进行。
服务器端创建了Socket对象之后,就可以使用Send/SentTo方法将数据发送到连接的Socket,或者使用Receire/ReceiveFrrom方法接收来自连接Socket的数据。在客户端,你将可以通过Connect方法连接到指定的服务器,并通过Send/SendTo方法向远程服务器发送数据,而后可以通过Receive/ReceiveFrom从服务端接收数据;而在服务器端,你需要使用Bind方法绑定所指定的接口使Socket与一个本地终结点相联,并通过Listen方法侦听该接口上的请求,当侦听到用户端的连接时,调用Accept完成连接的操作,创建新的Socket以处理传入的连接请求。使用完Socket后,使用Close方法关闭Socket。
经过传输实践可知,在GPRS网络中使用基于TCP的Socket协议传输,丢包率为零,使系统的可靠性大大增强。
4 系统的安全性和可靠性
4.1 可靠性
系统的可靠性分为硬件可靠性和软件可靠性。硬件可靠性主要采用冗余技术。在冗余系统中,当主设备由于故障因素不能完成规定功能时,冗余设备自动或手动投入运行,保持连续正确地执行其程序和输入输出功能,不至于因为增加了系统复杂性而引发新的不可靠因素,同时又节省了一次性投资,使系统更加经济合理。
提高软件可靠性的主要措施有:采用良好的容错设计、利用合适的编码方案并结合相应的自检技术等。对程序实行实时监控,防止程序发生“死掉”的现象,从而导致系统发生死锁,来提高系统的可靠性和执行频率。
4.2 安全性
GPRS可以向用户提供快速的数据传输速度。但是数据在传输过程,经常有数据被截获的危险。因此传输过程中,使用了较新的算法——SHA512加密算法,安全性明显提高,使得数据在传送过程中被截获的可能性相对降低。.NET安全机制的实现及用户鉴别的处理是与IIS相互关联的。安全的设计模式需要IIS与.NET两者都能正确配置,才能通过验证,访问系统。.NET中提供了加密的解决方法——SHA1和MD5,把用户提交的密码加密后存储到数据库相应的字段中。
在数据传输过程中数据加密和.NET中的安全技术联合使用,同时对软硬件采取一定的措施。经过系统测试,数据泄密几乎为零,减少了漏报警的情况,从.NET入侵的情况也从未发生,有效地解决了系统的安全性和可靠性的问题,使系统的安全性和可靠性大大加强。
5 结 语
本文将GPRS和.NET技术相结合建立了船舶的实时监控系统,随时对船舶的运行状态进行监控及时处理故障报警信息解决了船舶运行过程中数据无法传输及各项参数监控问题,并将基于TCP的Socket协议和SHA512加密算法应用在数据传输过程中,已有效地减小了丢包率,数据有效传输率高达99.8%,现在内河船舶的航行中得到了使用。随着移动通信的发展,GPRS作为新一代无线通信方式已经渗透到各行各业的应用中,将来会在船舶监控系统中得到广泛应用。