APP下载

基于Web的船舶动力装置虚拟操作训练系统

2015-03-09涂婉丽徐轶群

关键词:S模式

涂婉丽 ,徐轶群

(集美大学轮机工程学院,福建 厦门 361021)



基于Web的船舶动力装置虚拟操作训练系统

涂婉丽,徐轶群

(集美大学轮机工程学院,福建 厦门 361021)

[摘要]为了解决以往工业组态软件开发的船舶动力装置虚拟操作训练系统的网络功能局限性,文章对基于web的虚拟训练操作系统进行了研究.提供了系统基于B/S模式的架构,并详细阐述了系统开发过程中的关键问题和解决方案,如基于Web的系统操作界面及动态交互功能的实现、多人协同开发的解决方案等.并以.NET为开发平台设计了基于Web的船舶动力装置的虚拟操作训练系统,包括用户管理模块、船舶动力装置训练项目操作模块和操作过程记录与评估模块.以该方案设计的系统已经投入运行,应用结果表明该系统充分利用了Internet,解决了传统船舶动力装置虚拟操作训练系统受时间和空间限制的问题,提高了远程教学训练的能力,具有良好的交互性、扩展性及应用价值.

[关键词]Web;B/S模式;.NET;船舶动力装置;虚拟操作

0引言

传统模式下,船舶动力装置的模拟操作训练主要在实物设备上进行.随着计算机、操作平台、网络、通信等技术的快速发展,对船员的操作训练信息化的要求也越来越多,采用虚拟操作系统用于辅助于实际设备的模拟训练,可以大大节省开发成本和维护成本,缩短训练周期,具有重要意义.目前的船舶动力装置虚拟训练系统基本上都是由建立在客户端/服务器(C/S)模式下的传统组态软件来实现的,仍以单机应用为主.随着网络应用的普及,船员虚拟训练系统不再满足于本地的训练功能应用,越来越多系统要求具有Web功能,如通过Internet网络实现远程系统的操作训练、故障诊断等等.部分组态软件虽具有Web功能,但发布模式复杂,限制条件多,对Internet的利用十分有限,而且不支持远程发布功能.当训练系统的用户量达到一定规模,操作地点分布到一定范围后,组态软件的Web功能已无法满足训练需求[1].

基于上述分析,本文采用浏览器/服务器(B/S)模式,提出了一种基于Web的船舶动力装置虚拟操作训练系统的架构方法,并设计实现了船舶动力装置虚拟操作训练系统.当采用该系统对船员进行虚拟操作训练时,能够不受时间和空间的限制,将局域网内实现的功能延伸到Internet上去[2].

1B/S模式下的船舶动力装置虚拟操作训练系统的架构

B/S模式采用的是浏览器、Web服务器和数据库服务器的体系结构,如图1所示.应用程序全部放在Web服务器上,所有的客户端只是浏览器,通过Web服务器实现对数据库服务器的访问,可以在任何地方进行操作而不用安装专门的软件.只需要管理服务器,客户端零维护,无论用户规模有多大,只需要把服务器连接入网即可,实现远程维护、升级和共享,系统的扩展也非常容易.

B/S模式下的船舶动力装置虚拟操作训练系统是基于Web Service的应用程序,系统架构可分成应用表现层、业务逻辑层、数据服务层[3-4],如图2所示.

应用表现层即用户端通过Internet浏览器界面直接与Web服务器端进行动态交互,代替了专门的客户端软件.业务逻辑层体现在用户端通过嵌在Web页面的ActiveX控件对数据端口进行访问,将数据写入数据库服务器保存,而Web服务器将数据库服务器的实时数据动态发布到网上,客户端则通过Internet浏览器进行远程监控.数据服务层指的是采用数据库服务器进行数据处理,数据库服务器不直接服务于每个客户机,而与Web服务器沟通,系统的开放性得到很大提高,开发与维护更加方便.

2船舶动力装置虚拟操作训练系统的模块功能与实现

本文设计的基于Web的船舶动力装置虚拟操作训练系统可以分为以下几个功能模块:用户管理模块、船舶动力装置训练项目操作模块[5-6]、操作过程记录与评估模块,具体见图3.

用户管理模块主要对被训练学生和管理员的信息和权限进行设置.学生登录系统后,进入船舶动力装置训练项目模块,学生选取要操作的训练项目,如:压缩空气系统、冷却水系统、锅炉系统等,每个训练项目均对应一个操作页面,如图4是选择锅炉系统的交互界面.操作部分分成两块:左边部分是锅炉系统的管路原理图,右边部分是对锅炉系统进行虚拟控制的电气控制箱.学生每进行一步操作,均可以在界面右下方看到操作记录,每个训练项目操作完成之后提交,后台的操作过程记录与评估模块对学生的操作进行记录和评估.管理员登录系统之后,可以进行考生信息管理、训练项目管理、评估成绩管理等操作.

3关键技术及实现

3.1 在浏览器中形成监控系统的人机交互界面HMI

基于Web的船舶动力装置虚拟操作训练系统必须能够在IE等浏览器中实现监控系统操作界面的动态交互,因此要采用一种可以产生和执行动态的、交互式、高效率的Web服务器应用程序的工具,如Dreamweaver可视化工具、.NET Framework(以下简称.NET平台)框架平台、Java Script的HTML页面等均可以生成系统的动态交互操作界面,本文采用了微软的.NET平台,Windows 7中包含了.NET平台的最新版本.

3.2 动态交互逻辑功能的实现

在船舶动力装置虚拟操作训练系统中,客户端通过Internet浏览器对系统进行动态操作时,界面上对象的状态变化要与实际的动力装置系统一致.如上所述的锅炉系统中,管路、阀门、电源开关、泵的启停按钮、仪表指示灯、液位计等均要能够进行实时交互.这种动态交互逻辑功能的实现是设计虚拟训练系统的难点,解决方案有采用图片和动画技术实现,或者直接采用ActiveX控件技术实现.关于ActiveX控件技术的使用方法,可以参考文献[7].本系统管路的流动效果是以图片和动画技术来实现的,而其他开关量和模拟量的控制是采用ActiveX控件技术实现的.通过虚拟电气控制箱,可以对压缩系统中被控对象进行操作,系统交互画面生动,对象状态跟随控制指令实时变化.

在实现系统对象的动态交互逻辑功能时,服务器端主要负责生成界面和逻辑功能的脚本,并发送给客户端浏览器.客户端浏览器负责解析这些脚本并在系统交互操作时实时刷新页面.当需要和服务器端进行数据通信时,客户端才发送所需的加密数据,这样就减轻了服务器端的负担,提高了交互的速度.通过测试,即使是船舶动力装置虚拟操作系统中管路最多、逻辑功能最复杂的模块,在多人异地同时操作的情况下,系统交互页面的实时刷新也不会出现卡的现象.

3.3 系统开发过程中多人协同开发的实现

在系统的开发中,还有一个难题来自于开发人员本身.在动态网页的设计中,操作对象的定位、页面的美工、特别是逻辑交互功能的编辑等等方面,均需要由专业的软件开发技术人员来完成.对于一般工程技术人员,虽然对自动化系统的控制逻辑较为熟悉,但由于不是计算机专业出身,在实现这些功能时会遇到困难.此外,船舶动力装置系统是一个复杂的工程系统,在开发时间有限的情况下,需要多位技术人员协同开发完成.为了提高开发效率,同时保证动态网页的开发质量,在系统开发时采取了以下方案:首先由系统负责人给各技术人员分配任务模块,并制定出统一的规则来实现对象的命名、对象的显示方法、对象逻辑功能的定义等;然后各技术人员在.NET平台上利用WinForm进行各自任务模块交互界面的设计,并完成单机上业务逻辑的编辑与调试;最后通过调用统一的GetCode()转换程序转换到Web页面上.其中的GetCode转换程序由系统负责人单独开发.图5显示了所采用的协同开发平台架构和工作流程图.

以下是单机版调用GetCode()转换程序的代码:

private void FrmMain_Load(object sender,EventArgs e)

{

//以下调用转换程序

GetCode gc=new GetCode();

//取得需转换的*.cs源文件路径

gc.path=m_path;

gc._Form=this;

gc.Explorer();

}

以下是GetCode()转换程序的关键代码:

#region转换Frmmain.cs有关正则的一部分函数

///

///所有转换

///

private void ReplaceAll()

{

string pathLocationExam=path+"LocaltionExam.txt"; //右侧面板

string pathLocationOperate=path+"LocaltionOperate.txt"; //左侧面板

string pathVariables=path+"Variable.js"; //定义变量

string pathStep=path+"Step.js";//定义操作步骤

string pathRefresh=path+"Refresh.js"; //各种刷新函数

//文件删除

File.Delete(pathLocationExam);

File.Delete(pathLocationOperate);

File.Delete(pathVariables);

File.Delete(pathStep);

File.Delete(pathRefresh);

//追加文本

swExam=File.AppendText(pathLocationExam);

swOperate=File.AppendText(pathLocationOperate);

swVariable=File.AppendText(pathVariables);

swStep=File.AppendText(pathStep);

swRefresh=File.AppendText(pathRefresh);

swRefresh.WriteLine(" function SetBackgroundColor() {");

swStep.WriteLine("//{0}//",_Form.Text);//输出项目中各系统名称

swStep.WriteLine("//({0})",(_Form.AccessibleName==null || _Form.AccessibleName.Trim()=="")?"0":_Form.AccessibleName);//输出子步骤可选必选数目

swStep.WriteLine("var WebPID='{0}';",(newRegular()).GetOneValueRegex("(?<=\\winform).*?(?=\\bin\\)",path)); //输出WebPID

swStep.WriteLine("var steps=new Array();");//输出steps变量

……

}

3.4 SQL Server数据库

本文设计的船舶动力装置虚拟操作系统中数据库服务器和Web服务器共享为一台,系统数据库选用Microsoft SQL Server 2005~2008.SQL Server是一个关系型数据库管理系统,可跨越多种平台使用,其内部建立了一种可以与Web服务器相连接的机制,具有使用方便、可伸缩性好、相关软件集成程度高等优点.

4结论

目前计算机、操作平台、网络、通信都进入一个快速发展的新时期,船舶动力装置虚拟操作训练系统也必然从单机应用向智能化,网络化方向发展.以往的虚拟操作训练系统中存在的问题,如用户规模的增大、地域的分散、系统逻辑的复杂等问题,在本文设计实现的基于Web的船舶动力装置虚拟操作训练系统中,均得到了解决.此外,该方案实现了快速组态的具有B/S架构的功能.该虚拟训练系统解决了时间和空间限制的问题,以此方案设计的船舶动力装置的虚拟操作系统目前已经投入运行,实践表明,受训人员能够较全面掌握动力装置系统的结构组成和工作原理,系统提高了远程教学训练的能力,具有良好的交互性、维护性和扩展性.当然,针对高安全性要求的实际船舶动力装置系统,还有待进一步提高虚拟操作训练系统的稳定性及可靠性.

[参考文献]

[1]欧金成,欧世乐,林德杰,等.组态软件的现状与发展[J].工业控制计算机,2002,4:1-5.

[2]李亨,王丽萍,郭克宇,等.基于Web技术的工业信息远程实时监测系统[J].计算机应用研究,2000,7:63-65.

[3]朱韶平.基于Web ActiveX数据控件的网络虚拟实验室构建[J].计算技术与自动化,2010,29(4):104-106.

[4]贺超波,陈启买.基于Web的实时数据监测系统的研究和实践[J].计算机技术与发展,2011,21(3):200-204.

[5]徐筱欣.船舶动力装置[M].上海:上海交通大学出版社,2007.

[6]姚寿广,肖民.船舶动力装置[M].北京:国防工业出版社,2006.

[7]李跃峰,王文海.基于ActiveX技术的组态软件Web服务功能的设计和实现[J].工业控制计算机,2007,7:47-49.

(责任编辑陈敏英文审校郑青榕)

Design and Implementation of a Web Based Virtual Operating andTraining System of a Marine Power PlantTU Wan-li,XU Yi-qun

(Marine Engineering Institute,Jimei University,Xiamen 361021,China)

Abstract:In order to solve the problems of the Web function limitation of the virtual operating training system for a marine power plant which usually was realized by industrial configuration software,a solution of Web-based training system was investigated.The system architecture based on Browser/Server mode was extablished and the key problems with their solutions existing in development process were detailed as follows: the implementation of system interface as well as its dynamic interactivity and the solution for multiplayer collaborative development and so on.With.NET development platform,the paper designed a Webbased virtual operating and training system for a marine power plant with function modules including user management modules,operation training modules of the marine power plant and operation record and evaluation module.The designed system was put into operation and the results showed that the system took full advantage of Internet and improved its performance on remote teaching.It had good interactivity,maintainability and scalability and broke the time and space limit of traditional virtual operation and training system.

Key words:Web;B/S model;.NET;Automatic;virtual operation

[中图分类号]TP 391

[文献标志码]A

[文章编号]1007-7405(2015)02-0128-06

[作者简介]涂婉丽(1982—),女,讲师,硕士,从事船舶自动化技术、机电检测技术、信息集成等研究.

[基金项目]福建省自然科学基金资助项目(2012J01229)

[收稿日期]2014-06

猜你喜欢

S模式
基于Web的毕业设计管理系统设计与实现
明日博客系统的设计与实现
集团公司OA系统的研究与开发
S模式空管二次雷达询问与监视技术研究
铝材B2B电子商务系统设计与实现 
基于ASP.NET的就业见习管理信息系统设计与实现