基于组件技术的船舶导航系统设计与实现

Data Base Technique  •
数据库技术
Electronic Technology & Software Engineering  电子技术与软件工程• 135
【关键词】船舶导航 组件 信息系统
1 引言
船舶导航系统作为船舶航行信息的获取和指导模块,对船舶的航行安全有着重要意义。随着导航、计算机、网络、信息融合及地理信息系统等多学科的技术发展,船舶导航系统也出现了多种类型,如惯性导航系统、全球定位系统(GPS 和北斗)、多普勒测速系统、无线电导航系统、数字导航雷达以及电子海图显示系统等。
本文基于组件技术构建了一个可扩展的船舶综合导航系统,可以接入多种信息源数据,同时可以对功能进行模块化开发,如海图量算、海图标绘、航线设计、历史航迹回放、信息查询等,根据用户需求开发多样化的定制功能,并做到软件功能的灵活配置。
2 船舶导航系统的体系架构
抗干扰滤波器
基于组件的船舶导航系统主要由基础平台层、数据支撑层、中间层和应用层组成,基础平台层为系统提供必要的平台支撑,包括操作系统、地理信息系统和数据库管理系统等,数据支撑层提供接入的多种信息源数据。应用层包括主界面、海图量算、海图标绘、历史航迹、航线设计、水文气象等业务功能组件。中间层包括三个模块,其中主控模块是组件的管理器,动态加载功能组件,同时对组件进行注册和管理。中间层接口负责封装与基础平台层交互的接口,由此减少由平台变更导致的业务功能代码重构,提高代码的可扩展性、可维护性和稳定性。数据管理模块负责管理船舶导航指挥所需的各种数据,其中实时目标数据包括雷达探测的实时目标数据、北斗AIS 船载一体机获取的船舶信息等,静态数据包括码头、锚地、航道、浮灯、警戒区、禁渔区、IPO 点以及用户标绘数据等。
3 基于组件技术的船舶导航系统
基于组件技术的船舶导航系统设计与实现
舞台烟火文/薛雯  吴瑞祥  祁青青
3.1 动态组件工作原理
框架是在基础平台层上开发的可独立运行的程序,提供以电子海图为基础的二三维一体化显示平台。框架通过主控模块实现组件的加载和管理,为组件的功能实现提供图形化显示、数据支持和人机交互。
组件是系统功能实现的载体,包含一个工厂类组件及一个或多个功能组件,组件的工厂类组件为组件提供与框架交互的接口,是组
件实例化的入口。工厂类组件接口包括初始化、释放、获取组件ID 、获取组件描述信息、获取组件接口列表、获取组件接口指针等。
功能组件包括命令组件、消息组件、工
具组件、菜单组件等。命令组件的命令标识是唯一的,收到调用命令时,主控将根据命令标识发送给注册该命令的组件进行处理。消息组件采用的是广播机制,即发送消息时,所有组件都会收到消息。工具组件用于图上操作管理,图上操作具有排他性,组件A 进行图上操作时,其他组件将结束之前的图上操作。菜单组件用于系统右键菜单的组合。3.2 通信机制
在保证组件间松耦合的前提下,系统提供了三种通信方式:
(1)组件间通过调用主控接口进行通信,组件A 调用主控模块的执行命令接口intExecu teCommand(constQStringstrCommand,intiInput,QStringstrInput, void* pInput, void** pOutParam = 0),其中strCommand 为命令ID ,iInput 、strInput 和pInput 为输入参数,pOutParam 为输出参数,组件B 接收到组件A 发送的命令后,将执行结果填入pOutParam ,则组件A 可获取到执行结果。
(2)组件间可以通过共享内存来实现数据交换,即多个组件通过访问同一块内存实现数据交换。系统的数据管理模块可实现数据交换,数据管理模块提供订阅-发布机制,当某个组件修改数据后,发布数据变更事件,其他组件可以通过订阅数据变更事件获取数据变更消息,从而进行相应处理。发电机测试系统
丰年虾孵化器(3)组件间可通过接口调用进行数据交换。A 组件将导出接口指针存入主控模块,B 组件通过接口ID 获取接口指针,通过接口调用实现数据交换。3.3 右键菜单
老化电阻系统的右键菜单只有一个,菜单功能可能来自一个组件也可能涉及多个组件。右键菜单项的生成首先需要指明操作对象,操作对象
包括海图、实时目标和标绘图元等,不同组件针对相同操作对象的菜单才需要组合。
在配置文件中定义所有操作对象,当用户按下右键后,主控模块通过调用菜单组件的接口QList<MenuItem>OnGetMenuItem(QSt ringsOper, QPointpt)遍历组件,获取组件的右键菜单状态,
其中sOper 为操作对象类型,MenuItem 为结构体,定义了名称、命令、快捷方式、子菜单等。功能组件根据当前的操作对象返回菜单项。主控模块遍历所有的菜单组件后生成右键菜单,为了使菜单项的加载顺序不受组件加载顺序影响,保证组件配置的灵活性,系统中增加了一个菜单项配置文件来决定菜单项的配置顺序。
4 结束语
船舶导航系统对于海上交通安全有着重要意义,相较于传统船舶导航系统功能模块不易维护和替换,基于组件技术的船舶综合导航系统,因其体系架构的独立性,能够快速响应需求的变化,缩短研发周期,在软件发布后还可以灵活配置和完善已有功能。目前,该系统已在百余艘船舶上安装试用,实践证明,基于组件集成技术开发的船舶导航系统极大地提高了系统的可扩展性和可维护性。
参考文献
[1]李妍.船舶导航网络通信技术的研究[J].
船海工程,2010(06).
[2]贾银山,贾传荧,魏海平,张波.基于
GPS 和电子海图的船舶导航系统设计与实现[J].计算机工程,2003,29(01):194-195.
罗口袜
[3]韩剑辉,许镇琳,赵承利,舒东亮.船舶
综合导航系统应用技术[J].天津大学学报,2010(02).
[4]李祥,吴瑞祥,薛雯.基于组件的可扩展
战场态势展现框架的设计与实现[J].网络安全技术与应用,2013,7:80.
[5]云,马捷中,蒋泽军.基于组件的组
态软件设计与实现[J].计算机测量与控制,2013,21(02).
作者简介
薛雯(1987-),女,安徽省全椒县人。硕士研究生。工程师,研究方向为数据可视化应用。
作者单位
中国电子科技集团公司第28研究所  江苏省南京市  210007

本文发布于:2024-09-21 21:59:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/294777.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:组件   船舶   导航系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议