一种飞参记录数据解析软件的设计与实现
2016-09-08乔晋龙李冠林
乔晋龙,李冠林
(1.中国特种飞行器研究所 湖北 荆门448035;2.高速水动力航空科技重点实验室 湖北 荆门448035)
一种飞参记录数据解析软件的设计与实现
乔晋龙1,2,李冠林1
(1.中国特种飞行器研究所 湖北 荆门448035;2.高速水动力航空科技重点实验室 湖北 荆门448035)
为了便于对飞参记录仪查看,本文提出了一种数据解析软件的设计方案,并完成该软件架构的设计。解析软件采用了模块化的思想,以数据索引结构为基础,实现了记录仪数据的解析和查看。实际使用表明,该软件操作简单,数据解析正确,满足用户需求。
飞参记录仪;软件架构;模块化;数据索引结构
飞参记录仪,又称“黑匣子”,浮空器的各种飞行状态及环境信息是分析浮空器系统性能的原始依赖,同时也是系统发生事故和飞行事故时查找原因的依据[1]。飞参记录数据是某浮空器飞参记录仪的储存信息,反映了浮空器各系统的工作情况和各种飞行状态的信息。一旦浮空器发生飞行故障,飞参记录数据为查找设备故障及失事原因提供重要依据[2-3]。飞参记录数据解析软件根据约定的传输协议,将特定形式的记录数据解析为便于查看的记录数据,其解析的效率直接影响到故障的排查[4-5]。
1 需求分析
浮空器往往是在某一时间段发生故障,需要解析软件能够快速地解析浮空器故障时间段内的飞参记录数据。一般的飞参解析软件都是将飞参记录仪中的数据全部解析到文件中,解析过程中需要多次进行I/O操作,其效率是非常低的,本文提到的解析软件针对某种型号浮空器故障在时间段间断性的特点,以时间段建立索引,快速地解析某一时间段内的飞参数据。
2 总体设计
飞参记录仪解析系统结构图如图1所示。测控计算机作为浮空器执行任务的控制单元,它会周期性地向飞参记录仪发送飞参数据,飞参记录仪会将接收到数据存储起来。当需要查看飞参数据时,会将飞参记录仪与计算机通过数据下载线连接,启动数据提取软件,将飞参记录仪中的数据下载到计算机,此时飞参数据文件不便于查看,启动解析软件将下载后飞参数据文件转换为容易查看的数据文件。
图1 系统结构图
3 解析软件设计
数据解析软件解析过程由扫描数据模块、建立索引模块和数据导出模块组成,数据解析软件架构图如图2所示。
图2 数据解析软件总体结构图
扫描数据模块负责将飞参记录数据读入到内存中,为解析软件建立索引提供了前提条件;建立索引模块通过解析内存中的记录数据,根据记录数据的时间段将记录数据划分为若干部分,建立相应的索引结构;导出数据模块负责将选定的时间段数据解析为便于查看的数据,并导入到Excel报表中。
3.1扫描数据模块
扫描数据模块以文件流的形式通过读I/O操作将飞参记录数据读入内存中,其中读I/O的接口函数为ReadFile()。
3.2建立索引模块
每帧飞参记录数据都具有自身的时间属性,包括年、月、日、小时、分钟、秒和毫秒,飞参记录仪每个时间段内都会接收到大量的数据帧,而浮空器故障发生在某一时间段内,该时间段的数据时间属性是相同的,本文根据故障发生时间较短的特点,将时间属性相同的数据帧加入到一个集合中,建立相应的索引结构,可以减少解析软件导出无效数据的时间,提高软件整体的解析效率,索引结构图如图3所示。
图3 索引结构图
本文将飞参数据帧以天为单位建立一级索引,以小时为单位建立二级索引,以分钟为单位建立三级索引。一级索引结构中包括属性时间属性值(月和日)、内存数据流地址、二级索引(小时)地址和数据记录条数。二级索性包括内存数据流的起始位置、数据帧数目和三级索引。三级索引包括数据流的起始位置和数据个数。在用户导出数据记录之前首先根据建立的索引结构查询一级索性列表,找到相应的时间属性day相同的值,然后根据一级索引的hour属性查找相应的二级索引,然后根据二级索引的属性min便可查到对应的三级索引,找到自己所需的数据记录集[6],建立索引结构数据流图如图4所示。
图4 建立索引结构数据流程图
在建立索引的过程中,首先需要遍历内存的飞参数据,查找完整的数据帧,读取数据帧时间属性,遍历一级索引结构,如果数据帧时间属性值(月和日)与一级索引结构匹配失败,建立一个新的一级索引结构并插入到一级索引链表中;反正,修改一级索引的数据相关属性,查看匹配成功一级索引的二级索引时间属性(小时),如果数据帧的时间属性(小时)与该二级索引匹配失败,建立一个新的二级索引结构并插入该二级索引链表中;反正,修改二级索引的相关数据属性,查看匹配匹配成功二级索引的三级索引,如果数据帧的时间属性(分钟)与该三级索引匹配失败,建立一个新的三级索引结构并插入该三级索引结构中,反之修改该三级索引的相关数据属性。
3.3导出数据模块
导出数据模块包括数据解析部分和数据导出部分。在数据解析部分中,解析软件按照相应的协议将飞参记录数据转化为便于识别的二进制数据。飞参数据一帧数据解析过程主要包括文件尾部判断、数据帧头判断和数据帧尾判断。如果读取数据为文件尾部标示符,表示飞参文件解析完毕;根据数据帧头与帧尾的判断,来截取完整的一帧飞参数据进行数据解析并存储。
在数据导出部分中,解析软件将二进制数据导出到Excel报表中,在Excel报表中,根据需求可以灵活的将数据以多种形式表现出来。
4 解析软件测试分析
一般的解析软件解析数据花费的时间与需要解析的数据大小无关,只与飞参记录仪的大小有关,而本文解析软件解析时间与所需解析数据大小几乎成线性关系,如图5所示。
5 解析软件功能界面
图6所示为解析软件界面,该软件可以截取原始数据和解析飞参数据,并保存为Excel文件。
图5 数据解析对比图
图6 软件界面
6 结论
飞参解析软件根据浮空器故障具有时间段的特点,建立时间段索引式数据链表,缩短飞参数据的解析时间,提高了数据的解析效率。
[1]王文杰.便携式飞行参数记录仪测试系统的设计[D].南京:南京航空航天大学,2009.
[2]甘晓华.飞艇技术概论[M].北京:国防工业出版社,2005.
[3]贾圣羽,杨潇文.飞参记录仪数据解析算法分析[J].特种飞行器研究,2013,25(4):2628.
[4]刘磊等.某型无人机机载双路视频与飞参记录仪设计[J].航空计算技术,2013,43(4):132-134
[5]吴建刚.飞参记录数据计算机处理的相关问题研究[J].计算机仿真,2007,24(2):18-21.
[6]王宏生,宋继红.数据结构[M].北京:国防工业出版社.2013.
The design and implementation of a software analyzing flight data recorder
QIAO Jin-long1,2,LI Guan-lin1
(1.China Special Vehicle Research Institute,Jingmen 448035,China;2.Key Aviation Scientific and Technological Laboratory of High-Speed Hydrodynamic,Jingmen 448035,China)
To facilitate the view of flight data recorder,this paper proposes a kind of design scheme of software analyzing data and completes the design of software structure.Analytic software adopts the modular thought,based on data index structure to implement analysis and view of flight recorder data,The practical application shows that the software has the features of simple operation and accurate data analysis,which meets users'need.
flight data recorder;software structure;modular;data index structure
TN919
A
1674-6236(2016)13-0021-02
2015-07-18稿件编号:201507136
乔晋龙(1987—),女,山西朔州人,硕士,助理工程师。研究方向:软件开发与测试。