赵宇宇,陈 宁
(江苏科技大学 能源与动力工程学院,江苏 镇江 212003)
计算机技术的发展带来了各个行业的繁荣,航运业也是受益者。随着航运业对船舶信息自动化的需求越来越高,国际海事组织(IMO)也对船舶的运行、管理等诸多方面提出更高要求。虽然船舶的信息自动化管理已发展多年,但进步缓慢。如何更加高效的管理船舶,是诸多航运企业迫切需要解决的问题。为了适应新的航运要求,船舶机舱信息管理作为船舶管理的一个重要组成部分,它对船舶机舱设备的维修保养以及备件、物料等的安排和分配等诸多事务进行管理,不仅可以有效的提高船舶运行的安全性、环保性,也可以让船舶的管理更加透明、更加高效。
当前时期,航运企业所使用的船舶管理软件大多数为C/S架构,即客户端/服务器的运行模式。这种模式是在计算机应用程序流行时期被广泛采用,但随着互联网技术的发展,云计算概念的提出,这种模式因其诸多限制因素渐渐被新的模式即B/S架构取代[1]。B/S架构是一种浏览器/服务器的运行模式,不同于以往的本地应用程序,用户可以通过浏览器直接实现各种应用的操作,在互联网的大背景下,大大降低了维护成本。与此同时,云端数据库的使用,将使得管理工作更加高效。
本文采用ASP.NET技术和三维全景漫游技术,完成虚拟船舶机舱信息管理系统的开发。这是典型的B/S架构应用程序,旨在开发基于船舶实景漫游的机舱信息管理系统,是对船舶管理方式的一次探索,这将能使船舶的管理方式更加人性化,管理操作更加便捷。系统开发流程如图1所示。
三维全景漫游技术是将一组视角大于人眼正常视角的360°全景图片,通过Flash 3D引擎组织管理而形成的全景漫游技术。这是一种设计开发成本较为低廉的三维场景再现技术,只需要通过数码相机和鱼眼镜头完成某个场景的图片采集,即可在短时间内开发一套该场景的全景漫游系统[2]。该技术具有制作成本低、开发周期短等优点,当前已在诸多行业使用。在船舶机舱这种设备众多、布置复杂的场所,使用全景漫游技术可以有效的还原船舶机舱的真实场景信息,使人更加直观地了解机舱布局。
本文所使用的机舱三维全景漫游系统是以某海洋工程船舶为背景拍摄并开发的1套标准场景漫游程序。其中包括了船舶机舱各主要设备、关键布置等图片信息,用户可根据内置的地图和指示箭头完成对船舶整个舱室的虚拟游历。不用复杂的三维模型即可对船舶机舱有整体的了解,这也正是视景漫游系统的优点所在。船舶机舱全景漫游示例如图2所示。
船舶管理系统设计时大多会采用“技术管理是基础、安全控制是核心、成本控制是目的”的管理理念[3],为了兼顾系统的实用性且考虑船级社对船舶的检验要求,船舶管理的功能设置上将参考多种船舶维修保养和管理的体系要求,如船舶维修保养体系(CWBT)、船舶机械计划保养体系(PMS)等。
机舱信息管理模块作为船舶管理系统的一部分,同样遵循船舶管理系统的设计理念。本文设计的管理模块的主要功能包括:船舶设备与备件管理、船舶维护保养计划制定与审验、证书的管理、船舶物料油品管理和报表管理[4]。通过该系统可以实现机舱设备的定期维护保养、计划和安排船舶维修相关事宜、计划采购船用油、物料、备件以及工具,为参与企业经营决策与成本控制提供参考。
本套系统基于ASP.NET开发,以船舶机舱虚拟场景为基础,对其中可视的设备添加交互热点,从而实现对机舱设备的信息化管理。本次开发以某船漫游系统作为底层核心,信息管理系统将围绕该漫游系统设计,其中主要参考该船完工手册及其说明书。机舱信息管理核心功能模块如表1所示。
为了能够更加方便、直观地管理机舱主要设备,本系统希望能获取机舱部分设备的实时运行数据,于是嵌入了基于Web的组态软件WebAccess的监控界面。WebAccess作为一种B/S架构的工业组态软件,技术已经相当成熟,近几年来已在船舶机舱自动化管理中广泛使用。WebAccess系统架构如图3所示。
WebAccess是完全基于Web平台设计的网际组态软件,其与生俱来的强大网络功能使现场监控向船舶管理平台的嵌入提供了支持。WebAccess允许浏览器通过链接地址实现监控界面的远程访问,前提是访问之前正确配置链接地址。
本系统开发时,因没有实船环境,故利用现有实验条件自行开发了1套WebAccess监控界面,以此实现信息管理系统对WebAccess界面的调取。从图3可以了解到,WebAccess组态运行时需要1台计算机作为工程节点,始终与下位机保持通信,起到服务器的作用。而浏览器端的访问则相当于客户端向服务器的访问,都是从工程节点中获取数据,而这也正是B/S架构的核心所在。
数据库是整个管理平台的核心,不同的功能模块将通过数据库形成一个完整的管理体系。用户信息、设备管理、备件和物料管理等功能的实现本质都是在完成数据存储任务。本文采用Microsoft SQL Server数据库来满足大数据、安全高效的数据存储。数据库表的建立根据本文2.2节表格内容设计字段信息,建立相关的数据表格即可。
机舱漫游系统采用Flash CS6开发,其中使用开源Flash3D引擎PaperVision3D(以下简称PV3D引擎)完成全景图片组的组织、渲染。通过PV3D引擎制作的船舶漫游系统运行流畅、系统稳定、用户体验极佳,也正因此它是制作场景漫游系统的首选引擎[5]。机舱漫游系统不仅只是通过鼠标拖拽实现全景图片的360°浏览,还可以向场景中添加导航箭头、地图信息、热点信息等更加丰富的用户交互方式,以实现全景漫游的功能最大化展现。在机舱场景中主机位置处添加热点,点击后弹出窗口如图4所示。
在漫游系统基本开发过程中,需要添加漫游交互式热点的核心功能索引。因整个系统运行在服务器上,用户通过访问网页的方式进行学习,故系统需要为漫游热点添加热点索引,并且为每一个热点添加执行JavaScript代码的功能,以方便后期数据的读取。若要在Flash CS6中实现上述功能,需要添加对External-Interface包的引用,通过它提供的接口函数调用网页中的JavaScript脚本[6]。这样,用户在点击漫游中的热点时,将会自动调用网页中的JavaScript方法getHotspotIndex(),并以形参的方式传递索引值,只需要在该方法体内判断该索引并实现相应的功能代码即可。例如点击“柴油机安装说明书”热点并弹出窗口,调用效果如图5所示。
漫游系统通常只是以场景展示的形式为人们所用,其在信息管理系统中的应用较少,但这并不是说漫游系统不适合在信息管理系统中使用,在合适的场合其发挥的功能更大。本文将信息管理模块嵌入漫游系统作为信息展示的一种形式,其主要负责对信息维护,所有的数据存储操作均在后台完成。嵌入的方式同上,使用showDlg()方法将后台管理页面链接MPage.aspx作为参数传入即可。管理模块入口在漫游系统的主界面,使用ASP.NET技术开发[7],并使用jQuery EasyUI完成系统的界面布局及其他UI功能。
机舱设备目录树数据从数据库中读取并动态生成easyui-tree所需要的JSON字符串[8]。JSON字符串构建时,需要为其动态指定ID号作为各项的唯一标识码。目录树生成以后,当项目点击事件发生时,只需要判断该ID号并结合项目间的父子关系即可弹出指定内容。设备目录树生成后,点击目录树中的三级项目时,可弹出设备卡信息窗口。机舱漫游对设备管理界面的调用效果如图6所示。
若想在机舱信息管理系统中使用WebAccess组态监控界面,需要机舱设备使用WebAccess组态软件开发上位机监控程序。一般的组态软件都是以单击的模式运行,对Web端的访问支持不友好,这种情况下,如果想实现设备实时运行数据在浏览器端的显示,则需要使用数据库作为中转介质,这无疑增加了开发成本。而WebAccess组态在浏览器端的访问具有先天的优势,完全基于Web的网际组态使得第三方系统的调用更加容易。
系统运行时,需要保证工程节点所在的计算机已成功启动该监控节点,然后在漫游系统的热点单击事件或者后台管理标签链接中引用上面的链接地址即可成功实现第三方平台对监控界面的调取。实际调用效果如图7所示。
本文完成了船舶机舱信息管理系统的核心功能模块的基础开发工作,并实现了机舱三维场景漫游系统的嵌入。系统发布以后,用户不仅可以通过局域网更能通过广域网远程查看机舱设备的实时运行信息,使得船舶的管理工作更加便捷。该系统便于维护且易于管理功能的再扩展,不仅便于操作者使用,更利于操作者快速熟悉船舶机舱环境,为今后船舶的维护保养工作打下良好的基础。
参考文献:
[1]张良银. 浅论C/S和B/S体系结构[J]. 工程地质计算机应用,2006, 44(04): 21–23.ZHANG Liang-yin. On the structure of C/S and B/S[J].Engineering Geology Computer Application, 2006, 44(04):21–23.
[2]陈宁, 龚苏斌. 基于PV3D的全景漫游关键技术研究[J]. 系统仿真学报, 2013, 25(9): 2140–2143.
[3]杜汉启. 船舶机务管理系统的设计与实现[D]. 大连: 大连海事大学, 2014.
[4]郑士君, 褚建新, 黄爱平, 等. 船舶机务管理信息系统设计[J].中国航海, 2002, 53 (4): 64–67.ZHENG Shi-jun, ZHU Jian-xin, HUANG Ai-ping, et al. The design of ship maintenance management information system[J].Navigation of China, 2002, 53 (4): 64–67.
[5]PAUL T, JEFF W. Papervision3D essentials[M]. UK: Packt Publishing, 2009.
[6]GRAHAM R, AMIN A, PHILLIP B. Developing understanding of programming principles using Flash Actionscript[J].ITALICS, 2007, 6 (4): 51–71.
[7]JASON N G, CHRISTIAN W, et al. 李增民, 苗荣, 译. ASP.NET 4. 5高级编程[M]. 北京: 清华大学出版社, 2014.
[8]周欣, 陈亮, 陈颖, 等. 船舶设备标准目录Web异步树的实现[J]. 机电设备, 2014(04): 32–35.ZHOU Xin, CHEN Liang, CHEN Ying, et al. Realization of web asynchronous tree of marine equipment standard directory[J]. Mechanical and Electrical Equipment, 2014(04):32–35.