陈利 吴玉叶 罗丹 谭雨晨
摘要:针对某航空发动机试验台改造升级后,原有数据回放软件不支持新数据库、回放功能需扩展的需求,设计一款多功能数据回放软件,软件支持SQL Server数据库数据表打开、数据回放、图形化显示、参数分析等功能。应用表明,软件界面友好,人机交互能力强,通用性好,可推广到其他试验台。
关键词:航空发动机;数据回放;图形化显示
0 引言
航空发动机试验过程中,需通过数据采集系统采集、记录试验中转速、功率、温度、压力、振动等数据[1]。某发动机试验台原采用基于VXI总线的数据采集系统,数据库使用Access。在精细化测试需求牵引下,发动机上需要测量的参数多达上千点,原数据采集系统已不能满足需求。经试验台改造升级,数据采集系统改造成基于LXI总线的分布式数据采集系统,数据存储改用SQL Server数据库。因此,原数据回放软件不能满足需求,表现在以下几个方面:
(1)不支持SQL Server数据库的数据读取;
(2)软件功能单一,仅能从Access数据库中读取数据,传输到数据显示软件;
(3)不能在回放界面上绘制多个参数的曲线进行对比、分析;
(4)软件没有采用组件的方式进行设计,未提供标准接口,不易集成到新开发的数据采集处理软件中。
针对上述情况,设计一套多功能数据回放软件,软件具备友好的人机操作界面,支持SQL Server数据库数据表打开,具备数据回放、图形化显示、参数分析等功能。
1 需求分析
数据回放主要是试验后读取存储在数据库中的试验数据,并传输到数据显示软件,进行数字、曲线、虚拟仪表等多样化显示,方便现场试验人员重新观看试验过程,根据试验人员提出的回放要求,软件主要功能需求如下:
(1)软件可自由选择某个数据库、某张数据表,可快速定位数据回放起始点;
(2)具备暂停回放、继续回放、更改回放速率等功能,能按照设定速率将回放数据传输到数据显示软件进行同步显示;
(3)具备曲线显示功能,能在同一个时间轴下对转速、功率、燃油流量、排气温度等关键参数进行多曲线显示,实现多参数比对、分析;
(4)具备移动光标,可显示标尺所在时刻、重要参数数值;
(5)曲线具备缩放功能,既能观看数据整体趋势,也能对某个时间段的数据进行放大,查看数据细节;
(6)具备抓图功能,可将曲线波形图输出为jpg、png等格式的图片。
2 软件设计
2.1 软件总体设计
回放软件是通过从数据库中读取数据表中的参数及其数据信息,按照用户设置绘制重要参数曲线。通过曲线上查看、分析数据,定位数据回放起始点,并将数据分发到数据显示软件进行显示。软件包括以下部分:初始化、加载数据库、读取数据表、参数提取、曲线绘制、曲线分析、响应用户操作。软件执行流程图如图1所示。
2.2 界面设计
人机交互界面是数据显示及用户操作窗口,根据软件需求设计的主界面如图2所示。
图中,数据库列表自动显示所有SQL Server数据库,双击某一行数据库名称,数据表列表自动显示出该数据库中所有数据表。双击某一行数据表,该表中部分数据在界面刷新。点击某个参数名前的勾选框,使该参数处于选中状态,曲线显示框中自动绘制该参数曲线。同时勾选多个参数,可绘制多根曲线。
重要参数曲线显示框中,设计一根绿色光标和两根白色光标。绿色光标用来定位数据时刻,移动绿色光标时,界面中的数字控件会显示绿色光标所在时刻参数数值。白色光标用来定位时间区间,向上滚动鼠标滚轮,可对白色光标所在区间进行放大,以查看该区间数据细节。向下滚动鼠标滚轮,可缩小曲线,恢复至缩略图状态。
2.3 程序设计
程序设计是回放软件的核心,负责实现软件所有功能。采用Visual Studio 2010作为开发平台,使用C#语言,结合NI Measurement Studio图形控件、多线程技术、ADO.NET技术[2-3]等進行编程实现。
数据提取和曲线绘制是最关键、最耗时的两部分。数据提取是基础,包含提取参数信息、数据信息,当表中数据量大时,程序执行SQL查询语句耗时长、效率低。为提高软件执行效率,采用多线程编程来提取参数信息,每个线程负责部分参数的信息提取,如一张表有500个参数,软件将开辟5个线程,每个线程负责提取100个参数的数据信息。
图形化显示是软件核心,曲线加载效率、移动光标时数据的流畅性直接影响用户体验。为提高曲线绘制效率,将曲线加载容量设定为50 000点,若数据表行数大于50 000,采用间隔采样(即每n个点抽取一个点,n根据数据表的行数动态更改)方式加载该参数缩略图,反映该参数变化趋势。鉴于不同参数量程不一致,为在同一个坐标轴中对多参数进行显示,曲线加载时采用min-max标准化原则对参数进行归一化处理,将各参数映射到[0,100]。转换公式如下:
3 软件应用
图3是打开某SQL Server数据表的实际效果,操作主界面上的按钮,软件没有明显的延迟出现,可随意选择回放的数据库、数据表,快速绘制用户关心的数据曲线,对相关参数进行比较、分析,并将曲线波形保存成图片。移动曲线框中的绿色光标,可以获得回放参数在任何一个时间点的数值。移动白色光标,上下滚动鼠标滚轮,可对白色光标所在区间进行局部放大/恢复,如图4所示。
点击开始回放按钮,软件从绿色光标所在时刻开始读取数据,并分发到数据显示软件进行同步显示。回放过程中,可通过暂停回放、继续回放、更改回放速率3个按钮,对数据回放进行控制与调整,满足数据观看需求。
4 结语
本文设计并开发了一套专用于某航空发动机试验台的数据回放软件,软件支持SQL Server数据库,具备数据表打开、数据回放、参数对比分析、数据分发功能,很好地满足了该试验台数据回放的需求。应用结果表明,软件界面设计良好,数据回放控制准确,提供标准接口,功能易扩展,可以很好地移植到其他试验台。
[参考文献]
[1] 胡宝权,许悦,刘振涛,等.某型航空发动机海量试验数据回放系统设计[J].航空计算技术,2019(4):119-122.
[2] 孙践知,张迎新,肖媛媛.C#程序设计[M].北京:清华大学出版社,2010.
[3] 明日科技.SQL Server从入门到精通[M].北京:清华大学出版社,2012.
收稿日期:2020-05-11
作者简介:陈利(1989—),女,四川南充人,硕士研究生,工程师,研究方向:航空发动机测试。