2024年4月21日发(作者:)
基于QT的无人直升机地面站
集成管理软件设计与实现
覃石昌
(中国直升机设计研究所无人机事业部, 江西景德镇,333001)
软件开发
摘要:为保障无人直升机地面控制站正常运行,需要实时管控无人机地面控制站设备运行状态。本文首先从地面站操作人员的使用性出
发,设计开发了一个集成管理软件。并依次介绍了集成管理软件架构、部分模块设计。然后通过在实际项目地面控制站运行集成管理软件
的方式验证其主要功能。实践证明用本文方法开发的集成管理软件具有界面直观、操作使用方便等特点,为无人直升机地面站的正常运行
提供了可靠的保障。
关键词:无人直升机;地面站;集成管理软件;QT
0 引言
杂的设备,几乎所有设备都和外界进行数据交互,控制站的
正常运行依赖于这些设备的正常工作,由于站内设备数目众
多且软件异构多样化,为每一款设备预留专门的监控软件是
不现实、没有必要的,因而需要集成管理软件对所有设备进
使用其开发的代码具有运行效率高、代码简洁、可直接操作
硬件等优点。但是,C++并没有专门的UI组件,也缺乏可
行集中进行监控、管理。C++是强类型的面向对象开发语言,
靠的线程通信机制。QT是一套跨平台的C++开发库,其封
装了大量的工具库;界面源码与业务代码充分解耦合;QT
发无人直升机地面站
[1]
无人直升机地面站集成管理软件。
的信号槽机制十分适合UI组件刷新。因而本文利用QT开
对于无人直升机地面控制站来说,内部运行着多种类复
冗余设备提高地面站的可靠性,冗余设备之间除了UDP外,
也使用串口通信,因而,从全站统一数据传输协议,提高
序调用。
系统集成效率的目的出发,集成管理软件与外界的通信接
口基于UDP和串口。通信模块以动态链接库形式被主程
■ 2.1 网络通信
通信模块设计流程如图2所示。
根据需求,集成管理软件与服务器之间要实现状态管
理、权限控制等功能。基于UDP的无状态通信的特点,集
类型数据是对请求数据的执行反馈。
通用请求类型数据格式如下:
struct applyData
{
char srcID;
char destID;
设备状态
显示
成管理软件与服务器的交互数据格式分为两部分,第一部分
为通用请求类型数据,第二部分为通用反馈类型数据,反馈
1 软件架构
源码与业务代码充分解耦,具有良好的复用性和扩展性。软
件架构如图1所示,分为显示界面、管理界
面、通信、后台管理四大模块。
底层的通信模块中网络通信部件基于
协议设置
无人直升机地面站集成管理软件采用模块化设计,界面
通信设置消息显示时间显示
QUdpSocket进行开发,串口通信部件基于
务逻辑部件均基于QT库进行开发。
显
示
界
面
QSerialPort进行开发,其他界面显示、业
网络通信数据解析串口通信
2 通信模块设计
供显示数据,对外界提供交互接口,QT作
为一款功能强大的C++类库,库内有丰富
的通信组件。无人直升机地面控制站的主要
功能是和无人直升机交互数据,该类数据通
信具有数据量大、对时间敏感等特点,所以
采用UDP通信;同时,地面站内设有多套
软件中的通信模块主要功能室向界面提
后台管理设备管理系统管理
图1 基于QT的集成管理软件架构图
创建数据格式创建接收线程编写业务逻辑编译成库文件
图2 基于QT的通信模块设计流程图
www�ele169�com
发布者:admin,转转请注明出处:http://www.yc00.com/web/1713706521a2302339.html
评论列表(0条)