船舶远程监控系统设计
2012-11-10庞林,陈亮
庞 林, 陈 亮
(上海船舶运输科学研究所 民品分所,上海200135)
0 引 言
船舶远程监控是先进的船岸数据交互技术,它的出现顺应了企业船舶设备逐渐增多、生产规模日益扩大、管理要求不断升级的现状,实现了及时了解和监控船舶设备的运行状态,有效掌握和控制施工状况,提高经营生产的决策效率和质量,提升了企业信息化管理水平。
随着船舶动力装置的大型化、自动化、高速化和复杂化程度不断提高,故障诊断和维修难度日益加大。船舶航行期间难以获得及时的故障诊断和强有力的技术支持,许多复杂的实际问题,依靠船上人员自身的力量,往往难以解决。因而,如何保持船舶动力装置的可靠性和预定的营运功能,是当前急需解决的问题。随着维修技术、通信技术和计算机网络技术的发展,集合各方力量,建立基于网络的远程监测、维护与故障诊断系统,使得船舶动力装置在运行的同时兼顾监测、诊断和维护功能,以保证船舶动力装置可靠地运行。
1 远程监控系统现状
20世纪90年代以前,船舶的监控系统大多为单船封闭系统,系统经历了集中型监控系统、集散型监控系统和分布式现场总线控制系统等发展阶段。虽然监控系统的逐步完善提高了船舶运行的可靠性和经济效益,同时也降低了船员的劳动强度,但仍无法满足与陆地公司实时的互通信息,公司无法有效地获得航行船舶的运行状态。
近年来随着卫星通信技术、计算机技术、互联网技术的发展,在激烈的市场竞争中,以计算机技术和通信技术为代表的信息化技术已经成为航运企业赖以生存和发展的必备条件,但是高额的卫星通信费用制约了船岸数据通信的推广。设计的船舶远程监控系统在利用网络技术实现船岸数据通信的同时,利用2次压缩技术,最大程度地节约了通信成本。
2 设计目标
1.面向服务。一方面通过系统本身功能将船舶运行数据,如机舱监测报警系统、全球定位系统(Global Positioning System,GPS)、船舶自动识别系统(Auto matic Identification Syste m,AIS)等采集后统一处理;另一方面向管理者和用户提供所需的信息服务。
2.强化管理。按需求将全部数据或选择部分数据通过卫星通信定时自动上传至公司端,公司端下载数据后,通过公司端软件进行数据回放及动态分析,保证了公司对航行中船只或船队的监管。
3.方便使用。软件设计中体现了人性化的设计理念,界面简洁清晰,易于操作。
4.结构科学。软件的系统架构采用多种开发语言,设计科学、高效,充分考虑到各使用端的实际情况。另外采用了数据2次压缩,最大程度地节约通信成本。
5.扩展灵活。满足了船舶动力装置的大型化、自动化、高速化和复杂化的需要。在船端数据采集上,可方便地收集数据统一处理;岸端通过软件对采集的数据进行分析,并可用多种形式回放。
3 系统架构
船舶远程监控系统以船舶动力装置为研究对象,主要由船载系统(船舶端)和岸基系统(公司端)两方面组成,并通过海事卫星进行数据交换(见图1)。
图1 船舶远程监控系统架构
4 系统功能
4.1 船载系统功能
船舶端的主要功能是采集船上的主要数据并统一进行数据综合处理,而后通过网络技术将压缩后的数据包发送至公司的服务器端。
4.1.1 数据采集
系统通过网关,采集机舱监测报警系统和GPS或AIS系统的当前数据(可根据实际需要选择全部或者部分测点)。机舱监测报警系统的数据包含历史报警、消警、报警抑制、传感器故障等。除以上采集的数据外,系统还可以根据客户的要求,采集船舶定位数据、施工数据、工况参数、文件报表等各类信息(见图2)。
4.1.2 数据综合处理
数据综合处理模块将采集的数据按照统一的格式进行处理(主要是数据的有效性检查、数据的格式统一、异常数据检验,并添加当前的时间和设定的船名生成数据包,以便公司端系统应用)。船端数据包有两种形式:
(1)由基础数据组成的基础数据数据包,架构见图3;
(2)由实时数据和报警数据组成的动态数据数据包,架构见图4。
图2 船舶远程监控系统数据采集示意图
图3 基础数据数据包架构
图4 动态数据数据包架构
图3 中:Data表属列表型数据,直接生成sqlite数据表;Menu表存储为Bl ob数据,便于还原时加入字符编码进行转换,解决船岸不同操作系统字符编码不统一的问题;Mi mic表则将Windows标准图像格式图像(Bit map,BMP)转换为流式网络图形格式(Portable Net wor k Graphic For mat,PNG),再以Blob数据类型存入数据表。
4.1.3 数据传输模块
系统在完成了一系列数据采集和处理后,将数据包通过邮件系统发送至公司端(通信终端主要采用卫星通信F站、B站、M站等)。传输模块提供两种方式发送数据。
(1)定时循环发送;
(2)远程邮件控制发送。
图5 岸基系统功能流程图
4.2 岸基系统功能
4.2.1 岸基系统流程
系统在公司端收取邮件,将自动启动船舶远程监控系统公司端,根据传回的数据可自动识别船舶信息,分类存储至对应船舶数据库中。此外,接收到的数据通过列表和图形方式可以进行回放,便于管理人员或专家进行远程管理和技术支持(见图5)。
4.2.2 船舶数据回放
公司端接收船舶发回的邮件,可用表格和系统模拟图显示船上数据,并对船舶进行定位,也可通过历史数据库查询报警、消警、报警抑制、传感器故障等历史数据(见图6、图7)。
4.2.3 数据导出
根据公司的管理需要,可定制数据导出格式与内容,对已存数据进行2次开发。
图6 报警清单示意图
图7 空气管系示意图
(1)将船员由手工抄表的工作中彻底解放出来;
(2)实现对主机流量、主机转速的实时统计。
5 关键技术
5.1 船岸两套开发平台适用性更广
为确保船端系统的可靠性和降低成本,采用Visual C++从底层操作数据,可在不额外配置计算机的情况下达到效果。
岸端设计采用C#平台。C#是微软推出的1种优秀的编程语言,大多数C#编译器都运作于.NET平台上,新的语言细节不断地推出,比如直接支持SQL(Str uct ured Quer y Language)的语言集成查询 (Language INtegrated Quer y,LINQ)语法等,使得由C#设计的界面元素更丰富,显示效果更佳。
5.2 运用数据2次压缩,节省大量卫星通信费用
采用sqlite进行数据二进制转换压缩,然后采用zipcode进行2次压缩,形成极小的数据包。实船操作中,船端每天发送2个数据包,每个数据包容量<5 K,比船员发送1封普通邮件的数据量还低。
SQLite是轻型的数据库,遵守原子性、一致性、隔离性和持久性(Atomicity、Consistency、Isolation、Durability,ACID)的关联式数据库管理系统,嵌入式的设计目标,目前已在很多嵌入式产品中使用,它占用资源低,只需要几百K的内存。SQLite能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,如 Tcl、C#、PHP、Java等,另有开放数据库互连(Open Database Connectivity,ODBC)接口,比Mysql、PostgreSQL这两款世界著名的数据库管理系统的处理速度都快。SQLite第1个Alpha版本(内部测试版)诞生于2000年5月,现已迎来了SQLite 3新版本。
BLOB(binary large object)是1个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。典型的BLOB是1张图片或1个声音文件,考虑到它们的文件大小,必须使用特殊的方式来处理(例如:上传、下载或者存放到1个数据库)。
ZIP是可以分别压缩每个文件的存档格式。分别压缩文件允许不必读取另外的数据而检索独立的文件;理论上,这种格式允许对不同的文件使用不同的算法。所设计的系统采用的是卡茨(Katz)的DEFLATE算法。DEFLATE是同时使用了LZ77算法与哈夫曼编码(Huff man Coding)的无损数据压缩算法。
5.3 图形压缩处理及自适应分辨率
船端采用BMP格式的模拟图,在不降低图形质量的情况下,采用图形压缩成PNG格式的算法,缩小了数据包大小。
表1 数据包压缩对照表
根据表1可以看出,基础数据包的压缩比达到1.3%,其中第1次压缩效果尤为明显。这是因为对基础数据中的模拟图进行了转换压缩,其实现原理是通过.Net Frame Work(又称 .NET框架)中的System.IO类读取图片文件,通过算法将其转换为数据流,再对数据流(Memory Stream)进行操作,进行位图转换(System.Drawing.Bit map),将原BMP格式的模拟图动态转换为PNG格式的模拟图。这里需要特别指出,之所以采取动态转换,是为了不影响原始模拟图文件,从根本上杜绝船上监测报警系统与远程监控系统同时争抢数据的可能性。而且通过底层文件流对位图进行转换的算法提高了效率。选择将BMP文件转换为PNG格式,考虑了PNG格式的特殊性能。
5.3.1 显示能力
PNG用来存储灰度图像时,灰度图像的深度可多到16位;存储彩色图像时,彩色图像的深度可多到48位;并且可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。
5.3.2 流式读/写性能(streamability)
PNG图像文件格式允许连续读出和写入图像数据,这个特性很适合于在通信过程中生成和显示图像。
5.3.3 透明性(transparency)
这个性能可使图像中某些部分不显示出来,用来创建一些有特色的图像。有利于后期对模拟图进行动态加点(数据监测点)和标注等。
5.3.4 文件结构
PNG图像格式文件(或者称为数据流)由1个8 Byte的PNG文件署名(PNG file signature)域和按照特定结构组织的3个以上的数据块(chunk)组成。PNG文件结构PNG定义了两种类型的数据块:一种是关键数据块(critical chunk),为标准数据块;另一种是辅助数据块(ancillary chunks),为可选数据块。关键数据块定义了4个标准数据块,每个PNG文件都必须包含它们,PNG读写软件也都必须要支持这些数据块。它的这些流相关的数据块,与.NET Frame Work中的流可以更好地结合起来,提高效率(见图8)。
还原后的图形,采取动态适应显示器算法,在岸端软件中能自动适应4∶3显示器与16∶9显示器。16∶9显示器的显示中还加入了自动裁边算法,最大程度提高了显示效果。
5.4 对各种数据进行集中处理与管理
结合船公司的管理需要,集成各船或船队的实际管理内容,使船舶的日常管理工作更具备网络化功能。
船公司通过网络对船只或船队的船舶设备运行状态进行动态跟踪,实现远洋船舶现场的航行信息、机舱信息、货物信息、海况信息、视频信息和工作文件向岸端的实时传输,实现船岸之间信息相互传递,使得管理人员能够及时迅速地了解船舶的动态,更使得客户在办公室里就可管理其航行于世界各大洋的船队。例如能将船上的主机压力、主机温度、配电板、锅炉等一系列的报警数值传回岸上公司,公司端在研究了数据后可及时做出故障诊断,实现远程监控。
所传回的数据不局限于以表格的形式进行显示,也可显示在模拟图上,使其显示更加清晰和直观(见图9)。
图8 数据块文件结构
图9 主机系统示意图
6 结 语
船舶远程监控系统的开发,解决了船公司对本企业航行在世界各地船只或船队运行数据的及时掌控,使得船舶远程监控、维护与故障诊断得以实现,保证了船舶动力装置的可靠性和正常运行。随着船舶动力装置的大型化和复杂化,该系统更可结合各方面的技术支持,借助网络对运行在海上的船舶给予更多的技术支持,对船舶油耗进行监督管理等,使得船公司提高经营效率,提升企业信息化管理水平。
[1] 冯思春.船舶远程监控及数据交换系统的研究与应用.[D].大连:大连理工大学,2007.
[2] Grant Allen,Mike Owens.SQLite权威指南 [M].杨谦,刘义宣,谢志强,译.第2版.北京:电子工业出版社,2012.
[3] Martin Fowler.企业应用架构模式 [M].王怀民,周斌,译.北京:机械工业出版社,2010.
[4] Kevin Hoff man.Visual C#2005技术内幕 [M].李虎,许福,译.北京:机械工业出版社,2007.
[5] Christian Nagel,Bill Evjen,Jay Glynn.C#高级编程 [M].李铭,译.第7版.北京:清华大学出版社,2010.