APP下载

通用型综合船桥系统软件设计与开发

2018-07-04中船航海科技有限责任公司李松霖胡春洋王鸿显郑鹏宇

电子世界 2018年12期
关键词:报文绘制解析

中船航海科技有限责任公司 李松霖 胡春洋 王鸿显 郑鹏宇

1.引言

由于船舶自动化程度的提高,各种传感器也随之增加。为提高操船人员的工作效率,而自然地产生了信息综合显示需求,因此在上世纪60年代末诞生了第一代的综合船桥产品——挪威Norcontrol公司的“数据桥”,该系统能将导航、操舵、雷达目标等信息进行综合集中显示。它一经面世就得到广泛关注,各航运大国也开始研制自己的船桥系统。后来随着自动操舵仪、电子海图、网络通讯、计算机技术的引入,船桥系统开始步入快速发展的道路。

1996年,IMO通过决议MSC.64(67),给出了综合船桥系统的定义及性能标准:船桥系统由多个互联互通,但又功能独立的子系统组合而成,它通过工作站不仅能集中显示传感器信息,还能对其发出控制指令,其设计目的在于提高船舶航行安全性及管理效率。船桥系统需要实现以下功能中的两种或者更多:(1)航路规划、航路监视、航迹控制;(2)通讯;(3)机械控制;(4)装货、卸货、克令吊控制;(5)安全保障。

总的看来,综合船桥系统的发展呈现出模块化、标准化、网络一体化的趋势。

当前我国的船桥系统正处于发展过程中,各船舶总体所也陆续开展了相关的研发工作,但是因为相关设备如ECDIS、导航雷达、自动舵、导航传感器等分别由不同的设备厂家独立研制,缺乏统一的模块化、标准化设计,互操作接口没有做到开放化、网络化,因此在进行系统集成时有接口对接困难,设备间的连接关系复杂、不易维护,缺乏调试手段等问题,从而导致项目周期变长,维护成本高。所以,亟需对船桥系统尤其是软件系统进行总体设计,使系统内设备具有统一的互联互通接口,加强系统集成能力,提高开发、联调和维护的效率,降低成本。

图1 综合船桥系统体系结构

2.软件需求分析

2.1 综合船桥系统的模块化

目前,国际上比较优秀的船桥系统有: Sperry的VisionMaster FT TotalWatch、Raytheon的Synapsis、Kongsberg的K-Bridge、Kelvin Hughes的MantaDigital、Furuno的Voyager。这些船桥系统普遍采用图1所示的体系结构,都是以工作站为核心,集成ARPA雷达、ECDIS、CONNING的多功能显示(MFD,Multi-Function Display),并对传感器进行集中访问及控制。多个工作站可互为备份,但是每台工作站都有一个主功能,并为此提供相应的人机接口。船桥系统主要通过双冗余网络进行数据交换,但是重要的控制信息,比如操舵、操车的信号要通过CAN总线传递。传感器则通过CAN/串口通道连接到统一的接口适配器,转换为网络数据分发给各工作站。

2.2 综合船桥系统的标准化

与综合船桥系统相关的标准主要由四个组织制定:国际海事组织IMO,国际电工委员会IEC,国际航道测量组织 IHO,美国国家海洋电子协会NMEA。IMO以会议决议、通函的形式通过各项航海公约及设备标准,IHO 则负责制定电子海图数据(ENC)相关的标准,IMO和IHO还成立了ECDIS协调小组。 IEC则以二者的标准为依据,对系统或设备拟定进一步的试验及检测方法。NMEA制定的接口标准是用来传递GPS定位数据的,而由于GPS在船舶导航领域的巨大成功,该标准也因此被IEC采纳,广泛应用于船用导航设备间接口通讯。

IEC标准具有良好的可操作性,是各大船级社型式认证的主要依据,常用的船桥系统IEC标准如表 1所示。

表1 常用IEC标准及其依据

2.3 综合船桥系统的网络一体化

船桥系统主要信息通道类型有:串口、CAN、以太网。

串口传输性能最差,但是它有着成本低廉、技术成熟、便于施工的特点,目前仍有较为广泛的应用。

CAN总线可靠性最高,但是兼容性、可扩展性较差。由于每个节点上都需要一个控制器来控制收发,所以在编程中都需要SDK的支持。其可靠性保证机制是针对每一个数据帧,对超出8字节的数据比如雷达图像,要保证传输可靠性就需要进行应用层编程。此外,总线采用仲裁机制避免冲突,以广播的方式发送数据,导致带宽利用率不高,而且随着节点数量的增加,带宽利用率会越来越低,实时性也会变差。

以太网具有兼容性好、易于扩展的特点,但是在网络负载大的情况下,以太网传输会出现丢包现象,可靠性比CAN总线要差,但有很多提高可靠性的办法。比如IEC61162-450规定了报文的“标签块(TAG BLOCK)”中应包含报文计数器,用于检测丢包现象,并还规定了应采用“图像发送-应答”的方式来保证在图像发送失败的情况下重新传送图像。此外,还有增加网络带宽,加装专门的视频网络等方法。

由于成本方面的考虑,商船船桥系统一般采用串口、CAN总线、以太网等多种方式混合组建网络。在军用舰艇上,出于数据共享、互备互切、快速部署、方便扩展的需求,导致舰桥系统的性能升级主要是以软件更新换代的形式来体现,而软件多以网络作为主要信息通道,所以舰桥系统的发展呈网络一体化趋势。比如美国海军新型多任务驱逐舰DDG-1000的关键技术之一全舰计算环境(TSCE[1]),它具有3 层结构:核心层、适配层和表示层。核心层负责提供统一的计算资源;适配层通过分布式适配处理器DAP收集传感器、武器、机电设备等前端设备信息并发送到全舰主干网上;表示层的显示终端具有灵活部署、人机交互友好的优点,只具备有限的运算性能。显示终端负责程序的输入与输出,后台大部分运算在核心层完成,从而实现了计算与显示的分离。

3.通用型船桥系统软件开发

3.1 软件功能需求

综合船桥软件应具有统一的数据收发接口,并能动态调整接收报文的解析方法和发送报文的组装方法,能处理串口、CAN、网络等不同通道的数据,能检测信息交互状况;具备高速的动态绘图能力;具备统一的核心模块,有良好的可扩展性,可衍生出多样化的应用软件。软件在.Net平台上采用C#[2]语言进行开发。

3.2 软件总体架构

根据上述功能需求,以及各模块间相互独立,数据处理与具体业务分离的原则,将通用型船桥系统软件划分为三层:基本数据层、业务层、UI层,软件结构如图 2所示。

基本数据层负责报文数据的收发,并包含一个用于构建UI界面的基本控件库。

图2 通用型综合船桥系统软件结构图

业务层内的各模块封装了综合船桥系统各项业务的具体实现。基本数据层和业务层的模块基本都是封装好的动态链接库(DLL),对外提供API接口。

UI层包含综合船桥系统所有的软件产品,每个产品是独立的可执行程序,通过调用统一的底层模块获得了一致的数据接口和业务逻辑,并根据每型船舶的具体需求再开发相应的软件界面(如图 3所示),这些软件虽然界面不同,但是共享同一个报文解析和处理模块,通过船桥专用调试工具对信息通道连接参数和报文解析方法进行相应的配置。针对不同型号船舶的综合船桥体系结构差异,可以利用接口适配程序将传感器信息转化为统一的网络报文,使体系结构的差异限制在数据采集层,减轻其他应用程序的开发量。

图3 不同型号船舶状态监控软件界面外观比较

4.关键实现技术

4.1 信息配置管理

在综合船桥系统数据传递过程中,信息传输通道(信道)、报文(分为接收报文和发送报文)、信号点是三个主要构成元素,三者的关系如图4所示。

图4 综合船桥系统数据传递链

接收报文以字节数组的形式沿信道传递,当其符合预设特征时,将被拣选出来进行解析,解析方法由多个解析器串联而成,解析结果将以ID为索引在信号点仓库中寻找存放位置。信号点按组态软件的常用分类方法分为模拟量、开关量、报警量。

图5展示了一组解析器的工作过程:它由6个解析器组成,用于解析一个11字节长的报文,每个解析器的解析结果会更新至对应的若干个信号点。

图5 报文解析方法

报文组装是报文解析的逆过程,按照预设的模板组装,组装方法由多个组装器串联而成。对每一个字节或是填写固定值,或者是从信号点仓库中按ID检索相应的信号点值填入相应的字节中。发送报文组装完成后,再沿着预定的信道发送出去。

4.2 航行态势高速实时绘制

由于底层显卡硬件机制的限制,绘制对象的数量会影响绘制的效果,数量多会导致画面更新的帧数低、画面闪烁的现象。在一副航行态势图像中,包含数以千记的海图物标、运动目标、雷达视频等对象,故在屏幕上直接绘制所有对象的方法无法满足高速实时的要求。

要解决这一问题:(1)需减少显存中绘制对象的数量;(2)需提高对象进入显存的速度。针对此,系统采取了双缓冲图像结合显存快速拷贝的方法。

在实际开发的时候,利用了图层来管理要绘制的对象,底图为海图数据处理模块生成的海图背景层,其上依次放置透明态势图层,每次绘制时从下至上将所有图层绘制到缓冲图像上(见图 6)。整幅态势图像的绘制频率要等于刷新率最高的图像频率:如果不叠加雷达视频图层,态势图像的刷新率就是0.5Hz,如果叠加,刷新率需提高到20Hz。

图6 绘制航行态势图像

5.系统应用情况及展望

将船桥系统软件进行模块化设计之后,不仅提高了软件的开发和维护效率,而且利用基础模块可以针对不同的使用人群灵活地开发出新的软件产品:(1)型号产品的开发、测试周期缩短了80%;(2)可为项目经理快速开发原型产品;(3)可为调试人员开发调试工具;(4)所有的船桥系统软件具有统一的数据传输接口,节省了系统内部接口联调的时间。

目前,软件是基于.Net平台开发的,采用了GDI/GDI+的绘图技术,只能运行在Windows系统上。由于Windows固有的缺点,软件实时性、稳定性较差,绘图效率不高,所以未来可以考虑基于QT平台进行开发,并采用OpenGL技术进行绘图,以解决上述缺陷。

[1]董晓明,冯浩,石朝明等.美海军DDG-1000全舰计算环境体系结构探析[J].中国舰船研究,2012,7(6):815.

[2]李铭.C#高级编程[M].北京:清华大学出版社,2014.

猜你喜欢

报文绘制解析
基于J1939 协议多包报文的时序研究及应用
三角函数解析式中ω的几种求法
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
超萌小鹿课程表
放学后
睡梦解析仪
电竞初解析
相机解析
ATS与列车通信报文分析