APP下载

飞行数据曲线文档自动生成方法研究

2019-09-02蔡伟健汪洋

科技视界 2019年10期
关键词:飞行数据

蔡伟健 汪洋

【摘 要】本文描述了基于MATLAB和ActiveX对飞行仿真数据进行数据曲线自动生成方法的探索,并给出了MATLAB程序开发的设计方法和实现过程。

【關键词】飞行数据;数据曲线;自动生成;ActiveX;MATLAB

中图分类号: TJ760.331文献标识码: A文章编号: 2095-2457(2019)10-0079-002

DOI:10.19694/j.cnki.issn2095-2457.2019.10.032

Flight Data Plot Document Auto Generation

CAI Wei-jian WANG Yang

(China Helicopter Research And Development Institute,Jingdezhen Jiangxi 333000,China)

【Abstract】A method of Flight Data Plot Document Auto Generation Based on MATLAB and ActiveX is detailed.A program based on MATLAB script is designed and implemented.

【Key words】Flight data;Data plot;Document auto generation;ActiveX;MATLAB

0 引言

在飞行器研制过程中,会进行大量的试验,不管是在模拟器上进行的仿真试验,还是在真机上进行飞行测试,都能得到大量的飞行数据。工程师往往要将这些数据进行分析、整理,绘制成一系列曲线,编写相应的试验报告。在以往的工作中,都是在Excel或MATLAB中根据飞行数据和记录的时间点,手动选取所需要的数据段,绘制相应的曲线,然后截图复制到Word中,不断重复这个过程,直到所有科目的所有参数曲线都编入报告。这样做不但工作量巨大,报告完成周期长,而且容易出错。因此,将连续的飞行数据和所记录的科目信息综合,自动生成相应的Word格式的试验报告,能够大大提高工作效率,降低报告错误率。

本文基于MATLAB和ActiveX控件,研究数据曲线文档自动生成方法,设计并开发了MATLAB程序,实现了自动报告生成的功能,解决了工程实际问题。

1 数据曲线文档生成方法

1.1 MATLAB简介

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB在数学类科技应用软件中首屈一指,能够出色地完成数据处理和曲线生成等工作,使用其编写脚本程序也十分方便,因此广泛应用于工程领域。[3]

1.2 ActiveX简介

ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼。其中主要的技术是组件对象模型(COM)。Active标准中最常用的技术有3中:控件、文档和脚本。ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼。ActiveX插件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中。ActiveX也是一种标准.这种标准包括控件(Controls)、文档(Documents)、脚本(Scripts)这三种最常用的技术,同时也包括服务器端技术和客户端技术。

由于ActiveX插件是一套基于COM的可以使软件组件在网络环境中进行互操作,而不管该组件是用何种语言创建的技术,因此,在MATLAB中也可以方便地调用这种插件,从而实现Word文档的创建、编辑、排版和保存等操作。

1.3 Word文档对象模型

在使用ActiveX对Word进行操作时,是使用Word文档对象模型提供的对象进行交互的。Word对象模型中最重要的两个对象类是Application和Document类,原因是在大部分时间里,要么是在使用Word应用程序本身,要么是以某种方式处理Word文档。Application对象表示Word应用程序,是其他所有对象的父级,它的所有成员通常作为一个整体应用于Word,可以使用该对象的属性和方法来控制Word环境。Document对象是Word编程的中枢,当打开文档或创建新文档时,就创建了新的Document对象,它是Documents集合中的一个元素,可以使用其属性或方法来打开、创建、保存、激活或者关闭文档。Selection对象表示当前选择的区域。整个应用程序在任何时刻,只能有一个活动的Selection对象,选定内容可以包含文档的一块区域,也可以被对应一个插入点。Range对象表示文档中的一个连续的区域,由一个起始字符位置和一个结束字符位置定义,与Selection不同,它可以再文档中拥有多个定义。

1.4 数据曲线自动生成总体思路

基本设计思路如图1所示,首先载入飞行数据和科目配置信息,根据配置信息得到按科目划分的数据块,每个数据块对应一段时间的数据,然后使用ActiveX打开Word文档,并进行基本格式设置、写入文档标题等,根据配置信息,遍历所有科目,使用MATLAB自带的plot函数将处理好的数据绘制成曲线,然后将该科目下所有曲线写入Word文档;最后完成所有科目后关闭并保存文档。

2 程序设计与开发

2.1 数据预处理

首先将数据文件导入到MATLAB的工作空间,其中包括了某一段连续时间的所有飞行数据。其次将科目信息配置文件导入到工作空间,这其中包括了所有需要从这段数据中获取的各个科目的名称、状态描述、开始时间和结束时间。如果在飞行过程中没有记录这个时间,就需要通过其他查看试飞数据的软件对飞行状态进行分析,得到起止时间。

2.2 创建文档

判断Word是否已经打开,若已打开,就在打开的Word中进行操作,否则就打开Word。

使用actxserver接口启动Word程序服务,并获取Word句柄,用于对程序的控制。然后判断文档是否存在,如果存在则打开该文档,并将内容全部删除,如果不存在则创建新文档用于写入内容。

使用ActiveX提供的接口,获取Document、Content、Selection句柄,根据需要,设置页面布局、页边距、文档标题,以及文字的大小、字体和段落格式等。

2.3 绘制曲线

使用plotData函数进行曲线绘制,并返回图像句柄,用于后续写入文档使用。

每次生成一组曲线,即一个科目的所有数据曲线,包括操纵量、飞行姿态、角速度、线加速度、空速、地速、高度、位置、升降速度、舵面位置、以及发动机的相关参数等。

根据配置文件所列的科目信息,设置开始时间和结束时间,据此选取适当的数据段进行数据曲线绘制,如下图所示:

2.4 写入文档

需要写入文档的内容主要包括科目标题,飞行状态和数据曲线。通过Selection接口设置写入标题的位置、字体、段落格式,并控制光标移动。使用Shape接口对文档中的所有图片进行操作。

对每个曲线句柄进行遍历,将图形复制到剪切板,给定起始位置,粘贴到文档中,并设置图片嵌入格式等。

2.5 应用

在某型直升机飞行品质仿真试验完成后,使用本文描述的方法所编写的程序进行试验报告文档生成,将原来需要两周时间完成的试验报告,缩短为一天,其中,数据曲线生成仅仅用时不到10分钟。

3 结论

本文介绍了一种飞行数据曲线文档的自动生成方法,该方法能够根据所配置的科目信息和飞行数据,快速生成数据曲线文档,大大降低试验报告编写时间,降低错误率。

【参考文献】

[1]张卫祥,吴欣,刘文红.一种结构化文档自动生成方法的研究与实现[J].飞行器测控学报.2007.12.

[2]劉从柏.面向Word文档电子印章软件系统的开发[D]. 中山大学.2007.

[3]韩国新等译,W·厄恩斯特编著.MicrosoftActiveX技术与应用.科学出版杜,1997.

[4]MathWorks,Inc.MATLAB帮助文档.

猜你喜欢

飞行数据
飞机进近着陆阶段能量管理策略研究
飞参系统原理及飞行数据解析方法
基于DTW改进灰色关联算法的飞机着陆安全操作研究
浅谈民航快速存取记录器QAR工作原理及维修
飞机状态监控系统的数据处理与应用技术解析
四川通用航空飞行数据的灰色预测模型研究
GARMIN1000系统维修平台搭建预研究
浅谈飞行数据集中处理流程管理
民航空管自动化系统中飞行电报自动化处理
基于广域信息管理的飞行数据服务设计与实现