APP下载

多航天器并行测试综合显示平台的设计与实现

2016-10-28许宗飞潘顺良

计算机测量与控制 2016年7期
关键词:型号航天器页面

许宗飞,潘顺良

(中国空间技术研究院 载人航天总体部,北京 100094)

多航天器并行测试综合显示平台的设计与实现

许宗飞,潘顺良

(中国空间技术研究院 载人航天总体部,北京 100094)

为解决载人航天器并行测试遥测数据集中判读和关联分析问题,提出一种支持多航天器并行测试的综合显示平台设计方法;对多航天器并行测试方案进行研究,对综合显示平台总体架构进行设计;平台采用插件式程序架构便于功能扩展,采用脚本引擎技术提高平台可配置性,采用MVC设计模式增加页面编辑的可维护性,采用多线程技术和定时器策略实现海量数据的实时显示;平台具备图形页面、列表页面、曲线页面显示功能,可以实现常规数值显示、报警监视及源码、序列显示,同时,支持测试数据本地保存与回放判读;综合显示平台已应用于载人航天器全阶段地面测试和某型号航天器在轨交会对接任务中,应用效果良好。

载人航天器;并行测试;集中判读;关联分析;综合显示

0 引言

航天器电测(也称航天器电性能测试)[1]是指在统一供配电条件下,对航天器各项功能、性能、接口等进行的全面检查。随着航天产业的发展,载人航天器面临高密度发射任务和空间站多舱组建工程,航天器测试任务更加密集,存在多个型号并行研制、测试的情况,对测试关联性和可靠性要求更高,急需设计一个解决多航天器并行测试[2]的综合显示平台,满足航天器判读人员对多个型号测试数据监视判读、关联分析的需要,提高航天器并行测试能力。

目前,航天器测试运用的监视判读[3]软件只能对一个型号数据进行判读,无法同时监视多个航天器的测试数据,不利于多航天器匹配验证工作的开展;现有航天器测试判读软件,多是对一种下行数据流的接收显示,对于高速、多个数据流缺少有效解决途径,程序架构固化不灵活,功能单一,不利于软件功能扩展,无法满足多样性测试支持需求;而且,现有航天器监视判读方法采用实时判读,很少会同时使用回放判读方法,无法实现历史数据与实时数据同时判读,不利于判读的全面开展。

所以,为满足多型号并行测试任务需要,满足不同种类高速数据流监视和重复判读需要,给出一种高兼容性支持多航天器全程测试数据判读与回放的方法,解决在同一平台对多个型号监视判读、关联分析的问题,可以节约人力资源在型号测试上的使用,增强型号间测试比对分析效果,极大提高航天器综合测试整体质量和效率。

1 多航天器并行测试方案研究

多航天器并行测试主要为应对高密度发射任务,验证航天器交会对接技术[4]、组合体联试功能和性能。为满足载人航天器并行测试遥测数据综合显示需要,对航天器并行测试方案进行研究,多航天器并行测试设计方案如图1所示。

图1 多航天器并行测试方案

航天器并行测试方案是一个两级管理的分布式局域网络系统[5],在逻辑功能上分为三个不同的区域,分别是前置区、数据服务区、测试应用区,前置区设备和被测航天器之间通过特定电缆连接,数据服务区与前置区通过以太网或光纤连接,测试应用区与数据服务区通过网络接口连接。各航天器之间通过以太网实现数据交互。综合显示平台位于测试应用区,从各个航天器数据服务区订阅遥测数据,并集中显示。

图1中,航天器A、B、C、D并行测试时,前置区主要由分系统专用测试设备组成,前置区设备通过有线或无线链路与航天器连接,一方面为航天器供电,另一方面在计算机软件的控制下与航天器进行信息交互,交互的信息送数据服务区进行处理;数据服务区主要完成前置区设备管理控制、指令上行、遥测数据(设备状态和采集数据)接收、处理和分发,同时,完成遥测数据的存储、查询服务;测试数据经数据服务区处理后,向测试应用区提供数据订阅服务,测试应用区是综合测试系统主要的人机交互区,完成相应的测试实施及评估工作,提供测试执行、测试信息显示、测试数据查询与分析等服务。

并行测试模式下,对各个航天器数据订阅服务器的接口进行归一化设计,各航天器通过网络实现信息交互,确保综合显示平台接收数据协议统一,完成多型号并行测试数据的接收、处理、显示,给测试人员提供一个集中判读比对的平台,完成不同型号并行测试联合判读和分析。

2 综合显示平台的设计与实现

2.1 总体架构设计

根据多航天器并行测试方案以及测试人员判读需求,对综合显示平台进行自上而下设计,总体架构设计策略如图2所示。

图2 综合显示平台总体架构设计

图2中,航天器将下行数据通过有线或无线形式传递给前端设备,前端设备进行数据组包,按地面设备间通信协议将数据传送给主测试处理机,主测试处理机完成数据解析和处理,再将数据分发给订阅服务器,综合显示平台从订阅服务器订阅数据、提供统一监视判读平台。综合显示平台提供测试编辑环境和测试运行环境,用户在编辑环境下进行测试准备工作,完成页面编辑和数据源设置,在运行环境下开展测试判读工作,主要进行实时数据显示、大数据量处理、源包解析、序列显示判读;综合显示平台从FTP服务器加载数据模型文件,进行显示页面数据源定义;从本地文件系统中加载动态链接库、显示页面、配置文件和脚本文件,完成软件启动和显示页面加载。

为了便于以后的升级和扩展,主程序框架采用插件式的管理[6],满足平台多种功能模块组合设计的需要,以后需要功能扩展的时候只需要将新增加的功能作为程序[7]的一个插件添加到系统中就可以。

2.2 功能模块组成设计

在总体架构设计基础上,对综合显示平台功能模块组成进行设计。采用结构化程序设计,平台整体上可以划分为8个模块,分别是核心服务模块、界面模块、图形库模块、基础库模块、基本业务模块、序列模块、显示模块、主程序模块,如图3所示。其中基本业务模块、序列模块、显示模块、主程序模块为业务模块;核心服务模块、界面模块、图形库模块、基础库模块为底层模块。业务模块通过调用底层业务模块实现具体业务功能,它们相互间是调用和被调用的关系;底层模块提供基本的服务功能,基础库模块调用部分核心服务模块的功能,核心服务模块、界面模块和图形库模块这3个模块没有有耦合依赖关系。4个业务模块分别实现各自的功能,它们之间没有耦合依赖关系。

图3 综合显示平台组成架构

核心服务模块、界面模块、图形库模块、基础库模块、基本业务模块、序列模块、显示模块以动态链接库(.DLL)形式存在,主程序模块以执行文件(.EXE)形式存在。软件从主程序模块启动,基本业务模块、显示模块和序列模块作为插件在软件启动时动态加载;上层的4个业务模块通过调用下面的4个底层模块实现具体功能。软件整体与FTP服务器、本地文件系统、数据订阅服务器、主测试处理机有外部接口。

各个模块的功能说明如表1所示。

2.3 主程序执行流程设计

平台组成设计完成后,对软件启动、程序执行流程进行设计。主程序执行流程如图4所示。主程序在启动时进行软件初始化操作,读取本地配置文件信息;主程序在软件初始化后,进行主界面初始化,加载主界面各个模块,包括加载菜单栏、动态创建工具栏、动态创建面板;主界面初始化后,进行主界面显示,主界面支持多屏显示,方便用户同时对页面进行编辑和监视;主界面显示完成后,通过主程序消息循环,完成判读信息接收、显示;测试结束后,关闭软件,退出消息接收。

表1 模块功能说明

主程序是本平台系统执行的入口,通过调用图形库、界面模块、基本业务模块、显示模块和基础库的功能,构造一个模块加载平台,软件的绝大部分功能实现都是通过后台配置文件加载相应的模块来实现,验证表明,软件运行稳定可靠。

2.4 综合显示平台实现

综合显示平台实现的数据流图如图5所示。综合显示平台处于整个测试系统的应用层,软件通过界面编辑和数据源定义生成页面属性信息和数据源信息,保存为显示页面;界面运行时,读取显示页面信息、配置文件信息,通过接收数据订阅服务器的遥测数据进行测试信息处理和遥测页面显示。

图5 综合显示平台实现数据流图

综合显示平台目前已经应用于多个航天器型号并行测试中,同时,支持在轨运行航天器的监视判读工作。软件可以实现图形页面显示、列表显示、曲线显示、源码显示和测试序列显示,对于日常测试中需要重复判读数据,可以本地保存后回放进行再次判读。

图形页面显示,平台提供页面元素工具箱(包括静态文本、绘制工具、表格、开关控件等),用户可以拖拽这些对象到待编辑页面的合适位置,判读人员可以根据测试设备工作原理、结构组成制作模拟图形页面,根据判读需要对参数显示形式、门限报警显示、图形外观等属性进行设置,图形页面保证判读直观性、可视化。

列表页面显示,提供参数选择界面,通过选择船器代号、参数类型、分系统、参数编号等确定需要显示的参数。列表页面显示,可以显示参数序号、参数代号、参数名称、工程值、不同进制源码等。在列表页面可以方便地增加或者删除参数,可以对列表页面显示行颜色进行设置。

曲线页面显示,包括显示Y-T(数值-时间)曲线、X-Y(数值-数值)曲线,以曲线的方式动态显示实时采样数据。平台提供页面元素绑定参数选择界面,选择需要在曲线页面中显示的参数,每个参数对应一条曲线,曲线颜色、形状、范围等属性可以设置。

源码显示为了从原始数据层面对航天器遥测数据进行比对判读,按照源码信息格式整包、整帧将数据提供给测试人员,让测试人员更原始对数据进行有效性判断,同时给分系统与分系统之间源码比对提供支持。

测试序列显示,主要对测试执行情况进行监视,明确测试步骤执行顺序和时间,给测试人员提供参数判读准备时间,同时,判读人员通过观察测试序列内容及时调整测试序列内容,确保测试合理推进。

测试数据本地回放判读,使用本地数据回放功能时,首先,将测试数据保存在本地,然后回放。本地保存需设置保存路径、保存文件大小、保存时间,回放时选择回放文件、回放速率、跳转时间等,通过回放满足判读人员事后分析、精确判读需要。

3 综合显示平台实现中的关键技术

3.1 多航天器数据接收及显示

为了显示多个航天器的数据,软件通过配置文件进行多个型号信息配置,通过多线程技术完成多型号数据接收、显示。对每个订阅服务器采用一个后台线程来接收、处理数据,以航天器型号名作为索引,定义多个型号参数、页面,软件运行时更新每个航天器的数据缓存,在一个显示页面中绑定多个航天器的多类参数,显示页面刷新时从缓存中读取参数值进行刷新显示,实现在一个平台上同时查看多个航天器的数据信息,监视多个航天器的参数工程值和源码,便于人工监视、比对多个航天器的参数。

3.2 MVC设计模式

为实现页面编辑与页面显示同步,页面编辑的实现采用MVC(Model-View-Controller)[8]的设计模式。在Windows操作系统下,用户的鼠标、键盘输入通过消息转发到窗口上,窗口捕获到消息后进行相应界面响应。

在页面编辑过程中,用户输入直接被View截获,通过对当前视图状态分析,可以预期知道用户的操作目的,然后,选择合适的Controller,由Controller控制更加具体的操作,Controller可以与界面元素交互实现修改元素的属性功能。当用户的一个操作完毕,页面数据模型被修改,通过刷新视图,就能把操作后的变化表现出来,实现“所见即所得”的效果。

3.3 脚本引擎实现

在不影响软件性能的情况下,通过脚本引擎嵌入脚本,辅助实现页面编辑和显示,增强软件的可配置性,把一些经常变化的文件用脚本配置来表达。

使用Lua作为嵌入式脚本语言,以此来实现可配置性、可扩展性。通过封装Lua的API函数实现在C++和Lua脚本间的相互调用, 使用脚本配置可以替换一些需要用静态代码实现的功能。脚本引擎还可以动态调用外部动态链接库中的函数,只要动态链接库的函数接口满足Lua的设计规范,在脚本中就可以很方便的调用这些函数。

3.4 海量参数处理、显示

多航天器并行测试,数据量较单一航天器更大、数据种类更多,平台设计时,对于海量数据接收、显示采用独立线程分别完成,确保数据解析、显示独立进行。

在型号测试过程中,大量遥测数据通过网络从服务器传送到综合显示平台上,为了及时接收这些数据,减轻网络的阻塞,采用后台单独线程的方式来处理服务器发送过来的数据;在接收数据后,将参数的工程值和源码解析出来进行缓存,再进行页面的刷新。缓存时,根据型号数据量多少,对硬件设备的内存有一定要求,如果在接收订阅数据线程中进行提取参数,那么就存在界面主线程对参数缓存的读取和接收订阅数据线程对参数缓存的写入的数据同步问题,需要进行数据共享加锁的方法来处理,此种方法将增加软件的CPU开销和设计的复杂性;为减少CPU开销和设计的复杂性,编程时,采取把数据解析放在界面主线程上来处理的方式,不需考虑数据同步的问题,当数据接收线程接收到数据后,通过Windows消息机制将测试消息体的内容POST到界面主线程(这个调用不阻塞数据接收线程的工作),界面主线程收到消息后,提取出消息体的内容并进行解析工作。

3.5 显示页面定时刷新

在测试过程中某些数据流的遥测下传过快(小于30毫秒一帧),导致软件无法实时刷新,同时,这么快的刷新频率也超出人眼视力反应时间,为解决数据流下行速度快无法及时判读问题,采用定时器的刷新机制来刷新所有页面参数,定时刷新时间,可以由用户根据判读需求自行设定。实现上,软件连接数据订阅服务器后,后台线程接收订阅服务器传输过来的数据,然后,通过Windows消息队列通知主界面进行处理,主界面在窗口处理过程中解析数据并根据定时器设置刷新各个显示页面。

4 总结

本文针对载人航天器并行测试任务,给出一种多航天器并行测试方案,重点描述综合显示平台总体设计方案和组成设计,总结了综合显示平台研制过程中的关键技术,给出软件应用示例。平台采用插件式主程序框架,使得平台具有较强功能扩展性;通过脚本引擎技术,使得软件具有较高可配制性;通过多线程技术和定时器刷新技术,实现对海量参数的实时刷新,使得平台具有较强的型号通用性。该平台目前已成功应用于多航天器型号并行测试中,同时支持在轨监视,实际应用表明,该平台具有较强的工程实用性。

[1] 王庆成. 航天器电测技术[M]. 北京:中国科学技术出版社,2007.

[2] Yu J S, Chen X Z, Tang D Y. A Parallel Test System Based on C/S Mode[A]. The Ninth International Conference on Electronic Measurement&Instruments [C]. 北京,2009:186-189.

[3] 李砥擎,朱维宝,等. 一种用于航天器数据监视的知识表示方法[J]. 计算机测量与控制, 2006,14(3):289-292.

[4] 张柏楠. 航天器交会对接任务分析与设计[M]. 北京:科学出版社,2011.

[5] 师传刚. 基于B/S和C/S混合模式的钢铁过程控制系统的设计与实现[D].上海:复旦大学,2004.

[6] 赵 翔,刘耀林,刘殿锋. 基于插件技术的人工免疫智能空间优化平台研究[J].国防科技大学学报,2013,35(2):164-168.

[7] 孙 鑫. VC++深入详解[M]. 北京:电子工业出版社,2012.

[8] 姚瑾如. 基于MVC模式的管理信息系统开发技术研究[D].南京:南京航空航天大学,2013.

Design and Implementation of Integrated Display Platform in Multiple Spacecraft Parallel Test

Xu Zongfei, Pan Shunliang

(Institute of Manned Space System Engineering,China Academy of Space Technology,Beijing 100094, China)

To solve the problem of convergence interpretation and correlation analysis in manned spacecraft parallel test, a design method of integrated display platform to support multiple spacecraft parallel test is proposed. The scheme of multiple spacecraft parallel test is studied, the overall framework of integrated display platform is designed.Using plug-in framework may enlarge the software's function; using the script engine technic may improve the software’s configration; using MVC design model may add the maintainability for editing pages; using multithreading technic and timer method may realize the real-time display of mass data. The software has some display functions, such as figure display, list display and graph display. The software is not only used for general data display, but also used for warning display, original data display, sequence display. Besides, the software supports data local-storage and analysing afterwards. The integrated display platform has been used for manned spacecraft ground test with the whole stage, and used for the rendezvous and docking mission of some spacecraft in orbit. The application has good effect.

manned spacecraft; parallel test; convergence interpretation; correlation analysis; integrated display

2015-12-30;

2016-02-15。

许宗飞(1982-),男,江苏徐州人,硕士研究生,主管工程师,主要从事航天器综合测试方向的研究。

1671-4598(2016)07-0024-04

10.16526/j.cnki.11-4762/tp.2016.07.007

V416 文献标识码:A

猜你喜欢

型号航天器页面
刷新生活的页面
2022 年第二季度航天器发射统计
航天型号批生产管理模式的思考
型号产品配套管理模式探索与实践
航天型号全要素管理的初步实践
2019 年第二季度航天器发射统计
2018 年第三季度航天器发射统计
2018年第二季度航天器发射统计
不同型号CTC/TDCS设备的互联互通
Web安全问答(3)