一种试验数据处理软件设计

2012-03-16 05:48王文龙张少博陈海峰
火箭推进 2012年1期
关键词:二进制试车数据处理

王文龙,张少博,陈海峰

(西安航天动力试验技术研究所,陕西 西安710100)

0 引言

液体火箭发动机试车的目的之一,是为了获取发动机的各类参数,因为这些数据是验证发动机设计理论、研究发动机工作状态和评价发动机工作性能的重要依据。

液体火箭发动机的每次试验都会产生大量不同类型的发动机推力、流量、压力、温度、振动、位移等参数数据。目前使用不同的处理软件分别进行处理,处理效率低,同时数据采集保存的原始数据大多为二进制码,试车后需要将大量的二进制数据转换为特定的格式进行处理分析,并生成数据分析报告。由于需要读取大量系数文件和传感器零位、大气压力值、校验斜率、密度等辅助文件,对二进制文件进行后续处理,其过程比较繁琐,数据量较大。针对上述问题,开发一套处理模块清晰连贯、功能明确、运行效率较高的试车数据处理软件,满足当前繁重的试验任务是十分必要的。

1 硬件环境要求

综合数据采集系统是根据液体火箭发动机地面试车技术特点及多类型参数测量与数据处理技术要求而设计的,系统可测量应变、压力、温度、位移、时统、阶段、相位等多类型的信号,并可承担各种不同型号试验的采集任务。综合数据采集系统原理如图1所示:

图1 综合数据采集系统原理图Fig.1 Principle diagramofsynthetic data acquisition system

2 系统需求

建立以数据库为基础的试验数据综合分析系统,是满足试验数据利用的必要条件。可以将试验数据与其他试验相关的文档和管理信息紧密联系,大大提高数据管理效率,改变现有数据处理系统存在的处理类型单一、处理错误多、速度慢等缺点,同时满足试验数据的快速处理要求,并能够进行综合分析利用。综合数据采集系统对编写数据处理软件提出了较高要求,因为参数类型多、数据量大,处理、分析、计算等方法不同,在实际编写中要求处理软件具有较高效率和较强功能。数据处理软件是将所有参数信息、采集数据按照数据报告的要求获得数据结果的软件。通过处理软件,可以观察采集到的毫伏数、参数值,可以分段、分时刻进行数据处理,同时,可以求得不同时间段的最大值、最小值和平均值,可以将掉点、异常的参数进行置空、置零处理或者修正。

3 软件设计

随着计算机技术的飞速发展,火箭发动机研制试验领域也越来越多地使用计算机技术,计算机软件便逐渐成为试验系统中独立的、举足轻重的一个关键环节,甚至在一定程度上决定着试验的成败。在试验的整个过程中,软件的正确性、可靠性、安全性对试验的成败起关键作用。随着测量系统向着集成化、模块化方向的不断发展,测量软件便逐渐形成试验系统中一个举足轻重的环节。

现有测量系统数据采集、处理软件大多以VB6.0软件编程语言为基础,为了实现与其他采集系统的有效集成,软件架构采用VB6.0软件开发平台。通过与关系型数据库ACCESS进行交互处理,并按数据处理要求编写数据处理算法,调用NI采集系统二进制源文件,数据处理后输出数据报告文件。

软件的底层输入是NI采集硬件采集得到的二进制DAT数据文件和TIM时间文件,软件信息交互通过ACCESS信息设置数据库进行设置和调用,输出所要求的数据报告文件。

数据处理软件的目标是将采集系统采集的二进制原码转换为便于分析的相应数据格式,并按要求进行数据处理、分析,最后输出数据报告文件。软件的整体架构如图2所示。

图2 试车数据处理软件组成结构图Fig.2 Configuration ofdata processingsoftware for test

该综合数据处理软件整个处理功能模块整体性强、功能明确、运行效率较高。根据软件功能要求,软件流程依次为文件处理、数据处理、报告输出三个部分。在文件处理模块,主要进行系数文件的读取,信息设置、信息验证工作;在数据处理模块,进行时间源文件、数据源文件的调用、计算、处理;报告输出模块是按照输出要求进行数据报告打印、存储、显示等输出工作。软件流程如图3所示。

图3 数据处理软件流程图Fig.3 Flowchart ofdata processingsoftware

4 关键技术

处理软件首先要实现对参数配置信息的调用、采集数据的读取、校验结果的读取、零位数据的读取功能,这些信息都存放于ACCESS数据库的不同表中,利用VB接口函数选择相应表中所需要的数据读入。在对数据的预处理过程中,重要的一步就是对各种应变、压力、温度、位移的校验斜率的处理,处理方法采用最小二乘法。

为了达到综合数据处理的目的,其试车数据处理软件设计要综合考虑各测量参数,通过分析各类型参数处理计算方法,编写相应的处理算法,使处理软件能广泛地应用于试车的各类参数。对于应变、推力、压力参数的校验主要是通过加载三遍六档应变值,采集系统采集电压值,用最小二乘法拟合曲线,求出应变-电压关系系数,保证S2在0 3%以内。否则应查找原因重新校验。而后根据校验出来的斜率值,结合校验零位和实际采集到的电压值,计算出相应的实际测量物理量数值。数据处理的最终结果是以三种方式提供的,分别是1:1毫伏数、初算、复算。1:1毫伏数:毫伏数就是将系统采集的二进制原码转换为十进制码,按照时间序列输出。初算:使用1:1计算出的结果减去零位记录值后乘以校准斜率,得出该传感器的设计物理量值;复算:过渡段计算方法与初算相同,平稳段计算时通过选择处理区间、报告文件、时间区间、处理步长、处理状态进行数据处理,最终输出数据报告通常选用这种处理方式。数据处理软件实现了各类参数的处理算法。通过在综合采集系统界面中配置参数信息,选择相应参数类型,读取校验结果、零位数据,可实现各种不同参数的数据处理。这些信息都存放于ACCESS数据库的不同表中,利用VB接口函数选择相应表中所需要的数据读入。

在上述分析的基础上,实现对二进制原码的读取,进而进行不同段(过渡段、平稳段)和不同的计算方式(毫伏数、初算、复算)的数据处理、打印功能。软件功能模块见图4。

图4 软件功能模块Fig.4 Function modules ofsoftware

在图4中,数据处理软件通过转换算法对综合数据采集系统采集的二进制文件进行原码转换,并对采集系统参数配置进行校验。数据处理采用1:1毫伏数、初算、复算三种供选择算法,最后按照要求输出数据报告文件。

软件开发过程中使用先进的开发框架理念,通过封装数据处理算法,使用模块化编程模式,采用关系型数据库存放调用数据,并进行了软件的可行性评审、软件架构调试、软件测试等,实现了多线程技术和MFC开发实时采集、二进制大规模源数据的读取、各类参数处理算法实现、基于VB的ACCESS数据库应用以及软件的容错性设计五个关键技术,使得软件的处理速度、可靠性、操作性得到提高。同时,功能模块独立设计,模块之间耦合度低,可以减少模块间的相互依赖。有利于系统功能的扩充,减少系统设计变更时对系统修改的工作。

4.1 文件获取和处理

数据主要来自大型试验后采集的原始二进制文件数据和处理后的文本文件以及早期试车纸质试验数据。试验数据通过软件转换成统一的文件格式,并且通过软件接口导入至关系数据库中。为了提高数据录入速度,提高数据库对试车数据标准化、统一化、一致性要求,对表层成果数据的录入采用三种方式:

1)对零散的数据采用手工录入方式;

2)对批量的excel格式的数据入库采用固定格式上传;

3) 用户可以通过提供的模板格式上传,也可以自定义模板上传。

4.2 二进制大规模源数据的读取

试车中高速采集的数据量规模很大,如何有效、快速的提取大规模二进制源数据进行数据转换、读取、显示是数据处理软件开发的一大难点。通常,原始数据文件是将一个采集点的所有参数作为一个数据包顺序存入。因此,在读取时,首先要确定所读参数的位置,位置的确定根据参数排序、所占字节数等信息确定,确定了参数位置后,采用VB提供的数据文件读取函数,按照固定字节数读取所需数据。

由于在数据文件中数据和时间文件是分开存放的,在进行数据处理时,需要将数据文件与时间文件进行对应处理。通过各种方式对比,最终选择了按照采集点数来确定时间位置的方法,如:使用1 000点/秒的采样速率情况下,数据文件的采集点数达到1 000时,也正好是时间文件到达1秒的时间点。采集软件中对这种对应关系编写了验证算法,通过验证算法可以对这种对应关系进行识别,确保数据文件和时间文件对应处理完全正确。

在数据读取中,为了提高读取速度,采用以下几个原则:1)时间文件和数据文件分别读取,减小文件选择时间;2)按照数据序列格式逐字节读取,减小字节搜索时间;3)采用最近原则取数,减小循环次数。

为了实现读取算法的调试和减少系统修改的复杂度,对二进制大规模源数据的读取算法,采用封装的模式,方便程序调用。通过此种模式,可以方便算法内部的修改调整,而不影响整个处理程序的结构。

4.3 源码转换功能

试车数据基本都以Word、txt这些格式在系统中存在,但是数据格式不尽相同,为利用既有数据,试车数据库系统提供了格式转换功能,把异种格式的数据转换为基础数据子系统通用的存储格式,从而使原有这些试车数据文件可以被试车数据库所访问和利用。为了减少对原有数据文件的应用改动,可以按照应用的数据格式要求进行转换,制定转换格式功能,该功能可以灵活定义异种数据格式同试车数据库系统存储数据格式间的对应关系,根据需求对数据源进行取舍,调整数据间的对应关系。建立这种从数据源格式到目标数据格式的映射关系是进行数据转换的基础。根据上一步制定的转换格式,相应子系统自动进行数据格式的转换,同时生成转换结果报告。使用者可以根据报告对转换后的数据进行审核,审核通过后提交这批数据。

4.4 参数配置模块

该模块主要用于在试车准备过程中所产生的各种数据表格的日常维护与管理,这些表格包括:试车大纲、传感器校验和安装表格、参数通道表格、采集设备系数文件表格以及信息记录表格等。

4.5 数据处理模块

通过上述介绍的数据处理算法,编制相应的参数处理软件模块,以便在处理数据时,通过选择不同参数设置来处理不同类型的参数,进而生成相应的数据处理结果文件和显示图表。

4.6 报表生成模块

报表生成功能可以对试车过程中的各种数据表格进行分类管理,以报表的试车代号和试车参数为检索条件,从数据库服务器中提取出历次试车所有相关数据,经过计算、统计、汇总,分析形成规范的数据报告报表。为了精细地控制打印效果、节省打印成本,系统提供打印预览和打印设置等打印控制。

4.7 软件的数据库管理功能

在试车数据处理、分析软件设计中,广泛应用关系型库ACCESS进行汇总、对比、绘图等,并且ACCESS数据库具有较强的通用性,使用灵活方便。在建立ACCESS数据库时,充分考虑数据交互的效率。设计的数据库整体架构见图5。

图5 ACCESS数据库关系图Fig.5 Configuration ofACCESSdatabase

通过VB信息设置模块实现处理信息数据库与通用信息、系统信息、校验信息、板卡信息的数据交互,将所有数据处理信息保存到数据处理信息数据库。在数据处理模块运行时,VB与ACCESS的数据交互仅与数据处理信息数据库有关,而与其他逻辑算法结构无关,这样就有效提高了数据处理程序的运行效率。

5 试验验证情况

经过一段时间的调试与试车使用,证明新的综合数据采集系统满足设计指标,采集数据准确可靠,已作为试验区缓应变数据测量的主系统,成为其他特殊信号、小信号测量的预备系统,也成为关键参数测量的主系统的有效备份和补充,提升了试验区的测量系统能力。系统目前已多次成功应用于火箭发动机地面试验的数据采集、处理、分析过程中,为试车提供了真实可信的数据结果报告,为新型号火箭发动机研制中所需要的新型测量系统的研发提供了有效的技术借鉴。

6 结论

基于综合数据采集系统的试车数据处理软件实现了多参数类型、大规模数据的处理、报告输出。经过实际试车使用,软件运行良好,能够对不同数据类型的数据按照处理要求进行处理,并生成相应的数据报告输出。使液体火箭发动机试车数据报告处理质量和效率得到提升,为液体火箭发动机试车数据报告提供了可靠的软件支持。

[1]潘小轰.Visual Basic6.0应用开发技术[M].北京:中国石化出版社,1999.

[2]张贤达.信号处理[M].北京:清华大学出版社,1995.

[3]刘文涛.Visual Basic+Access数据库开发与实例[M].北京:清华大学出版社,2007.

[4]张后苏,张湛,张浩.VISUAL BASIC语言实用教程[M].长沙:中南工业大学出版社,1995.

[5]王栋.Visual Basic程序设计实用教程[M].北京:清华大学出版社,2002.

[6]混平,赵政社,刘军.水击压力高速采集系统研制[J].火箭推进,2008,34(4):59-63.

[7]赵万明.液氧/煤油发动机试车主要参数测量方法研究[J].火箭推进,2006,32(5):55-59+68.

[8]郭霄峰,李耀华.液体火箭发动机试验[M].北京:宇航出版社,1991.

猜你喜欢
二进制试车数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
用二进制解一道高中数学联赛数论题
无人机测绘数据处理关键技术及运用
地铁试车线共用设计方案分析
南京地铁7号线工程信号系统车辆段与试车线方案研究
有趣的进度
二进制在竞赛题中的应用
基于MATLAB语言的物理实验数据处理探讨
以身试车