网站首页 | 经济学论文 | 证券金融 | 管理学 | 会计审计 | 法学论文 | 医药学论文 | 社会学论文 | 教育论文 | 计算机 | 艺术论文 | 哲学论文 | 财务管理 |
写论文网
  • 中国哲学论文
  • 西方哲学论文
  • 思想哲学论文
  • 科技哲学论文
  • 美学论文
  • 国学论文
  • 逻辑学论文
  • 哲学其它论文
  • 您的位置:写论文网 > 哲学论文 > 哲学其它论文 > 基于QT 集成化插件技术的电... 正文 2019-08-04 08:36:47

    基于QT 集成化插件技术的电子战显示软件设计 QT插件

    相关热词搜索:

    50 • 电子技术与软件工程 Electronic Technology & Software Engineering

    软件开发 • Software Development

    【关键词】QT 集成化 插件

    电子战显示控制主要完成了电子对抗装

    备的综合显示和控制功能,通过控制各电子对

    抗相关设备工作状态、工作模式,调度电子对

    抗各设备功能,接收各设备状态和处理结果信

    息,形成电磁环境态势图,进行显示和综合决

    策,完成对空和对海进攻、友邻舰艇支援干扰,

    舰艇自卫干扰、电子情报获取、硬武器系统信

    息支援等任务。

    随着QT 插件技术在跨平台方面的拓展和

    应用,越来越多地应用于电子战装备的显示,

    本文介绍了一种实现电子战各个功能模块隔离

    和重构的显示技术。

    1 功能特性

    电子战是冲突双方为了探测和电子攻击

    敌方部队和武器控制系统,包括高精度武器及

    保护己方电子系统和其它目标免于被技术侦察

    (电子情报行动、ELENT)、人为干扰和自

    然干扰,而采取的一系列措施和行动。免于被

    自然干扰含有确保电磁兼容性(EMC)。所

    以这一系列的行为操作包含了较为复杂的显示

    控制。

    电子战显示功能繁多,主要包括了无源

    侦察和情报分析,对舷外干扰设备、毫米波干

    扰设备、激光告警设备的目标引导和发射控制、

    通信侦察干扰显示控制、

    X 波段和有源干扰显示控制。同时还要完

    成系统任务状态监控、系统资源监视、电子对

    抗任务规划、对抗设备管理控制、综合电磁态

    势和对抗态势显示等功能。各个功能都需要一

    套对应操作界面来进行操作和反馈。本文介绍

    了一种基于QT 插件技术的集成框架,利用插

    件技术把电子战的所有功能进行划分,并灵活

    地配置。

    2 插件简述

    文/凌旺 刘德龙 张名明

    随着现代战争中电子战的作

    用越发重要,电子战显示软件作

    为控制的终端,需要针对各种任

    务需求快速、灵活地下发命令并

    反馈作战信息。基于这种作战需

    求,本文提出了一种以QT 语言为

    开发平台,基于插件集成技术的

    电子战显示控制软件设计。该设

    计介绍了插件技术、集成化方式

    和具体设计方法,并且该软件设

    计技术已成功应用。

    摘 要

    遵循综合显示控制软件架构设计,采用

    开放式的软件体系结构,基于统一的态势集成

    框架和插件技术进行软件开发,可根据作战任

    务进行各台位功能重构,灵活配置。

    软件设计主要分为核心层、中间层和应

    用层,如图1 所示。

    核心层主要包括操作系统、多功能台设

    备驱动等模块,提供屏蔽硬件平台差异的服务。

    中间层主要包括综合态势显示框架和共

    性插件,在核心层的支持下,为应用层的功能

    插件开发和台位应用软件集成提供统一的共性

    平台。

    应用层功能插件基于综合态势显示框架

    和共性插件开发,按照统一标准和接口,完成

    各设备相关的显示操控等功能。台位应用软件

    完成框架和共性插件、各功能插件等的功能集

    成,实现应用软件的相关功能。

    3 软件设计

    QT 插件集成框架技术已经在某项目中得

    到应用,本次软件设计主要包括三部分,分别

    为综合态势软件框架、共性插件和功能插件。

    如图2 所示。

    3.1 软件框架

    首先定义一个数据通信接口:用于插件

    和框架、插件和插件之间通信。

    功能包括:

    (1)增加读写内存总线的函数接口;

    (2)增加数据输出的函数接口;

    (3)确定插件的通知机制:使用挂接函

    数进行控制传递;

    (4) 优化为仅仅通过核心插件设置

    IDataBus 接口指针来对数据总线进行访问。

    3.1.1 接口框架类

    通用插件必须实现的接口:

    c l a s s IDa t aCommu { p u b l i c : v i r t u a l

    ~IDataCommu() {}; 调用插件后,初始化插

    图1

    图2

    Software Development • 软件开发

    Electronic Technology & Software Engineering 电子技术与软件工程• 51

    件库virtual void Initialize( ) = 0; 插件退出

    时, 释放资源virtual void Release() = 0; 每

    个插件实现此函数,表示此插件的名称,和

    uID 配对virtual QString GetName() =0; 更改

    插件的状态:state 指向状态数据缓冲 virtual

    void SetStateData(QByteArray &state) = 0; 清

    空所有的历史数据、状态virtual void Clear()

    = 0;protected: 派生类获取此指针读写数据

    总线,挂接数据更新通知函数IDataBus *

    pBusInterface;public: 插件间通信使用的接口相

    关定义void SetBusInterface(IDataBus * pFace)

    {pBusInterface = pFace;};};。

    此框架类主要实现了各个功能插件和共

    性插件的通信接口标准定义。

    3.1.2 显示框架类

    显示界面功能接口:

    class IDisplay{public:~IDisplay(){}; 获得显

    示的窗口指针Qt::DockWidgetArea;widgetList

    停靠的窗口列表;dockList 停靠属性列表:

    NoDockWidgetArea 是正常显示窗口, 否则是停

    靠窗口,返回窗口的数量virtual const quint32

    GetWidget(QList<QWidget* >&widgetList,

    QList<QString>&nameList, QList<Qt::DockW

    idgetArea>&dockList) = 0; 增加一个接口:

    输出QAction 列表virtual QList<QAction*>

    GetActList() = 0; 增加一个接口:输出菜单

    项strMenuName 菜单栏的名称, 避免产生

    过多的菜单栏核心插件按照strMenuName

    设置菜单栏项目virtual QList<QMenu*>

    GetMenuList(QString * strMenuName) = 0; 增加

    一个接口:输出label virtual QList<QLabel*>

    GetLabelList() = 0; 增加一个接口:输出菜单项,

    窗口的显示名称,显示为标题virtual QString

    GetName() =0;}。

    此框架类主要实现了各个功能插件和共

    性插件的显示接口标准定义。

    3.2 共性插件

    共性插件是“CorePLugIn”插件,继承于

    IEwCore 共性插件类。

    class IEwCore{public:virtual ~IEwCore()

    {}; 调用插件后, 初始化插件库virtual void

    Initialize( ) = 0; 启动显示窗口,设定主标

    题virtual void Start(bool bShow,const char

    * title)=0; 插件退出时, 释放资源virtual

    void Release() = 0; 处理各个插件的输出数

    据, 实现各个插件的数据交互virtual void

    ProcessPlugData(const DataOut_Descrip_

    Info&) = 0; 限制只能是此名称,主程序首先

    加载插件virtual QString GetName(){ return

    QString("%1").arg("ewcore");};};

    此类主要定义一个框架的共性插件:负

    责整个系统的插件的加载、管理、数据通信交

    互;负责显示界面的布局。

    在主函数int main(int argc, char *argv[]) 里

    直接调用共性插件,在void LoadCorePlugIn(){}

    函数里实现。

    3.3 功能插件

    功能插件主要实现了电子战显控的具体

    功能,包含网络、存储、态势图形、导航大气

    等功能都能在功能插件里得到实现。

    各种功能插件在共性插件void

    QCorePlugIn::Initialize( ){} 的函数里调用。通

    过配置文件读取函数ReadConfig() 读取配置文

    件“sysconfig.xml”来动态加载和卸载各个功

    能插间。

    4 应用实例

    如图3,这是在QT 插件集成化框架体系

    结构下的具体应用实例。图上3 个功能插件可

    • 范文大全
    • 教案
    • 优秀作文
    • 教师范文
    • 综合阅读
    • 读后感
    • 说说
    基于QT 集成化插件技术的电子战显示软件设计 QT插件》由(写论文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2019 写论文网 All Rights Reserved.