关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 卫星地面测试通用数据分析显示系统设计与实现

卫星地面测试通用数据分析显示系统设计与实现

作者:薛征 陈杭 蒋晓肖时间:2017-05-26来源:电子产品世界收藏
编者按:卫星地面测试中,数据分析与显示系统是与用户交互的唯一界面。为了满足多种型号卫星地面测试中的分析与显示,本文提出了卫星地面测试通用数据分析显示系统。该系统可以及时、有效地对所有的卫星姿控系统地面测试数据进行分析和显示,提高了用户交互性和软件的可扩展性。目前该通用分析显示系统已应用于十余颗卫星地面测试中,并得到用户的广泛好评。

作者 薛征 陈杭 蒋晓肖 上海航天控制技术研究所(上海 201109)

本文引用地址:http://www.eepw.com.cn/article/201705/359758.htm

薛征(1984-),男,硕士,工程师,研究方向:基于C#的软件研发与测试;陈杭,男,硕士,工程师,研究方向:基于C#的软件研发与测试;蒋晓肖,女,硕士,高级工程师,研究方向:C#的软件研发与测试。

摘要:卫星地面测试中,是与用户交互的唯一界面。为了满足多种型号卫星地面测试中的分析与显示,本文提出了卫星地面测试通用。该系统可以及时、有效地对所有的卫星姿控系统地面测试数据进行分析和显示,提高了用户交互性和软件的可扩展性。目前该通用分析已应用于十余颗卫星地面测试中,并得到用户的广泛好评。

1 系统功能和主要特点

  目前,国防和空间研究对航天卫星的功能及数量需求不断增加,提供的测试任务也逐渐增多,过去以型号为主,不同型号、不同测试软件的管理模式已不能满足需求,卫星地面测试软件的通用化已成为亟待解决的课题[1]

  地面测试系统由控制软件、分析显示软件、数据库软件等部分构成[2],不同型号新研或试验过程中复杂度和变更最多的为显示分析软件。为缩短卫星地面测试研试周期,提出基于C#的卫星地面测试通用显示系统,不需要修改源代码前提下,实施于不同卫星型号。同时,使用者通过修改配置文件即可满足一般性需求变更。系统功能和主要特点如下:

  (1) 实现数据多种格式存储及快速回放

  支持Access、SQL Server类型数据库存储,数据以16进制源码和有效解析数据两种格式进行存储,存储为SQL Server table和*. dat两种文件形式。系统提供数据回放通道,可按时间选取特定变量进行显示,回放速率可调节,最高可达到原始传输速率的10倍速。

  (2) 快速实现数据的采集、分析、显示

  采用TCP/IP网络异步接收的方式实现数据采集,保证数据的快速传输及正确性,支持多种数据源同步传输,并实时解析显示,数据分析效率高,响应快,数据显示延时率≤0.5ms。

  (3) 支持多种协议格式、复杂数据类型

  该系统兼容多种协议格式,内部包含协议转换器,可实现协议统一化。目前,在轨和在研多颗卫星的多样化协议均可兼容。支持多种数据类型的解析,如bit、byte、int、string、char、float、double和1750f[4];内部包含多种函数公式,可完成简单线性、专用类型转换计算,也可完成多项式、查表法等复杂计算,有效地实现数据转换。

  (4) 高效性的界面设计

  系统界面设计友好,人员获得数据简便、准确,数据显示方式多样,同一数据可采用图像、图形、曲线、数值、容器等多种方式展示。变量定义配置支持在线编辑和线下编辑、在线导入两种方式,页面支持用户自定义,可自由进行页面布局,曲线自定义缩放,并自动保存。软件提供源码接收查看界面,可实时查看数据接收状态。

  (5) 通用化结构设计,可扩展性强

  该系统整体框架设计清晰,采用模块设计方式,对外开放接口。配置灵活,采用excel、xml、config、ini等格式配置文件[3],不同项目仅需更改项目相关的变量表,更新数据协议设置,即可完成项目切换,实现不同项目的实时应用,软件通用化强。软件模块自定义深度可扩展,支持C#、Web Service、Test Stand等接口,可无缝扩展。

  (6) 异常处理,提供问题准确定位

  软件内部包含异常处理,容错性好,对于常见配置异常及网络通讯设计了界面反馈,能够提供出明确的异常位置和异常类型,方便用户快速准确地定位问题;有专用异常数据反查通道,出现显示异常时,可快速定位硬件接口数据异常传输位置,加快试验故障排查工作,提升效率。

2 系统结构

  为适应不同型号和不同阶段测试需求,设计了通用分析显示系统。本系统采用模块化设计,主要分为五大模块:通用配置模块、数据通信模块、通用解析模块、实时显示模块和数据存储回放模块;系统整体结构如图1所示。

  通用配置模块实现不同型号的兼容性,通过统一的配置规则及配置接口文件,将不同型号的数据格式及具体波道数据表、函数处理方式等信息分解到xml、ini、excel格式配置文件中,并输出为DataTable表格式。

  数据通讯模块实现数据快速接收,保证高速稳定性。

  通用解析模块实现协议转换后数据的通用解析,通过调用通用配置模块内输出的DataTable表,通过模块化函数处理,将16进制数据计算转化为符合用户需求的数值类型。

  实时显示模块保证实时性,实现数据的多样化显示,如图形、曲线、数值、容器方式等。

  数据存储回放模块实现数据的实时存储以及后期回放,存储为SQL Server table[6]和*. dat两种文件形式,后期回放时,支持读取SQL Server table中16进制原始数据和dat文件数据,将数据在软件界面内加速回放。

3 系统各模块设计

3.1 通用配置模块

  配置模块中主要操作的对象为二进制文件,其后缀指定为.dat,因此,配置模块的输入和输出均为dat二进制文件。卫星地面测试时,数据复杂、排列多变,且伴随有加密和解密过程。因此,通用显示软件配置模块中的dat二进制文件的格式以表的形式来定义,主要有波道表、类型表、单机表、公式表、字节表、帧表等,每个表都有各自的属性列,各个表之间的关系如图2所示。

3.2 数据通信模块

  通信模块的主要功能有实时接收数据库的数据,事后从数据库中提取大批量数据供数据回放。因此,该模块提供两种通讯方式,即通过网络接收数据即使用TCP、UDP网络协议和通过ADO.NET[7]大批量接收数据库数据。

  分析显示软件与数据库之间为一对多的关系,当TCP通讯时,采用异步模式,主要考虑以下三种情况:一个数据库软件同时要与多个终端软件进行数据交互;做大型实验时,存在数据量大和频率高的情况;终端软件需要分析的数据种类比较多,如果采用同步模式,一旦一个终端软件发生异常时,其它终端软件将同时受到影响。当数据回放时,终端软件与数据库之间采用ADO.NET模式通讯,ADO.NET中最重要的特性是:它们是以断开连接的方式工作。目前,许多服务构建为连接一个服务器,检索一些数据,再在客户机上处理这些数据,之后重新连接服务器,把数据传送回去进行处理,ADO.NET的断开连接的本质就可以实现这类操作。

3.3 通用解析模块

  在通用解析模块中,输入为网络接收的十六进制字节数组、处理方式、参数、字节类型,输出为经过公式处理的目标数据类型(如int、float、double等)。考虑到后期数据分析模块的更改或数据分析方式需要添加的情况,在此模块中采用设计模式——简单工厂模式,使用设计模式使得程序更加灵活、容易修改,且易于复用。

  通用解析模块采用简单工厂设计模式[8]后的类结构如图3所示。其中,简单工厂类中根据字节标志来决定实例化数据类型的类;实例化类为一个抽象类,其中包含一个虚拟函数Result(),函数实体在具体类中完成;4字节转float类继承实例化类,完成Result()函数的具体行为,将字节数组中其中4个字节转化为浮点型数据输出;同理,4字节转二进制类将字节数据中4个字节转为二进制输出,8字节转double类将字节数组中8个字节转为双精度浮点数输出,8字节转二进制类将字节数组中的8个字节转为二进制数据输出。如果要往数据分析模块中添加其他数据类型转化方式,只要在底层添加相应的类库,并继承实例化类,同时,在简单工厂设计类中添加字节标志即可。

3.4 实时显示模块

  利用面向对象的程序设计[5]概念,将显示模块封装为各个控件容器,其中包含文本控件、曲线控件、仪表控件。文本控件以表格形式显示当前时刻的数据状态;曲线控件以曲线形式描述数据趋势图,含放大缩小功能;仪表控件以更形象化的图形显示各个波道数据,例如表盘、温度计、柱状图、指示灯等。

3.5 数据存储回放模块

  数据导出模块的输入为经过数据分析模块处理完成的数据表,输出为用户所选格式的文件。后期数据处理过程中,不同卫星试验人员采用不同工具,因此,该模块设计导出三种不同格式数据文件,即txt、excel和origin。

4 系统应用

  整合上述5个模块,形成通用分析显示系统,通过读取不同配置文件区分各卫星型号变量。操作主要为打开主界面、新建子窗体、子窗体中添加各种控件、控件中添加不同变量等,结合模块执行过程如图4所示。

  目前,本系统已应用于多个卫星型号中,以某卫星为例,首先根据卫星试验人员提供的变量说明表配置变量数据类型、排序、公式、参数、解析方式等,配置完成形成统一配置文件;软件读入配置文件;试验人员选择显示方式如曲线、文本、柱状图等;对应显示方式上选择需要显示的一个或者多个变量;通过配置文件解析源数据,并将结果数据显示。

5 结论

  通用数据分析显示系统理论上能够支持绝大部分卫星地面测试分析显示需求,并支持多颗卫星同时测试。目前,通用数据分析显示软件已经在多个卫星型号中实际使用,因其操作简便、用户界面友好、运行稳定可靠而受到试验人员的广泛好评。不同卫星型号地面测试采用同一显示分析软件,避免软件设计人员重复开发,节省试验人员熟悉全新软件时间,对缩短卫星地面测试研试周期有着重大意义。

  参考文献:

  [1]张晓清,陈广旭.通用卫星地面测试平台的设计与实现[J].指挥技术学院学报,2000,11(6):77-81.

  [2]庞存辰,程颢,张丹,等.面向GNC分系统地面测试的数据解码软件设计与实现[J].中国制造业信息化,2012,41(11):65-71.

  [3]赵琳,翟正军,周健,等.基于配置文件的测试软件结构一体化设计方法[J].测控技术,2011,30(5):94-96.

  [4]徐碚,杨学猛.卫星通信自动监测系统实现技术[J].电信网技术,2003,3(3):25-28.

  [5]张保祥,冯玉洁.一种卫星定位组件测试软件的设计与实现[J].现代电子技术,2012,35(4):62-64.

  [6]张勇,王堃,王强,王宏安,等.基于实时数据库的卫星测试平台的设计与实现[J].计算机工程与设计,2009,30(2):335-337.

  [7]雷浩然,陈帅.基于MFC的组合导航检测软件快速实现方法[J].计算机应用,2013,33(S1):262-264.

  [8]乔凯,沈苏彬.一种网络监测软件的分析与改进[J].南京邮电大学学报(自然科学版),2011,31(1):83-89.

  本文来源于《电子产品世界》2017年第6期第66页,欢迎您写论文时引用,并注明出处。



评论


相关推荐

技术专区

关闭