智能化的试飞测试软件体系架构研究

2018-02-05 01:45:04
计算机测量与控制 2018年1期
关键词:遥测数据处理工程师

(中国飞行试验研究院,西安 710089)

0 引言

安全与效率是飞行试验永恒的主题,遥测监控是实现飞行试验实时预警、确保试飞安全,提高试飞效率、缩短试飞周期的重要手段,飞行试验遥测监控技术一直是国内、外航空飞行试验领域研究和拓展的关键技术,随着近几年我国试飞型号任务的增加,实时监控课题也越来越多。为满足日益增长的实时监控需求、提高监控效率,如何提升“一个监控科目,一套监控画面软件”的实时监控模式,已成为航空飞行试验遥测监控系统技术研究中重点突破的难题。另外,随着 飞行试验“智能化监控技术”的研究方向的提出,对地面飞行实时监控系统的开发在“多目标多科目实时自主监控”方面提出了新的目标,并需要进行更广更深更细的研究,有规划分阶段逐步突破所面临的技术难题。

近年来,国内外基于智能化的监控技术取得了飞快的发展,应用领域也日趋拓展,吸引了国内、外众多自动化公司纷纷投资开展相关技术的研究。组态监控软件具备灵活、便捷的开发环境,集成了非常多的监控功能,因而可以适应不同工业自动化领域,具有很强的通用性。其通用性特征,为其赢得了广泛的应用领域,但是同时也带来了一定的后果:组态监控软件[1]由于结合了许多的自动功能,使得其接口形式多样,而且开发和维护成本相对较高,而对于飞行试验这一特定的应用领域,提供的许多“大而全”的功能对于很多用户也并不适用,造成极大的资源浪费。在设计中工程技术人员在开发某一专用系统时一些专业性的ActiveX控件和特殊的I/O设备的驱动需要自己手动添加[2],这种设计思路和架构不仅没有实现自动化,更谈不上智能化。遥测实时监控系统针对飞行试验地面实时监控的特定需求,其数据接口、数据传输模式、监控软件组成结构、数据表现形式都有其自身特点。针对试飞实时监控的特殊需求,目前还没有一种智能化的软件设计架构满足实时监控任务。

飞行试验研究院基于智能化试飞测试软件设计架构,采用模块化设计思想,研究开发基于组件的自主监控平台,实现了组件对象可重组、参数算法可定义,为数据处理工程师提供快速构建监控软件的平台。平台使用灵活的组件方式(而不是编程方式),使用户能根据监控需求任意组态,设计完成实时监控软件。项目中根据实时监控中的实际需求,编写设计一套完整的数字、曲线、仪表、柱状图、飞机平显及通用电子地图等监控组件,数据处理工程师能够按照实时/预处理任务书中监控参数的要求表现形式选择相应组件并进行相应的参数配置即可快速完成监控软件的设计,而不要求数据处理工程师具备专业的编程知识,有效提高了监控软件准备效率,降低了监控软件设计的难度和复杂度;在监控过程中,数据处理工程师、试飞工程师可以根据任务需求实时进行监控参数的调整;此外,该平台实现了数据处理常用的基本算法,满足常规的数据处理需求,使得监控参数以正确的形式呈现给试飞工程师及地面指挥人员。

1 智能化软件总体架构设计

智能化实时监控组态软件平台以功能模块划分为设计主导思路[3],划分为3个功能模块:控制/管理模块、数据接口模块和界面显示模块,3个单元独立的完成各自功能而又相互连接,软件体系架构如图1所示。

图1 软件总体架构图

1)I/O驱动模块:它是试飞测试智能化实时监控架构中不可或缺的部分,由信息数据处理触发模块和接口匹配模块组成,通过该驱动模块实现实时监控软件和前端遥测信号进行交互式数据通信,是实时数监控软件与遥测前端数据处理系统的桥梁,是本软件的基础,为整个软件提供数据来源,它向下为实时监控客户端提供监控参数名,向上提供实时遥测数据。

2)控制/管理理模块:用于管理和维护工程中的各种信息,如监控软件通信配置信息、监控页面参数配置信息等,同时运行管理模块还将接收到的网络数据处理为可理解和便于进一步利用的结果,并把飞行所需的结果数据传输到界面显示模块进行符号参数、图形和曲线进行显示。此外,控制/管理理模块承担着科目备份和新增任务功能。

3)界面显示模块:它是基于图形显示系统生成的开发环境。界面图形显示试飞工程师的人机交互界面通过创建系列化的用户数据文件及操作,形成参数功能应用系统。通过设计的定制化监控应用程序可在终端机的操作系统中运行和显示。在监控界面进行参数核实、报送、设置告警门限以及文档生成和记录功能。其数据源都可以通过图形界面来指定,然后通过运行模块,取得各种处理好的参数,把监控对象通过仪表、曲线、告警灯等形式反映给试飞工程师。

平台主要实现的功能包括:

1)实现监控画面软件的动态编辑设计;

2)使用灵活的组件方式(而非编程方式),实现组件对象可重组、参数算法可定义,为数据处理工程师提供快速构建监控画面的平台;

3)在监控过程中,数据处理工程师、试飞工程师可以根据任务需求实时进行监控参数的动态调整;

4)实现试飞数据二次处理常用算法动态配置功能,满足常规的数据处理需求。

2 功能模块设计

2.1 图形界面的设计及实现

图形界面模块为试飞人员提供了与平台交互的接口,是整个软件的核心部分,用户可以方便的通过鼠标拖拽组件的方式而不是编程方式进行控件的创建和配置编辑工作。监控画面的制作过程完全是一个可视化操作,利用鼠标等输入设备,动态创建所需要的监控组件并对其进行任意缩放和拖动位置以及进行参数和运算配置。使用户实现对监控画面的智能操作。编辑好的画面进入运行状态后,各组件接收过程逻辑层解算好的参数实现实时状态刷新。该模块的实现主要包括监控组件模型库的开发以及组件的动态调用。

2.1.1 组件模型库开发

在试飞遥测实时监控过程中[4],需要通过数字、仪表、曲线、柱状图等多种数据表现形式对机上测试参数进行地面复现,智能化实时监控软件架构设计时需要创建适合试飞功能的模型数据库为不同课题的试飞工程师和飞行指挥员提供个性化的选择。因此,根据试飞监控中的实际需求,开发了一组基于MFC的监控组件,如仪表、曲线、柱状图等,以及飞机平显、地图等专用组件。监控组件的开发分为静态和动态两部分,静态部分没有参数驱动,一般为控件的基本属性部分如背景,参数名称等。动态部分的任务是以直观的动画来模拟现场,反映被控对象的变化,其通过实时接收的数据流来驱动。

试验机在空中飞行过程中,一般会设计多用途的监控显示画面,并对画面进行实时调整和切换,在架构设计时采用多线程调用机制,在图形和画面驱动前,先用OnPaint创建一组备份对象数据,将这组备份对象数据映射到前端显示的内存缓存区,利用虚拟技术将这组数据的驱动画面显示到监控终端的计算机屏幕上,这样就避免了因景色与绘图内容不一致造成的闪烁现象。通常需要创建多组监控程序,并对其进行参数编辑、缩放、移动等操作,这种情况下,会产生严重的跳动现象,给工程师带来很大的不便。产生跳动的原因是:图形界面需要重绘时,总是先用背景色将显示区域覆盖,然后才调用OnPaint进行绘制,由于背景色与绘图内容差别较大,就会产生跳动现象。本架构设计中,采用双向缓存机制来编辑画面,在绘图区域显示所需的画面之前,先在内存中生成与绘图区域一致的类对象,将图形绘制到这个内存的类对象上,最后将这个类对象上的图形复制到显示屏幕上,加快绘图编辑的速度,从而避免跳动现象。

飞行试验研究院遥测实时监控在几十年的发展过程中,开发积累了相当多的界面友好、功能强大的通用平台监控组件。软件平台中对常用的部分监控组件进行提取和封装优化,满足了基本的监控软件设计监控组件元素需求。平台综合加载了自定义组件、专用组件以及通用平台组件,并对外提供统一接口形式进行管理,以实现组件的无差别动态生成、参数配置、运算配置与解析以及组件配置信息的存储与解析。同时,具有良好的扩展性,新开发组件按照接口定义规则可以方便加入到平台当中,功能齐全的模型库为监控画面提供了灵活的智能选择。

2.1.2 组件的动态调用

为了实现监控组件的动态生成,位置移动和缩放,软件在实现过程中为每一个监控组件添加一个运行时包装类。通过这种方法,可以实现将自定义组件如仪表曲线以及封装好的通用平台组件以统一的表现形式呈现给开发人员,实现二者的统一灵活加载。软件运行时用户点击一个组件图标并拖放到指定位置实际上就是为该组件的包装类创建一个对象并进行显示,同时可以用线框选中该组件,进行组件的移动、缩放,实现良好的人机交互。组件创建好之后,为该组件添加双击相应事件,在弹出的对话框中设置该组件的基本属性如组件名称及背景颜色等、配置要监控的参数以及参数的运算信息。每一个组件的创建与运行都是独立的,单个组件的修改与增删不会对系统的运行产生任何影响。图2是一幅监控画面的一般设计过程。

图2 画面生成过程

2.2 运行管理模块设计

2.2.1 参数运算动态配置及解析实现

参数解算模块接收到的PCM参数通常是由服务器软件已经解算好的物理量,对于该类型参数,解算模块不做任何操作直接输出到该组件的数据驱动接口。但是,同时也存在着部分服务器无法完成解算或解算过于复杂的参数,如一个PCM字中包含了多个开关量。对于这类严格从ICD中提取物理特性的参数,需要引入校线和计算公式进行解析后最终形成工程物理数据包。遥测数据处理常用算法包括多PCM字合并、取位以及表达式运算,图3是一个组件完整的参数提取解算过程。

图3 参数提取过程

2.2.2 配置信息管理

在一个监控软件参数配置文件中所有组件呈树状关系,如图4所示。按照智能化软件设计架构在监控画面存储时也应该保持这种树状关系,以便下次飞行时智能调用,在标准化架构下应该使用XML(eXtensible Makeup Language)语言来实现这一功能。XML提供了一种智能的人机交互界面将实现的功能进行简单、便捷的标注,同时也符合标准化设计需求结构逻辑性强而且易于存储。试飞工程师采用任何一种设计工具都可以实现查询、显示和编辑,画面关联性强易于同步属性修改。

同型号不同科目监控软件的配置信息,采用结构化层次划分进行管理,通过型号及科目划分建立分层的配置信息库结构,从而实现所有监控软件配置信息的结构化存储管理。配置信息存储结构如图5所示。

图4 存储画面的树形结构

图5 信息配置库的树形结构

2.3 I/O驱动模块设计

系统通过建立Socket套接字的方式与遥测实时数据处理前端进行数据交换,当前,常用的网络数据传输协议包括TCP( transmission control protocol,传输控制协议)和UDP(user datagram protocol,用户数据报协议)两种,TCP是一种面向对象连接的协议,应用在对参数数据要求可靠性极高的场合,实现从服务器到监控网络中的监控终端的直连互通,不做任何修改的将数据进行传输;两台TCP主机之间进行数据交换之前,必须通过三次握手机制先相互建立会话,通过确认和按顺序传递数据来确保数据的可靠传输,其在发生丢包时会进行数据包重传。

UDP协议使用内部程序来实现传输数据的可靠性,不能完全确保数据传递类型或顺序,对同一个局域网来说,采用UDP协议可以实现良好的性能,它能够满足数据传输量不太大、对数据实时性要求较高的工程项目中,在这种情况下,UDP的低开销和多播能力比TCP更合适。

试飞实时监控网络属于专用网络,网络规模较小,数据一般不需要在交换设备之间进行多级跳转,因此,数据包丢失或出现错序的几率较低。面向实时性要求较高的试飞监控画面,UDP传输协议具有很强的适应性和功能性。PCM数据处理前端服务器与本自主实时监控组态软件建立UDP链接,从而实现将遥测数据“推送”到监控软件画面,从而确保了数据的实时性。图6是监控软件数据传输流程图。

图6 监控软件数据传输流程

3 应用验证及分析

将软件安装到实际飞行试验中的监控客户端主机上,为试飞工程师及飞行指挥员提供快速构建监控画面及实时监控平台,并通过后台的资源信息配置库进行集中控制和统一管理,如图7所示。在试飞过程中,试飞工程师根据任务需求通过鼠标“拖拽”方式创建仪表、曲线等某一特定监控组件,然后绑定监控参数数据源并对其运算信息进行动态配置,自主实时监控组态软件自动接入遥测实时监控系统,便可完成试飞课题所关心机载测试参数的实时监控,极大的简化了实时监控任务准备流程,有效降低了任务准备压力和复杂度。目前,该基于组件配置的实时监控软件已成功应用于运输机、C919等型号的多架飞机试飞全过程,提供了持续不间断的数据链路,为地面监控、数据分析、指挥决策提供了优质、高效的安全保障。

4 结束语

针对飞行试验未来的发展需求,采用智能化试飞测试软件体系设计架构和模块化方法,在Visual Studio平台开发完成自主实时监控组态软件。通过该自主监控平台,数据处理工程师根据监控参数的表现形式选择相应的监控组件进行参数配置和运算配置即可完成监控画面的编辑任务;试飞工程师在监控过程中可以灵活的调整监控参数和画面布局;软件根据配置参数接收网络数据并根据定义的运算进行相应解算,驱动整个监控画面图形元素的运行,为试飞工程师和监控指挥员提供及时、准确的全过程试飞信息。与传统的基于LabVIEW和C++ Bulider监控画面相比,具有自主程度高、记忆能力强等特点,能够为未来的飞行试验发展提高画面准备效率、提高画面编辑的灵活性。

图7 智能化测试架构应用场景图

[1] 王亚民, 陈 青, 刘畅生,等. 组态软件设计与开发[M]. 西安:西安电子科技大学出版社, 2003.

[2] 姜锦锋. 红外图像的目标检测、识别与跟踪技术研究[D]. 西安:西北工业大学. 2007

[3] Comaniciu D, Ramesh V, Meer P. Kernel-based object tracking [J].IEEE Trans. on Pattern Analysis and Machine Intelligence, 2003, 25(5):564-575

[4] 管小清,吕志强.适用于复杂环境下的实时目标跟踪技术[J].计算机测量与控制,2012,20(10):2776-2778.

[5] 董 欣, 陈晓鸥. XML文件的显示与浏览[J]. 计算机应用, 2000, 20(8):29-32.

[6] Doucet A, Gordon N, Krishnamurthy V. Particle Filters for State Estimation of Jump Markov Linear Systems [J]. IEEE Trans. Signal Processing, 2001, 49(3):613-624

[7] 姬雪峰. 基于粒子滤波的红外目标跟踪方法研究[D]. 西安:西安电子科技大学. 2011

[8] 郑致力. 算术表达式解析引擎的设计及实现[D]. 北京:北京邮电大学, 2012.

[9] Huang T, Ren Q, Liu Q, et al. Application technology study of measurement and control configuration software pocket[Z]. IEEE, 2000:347 - 349.

[10] 赵民正. 面向监控的组态软件——技术分析和设计[D]. 杭州:浙江大学, 2002.

猜你喜欢
遥测数据处理工程师
《机械工程师》征订启事
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
心理学报(2022年4期)2022-04-12 07:38:02
Kenoteq的工程师研发环保砖块
英语文摘(2021年10期)2021-11-22 08:02:40
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
水泵技术(2021年3期)2021-08-14 02:09:20
青年工程师
安徽建筑(2020年4期)2020-05-23 01:37:12
自适应模糊PID控制的遥测方舱温度调节方法
电子制作(2019年11期)2019-07-04 00:34:40
某小型无人机遥测软件设计
电子测试(2018年13期)2018-09-26 03:30:00
浅谈如何提高遥测状态估计合格率
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
工程师变成“资本家”
创业家(2015年7期)2015-02-27 07:54:17