掌桥专利:专业的专利平台
掌桥专利
首页

一种卫星软件的仿真测试系统及方法

文献发布时间:2023-06-19 11:32:36


一种卫星软件的仿真测试系统及方法

技术领域

本发明涉及航空航天技术领域,特别涉及一种卫星软件的仿真测试系统及方法。

背景技术

卫星整体结构复杂,包含的单机种类及数量较多,这就使得卫星硬件单机研制进度与软件开发进度不匹配,常需要多个仿真单机来进行软件开发支持。此外,由于单机的接口经常变化,而仿真模型进行变化较为复杂,工作量较大,因此,目前多半在开发后期才实现仿真,这就使得在开发过程中难以进行测试的回归,大量测试无法很快进行。同时,接口变化较大,也使得数据显示不能跟上测试要求。而计算机接口和功能测试缺乏测试和自动检查环境,导致错误难以先期发现,硬件问题无法采用硬件接口的回归测试排除。

目前,卫星软件的测试自动化程度低,难以回归多次测试,数据分析困难,从开发和管理角度来说,变更波动影响较大。

发明内容

针对现有技术中的部分或全部问题,本发明一方面提供一种卫星软件的仿真测试系统,安装于工控设备中,包括:

硬件操作中心子系统,用于与星上外部硬件接口交互;

仿真子系统,其与所述硬件操作中心子系统可通信地连接,用于进行单机功能的仿真;

测试子系统,其与所述硬件操作中心子系统可通信地连接,用于I O接口硬件测试;以及

星上数据处理子系统,包括:

存储模块,其与所述硬件操作中心子系统可通信地连接,用于存储星上的输出数据;以及

数据分析模块,其与所述存储模块可通信地连接,用于根据所述星上的输出数据,进行出错的自动判别及原因分析,以及指令测试用例分析。

进一步地,所述硬件操作中心子系统与所述测试子系统和/或所述星上数据处理子系统通过网络进行通信。

进一步地,所述存储模块包括存储软件及数据库。

进一步地,所述仿真测试系统还包括管理子系统,其与所述硬件操作中心子系统、仿真子系统、测试子系统以及星上数据处理子系统通过网络可通信地连接,用于实时监控各子系统的工作状态。

进一步地,所述仿真测试系统还包括供电管理子系统,用于管理电源。

进一步地,所述仿真测试系统还包括显示子系统,用于显示数据及测试结果。

进一步地,所述工控设备包括即插即用IO板卡,其中所述IO板卡为以下板卡中的一种或几种:数模转换板卡,RS422串口板卡,RS232串口板卡,同步串口板卡,频率输入输出板卡,开关量输入输出板卡,CAN总线板卡,以及1553B总线板卡。

本发明另一方面提供一种卫星软件的仿真测试方法,包括:

根据单机接口文档,通过仿真子系统配置逻辑仿真终端,构建多个仿真模型,其中,所述仿真模型与卫星的单机一一对应;

根据单机接口文档,通过测试子系统选取预设的测试用例,并自动形成测试输入,进行仿真测试,得到仿真测试输出;

当任一单机到达后,采用实际单机代替相应的仿真模型,并通过测试子系统进行接口自动回归测试,得到回归测试输出;以及

通过数据分析模块,根据所述仿真测试输出以及回归测试输出进行结果分析,实现出错情况判别,记录和报警。

本发明提供的卫星软件的仿真测试系统及方法,作为逻辑验证仿真平台,可以仿真单机的黑盒逻辑,配置输入,状态,输出以及之间的关系,是一个可以配置的基于网络的通用测试方案。其使得卫星项目在初始阶段即可快速搭建软件测试的仿真环境,并在无硬件情况下进行软件开发中的逻辑验证,在硬件单机研制完成后,逐步更换硬件到系统中,最终实现硬件联调;并且所述系统可提供自动化的测试和回归测试,减少测试成本,增加测试次数。

附图说明

为进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。

图1示出导航卫星中计算机的运行环境示意图;

图2示出本发明一个实施例的一种卫星软件的仿真测试系统的结构示意图;

图3示出本发明一个实施例的一种卫星软件的仿真测试系统的数据流构成示意图;

图4示出本发明一个实施例的一种卫星软件的仿真测试系统的DDS协议数据分发示意图;以及

图5示出本发明一个实施例的一种卫星软件的仿真测试方法的流程示意图。

具体实施方式

以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免模糊本发明的发明点。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明并不限于这些特定细节。此外,应理解附图中示出的各实施例是说明性表示且不一定按正确比例绘制。

在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。

需要说明的是,本发明的实施例以特定顺序对工艺步骤进行描述,然而这只是为了阐述该具体实施例,而不是限定各步骤的先后顺序。相反,在本发明的不同实施例中,可根据工艺的调节来调整各步骤的先后顺序。

为了在卫星项目初始阶段,快速搭建软件测试的仿真环境,在无硬件情况下进行软件开发中的逻辑验证,并逐步更换硬件到系统中,最终实现硬件联调。本发明提出一种卫星软件的仿真测试系统及方法,其基于网络,且可配置。下面结合实施例附图,对本发明的方案做进一步描述。

由于软件开发主要需要的是逻辑验证,因此本发明提供的仿真测试系统为一个逻辑验证仿真平台,用于仿真单机的黑盒逻辑,配置输入,状态,输出以及之间的关系,此外,还能够实现数据查看和记录,数据分析的功能。在本发明中,软件接口控制文件I CD是一个接口文件规范,用于定义不同数据接口,实现可视化地编辑和修改接口数据,便于双方认知,DDS为一种基于数据订阅和分发的网络协议标准,用于搭建分布平台。

计算机是整个卫星的核心部件,负责对卫星事务进行管理,其需要从周边设备获取输入,经过计算处理后,再由周边设备执行处理结果。因此,要建立卫星软件的仿真测试系统,首先需要理清周边设备与计算机的关系,包括数据流关系,接口关系,功能,工作模式等。在仿真测试系统中,仅对影响计算机软件运行的信号进行仿真,而对于对计算机软件运行的影响不大的供电,地测接口等信号不作仿真。图1示出导航卫星中计算机的运行环境示意图。如图1所示,对星载计算机软件运行的产生较大影响的信号包括:地平仪、星敏感期、精太敏、光纤陀螺、粗太敏以及磁力矩器等传感设备的信号,天线载荷、下行载荷、时频载荷以及上行载荷数据,其主要通过数据处理终端实现发送及接收,其星载计算机可以依据相应的载荷数据及传感设备数据,输出对测控系统、能源系统以及帆板、推进阀门等设备的控制信号,此外,星载计算机还与导航任务处理器通信,以实现卫星导航任务处理。由此,可以看出,需要仿真的导航卫星计算机接口主要包括28V OC指令脉冲输入/输出,28V正脉冲输入/输出,28V OC电平输入/输出,5V OC测频脉冲输入/输出,5V OC指令脉冲输入/输出,5VOC电平输入/输出,5V OC同步输入/输出,温度量输出/输出,0~5V模拟量输入/输出,0~10V模拟量输入/输出,微电流输入/输出,异步422发送/接收,同步422PCM发送/接收,0/15双电平输入/输出,SADA输入/输出,TTL脉冲指令输入/输出,1553B总线等。

基于此,图2示出本发明一个实施例的一种卫星软件的仿真测试系统的结构示意图。如图2所示,一种卫星软件的仿真测试系统,安装于工控设备中,所述工控设备可以为一台或者多台可扩展的工控机,与待测计算机的I/O接口通过线缆连接,其将I/O中数据与网络协议数据进行协议转化,所述工控设备使用选型固定的IO板卡用于扩展,可根据不同需求选择板卡和数量,例如数模转换板卡,RS422串口板卡,RS232串口板卡,同步串口板卡,频率输入输出板卡,开关量输入输出板卡,CAN总线板卡,以及1553B总线板卡等。其中,所述待测计算机使用千兆以太网,运行WIN10操作系统,无界面的数据服务器也可使用稳定的LINUX系统。所述仿真测试系统包括硬件操作中心子系统101,仿真子系统102,测试子系统103以及星上数据处理子系统104。

所述硬件操作中心子系统101用于与星上外部硬件接口交互,其通过网络向外发送数据,并且接收网络的数据转发。所述硬件操作中心子系统101为通道软件,其将待测计算机的所有输出,立刻转发到网络,并将网络的相应输入转发到待测计算机对应通道中,其中所述通道是模块化可添加的,可以使用不同IP端口来进行不同通道数据的发送,以减少过滤数据的时间。所述硬件操作中心子系统101可由其他进程软件从网络中发送硬件参数配置,初始化硬件参数,其主要功能包括:

提供界面配置,存储,读取硬件初始化参数;

自动识别接口IO硬件,自动发现硬件问题,尝试自动重新初始化硬件;

查看并且记录当前硬件状态,统计其数据量;

连接计算机硬件,采集数据,并且显示所有通道数据情况;

将星上下发的通道数据,通过网络转发到其他仿真和测试程序;

提供一个接口,用于通道数据预处理,后期可以在此插入模块,在不改动硬件操作中心子系统情况下实现部分预处理;

在有数据预处理层的情况下,可能提供数据ICD定义,以实现从底部进行ICD分析的功能,底层进行数据解帧和组帧;

将测试和仿真程序通过网络的上行数据,转发到所要求的计算机的数据通道中,起到一个通道转发的作用;

设定下行AD和开关量的采集周期;以及

统计数据流量,连接情况等软件工作状态,通过网络发出,由管理子系统进行处理。

所述仿真子系统102与所述硬件操作中心子系统可通信地连接,其作为黑盒子,进行单机功能的仿真,所述单机是指待测计算机的周边设备,所述仿真子系统102包括多个模型,每一个模型代表一个设备。由于所述仿真测试系统仅为星务计算机软件测试所用,只需要进行逻辑仿真而非实际物理仿真,对于IO指令产生合适的输出即可,因此,所述模型是对于通道数据和时间进行响应的一个黑盒,将硬件交互转变为网络数据交互分布于网络中,以被仿真单机的方式从网络上获取计算机硬件的输入,得到输出。所述仿真子系统102的主要功能包括:

通过界面进行存储,编辑,读取一个或者多个仿真配置文件,对数据进行仿真,仿真配置文件中包括单机ICD的配置,界面上能够进行修改;

可视化配置仿真模型,根据输入,状态,输出以及三者之间的逻辑关系进行配置;

使用ICD作为其数据基础,定义其输入输出,状态也是基于ICD自动生成,由用户添加其他的辅助内部状态;

将仿真模型配置关系以EXCEL表的形式导入导出,便于操作人员理解与修改,便于单机单位进行检查;

接收硬件操作中心子系统转发过来的计算机数据,根据输入改变本身状态,同时产生输出,通过网络将接收数据的响应发回硬件操作中心子系统;

统计数据流量,连接情况等软件工作状态,通过网络发出,由管理子系统进行处理;

调用预设文件作为通道输出;

同时可以支持多个设备的仿真,或者多个设备进行分散式仿真;

处理输入输出关系,包括输入导致的改变和时间导致的改变;

仿真单机可以由文件获取数据,以时间作为一个输入,以实现环境变化的输入,例如磁场表,星图等;以及

针对仿真关系过于复杂的,可使用插件进行运算,以实现更进一级仿真的要求。

所述测试子系统103与所述硬件操作中心子系统101可通信地连接,用于IO接口硬件测试以及所述仿真测试系统的硬件自测,以测试星载计算机的各IO通道稳定性正确性,以及压力情况下表现。其包括测试组织模块1031以及测试输入模块1032。其中:

所述测试组织模块1031负责进行IO接口硬件测试项目的组织与运行,与硬件操作中心子系统进行通讯,形成可以定制的测试项目,例如所有硬件通道的流量,稳定性,压力测试等硬件层的通道测试,并且能够自行对于测试项目进行总结,其主要功能包括:

通过界面存储,读取,编辑测试用例,测试用例以库形式进行组合,以实现多个测试用例的使用;

进行测试用例文件的管理,包括拷贝编辑,删除,以及文件列表,多测试用例的顺序执行;

实现多个测试用例的执行,以实现自动测试,并且自动分析结果;

测试用例报表成,使用EXCEL方式或者其他方式生成报表,便于形成文档,包括测试用例列举,以及测试结果报表;

定义测试数据,长度,并且检查返回数据;

自动统计测试结果,给出信息,生成记录报表;以及

统计数据流量,连接情况等软件工作状态,通过网络发出,由管理子系统进行处理;以及

所述测试输入模块1032负责地面指令上行的模拟,向星务计算机发送指令,作为测试时候的输入,并且组织自动指令测试,与数据显示部分无交集,其中,所述指令需要完全配置型,由配置文件获取指令列表,并且产生指令以及参数输入界面,在接口变更时候更改ICD即可获得正确的界面,其主要功能包括:

完全基于ICD,与EXCEL表导入导出的ICD将成为测试输入配置文件;

通过界面进行指令ICD的修改和存储;

根据ICD自动生成指令参数界面,以实现文档更动时候的自动同步;

以格式ICD自动进行数据增加;

以指令序列方式来进行指令执行,便于进行自动测试,便于回归测试;

通过界面进行测试用例库的管理,测试用例的管理修改,以形成自动测试的输入;

在自动测试用例库中找到相应指令进行指令格式修改;以及

记录指令动作到数据库,用于数据分析模块进行指令结果分析。

所述星上数据处理子系统104包括存储模块以及数据分析模块1043。其中:

所述存储模块与所述硬件操作中心子系统101可通信地连接,用于获取所有星上的输出数据,并且根据配置需要进行存储,所述输出数据包括星上遥测数据,以及临时通道数据。为了避免存储对计算以及显示的影响,在本发明的一个实施例中,所述存储模块设置于单独的网络计算机中,包括存储软件1041及数据库1042,所述数据库1042可以为Sqlserver或者其他类型数据库,所述存储模块的主要功能包括:

存储星上遥测和地测数据或其他通道数据,需要将数据进行解析或不解析;

统计遥测情况,主要是其中数据丢失情况;

输出数据报表,根据配置将需要的数据形成报表输出,根据需要生成报表;

连接管理子系统,报告状态;

接收数据后有一层逻辑可以进行配置以实现自动解帧,实现从数据流中得到遥测包,然后根据配置基于ICD进行处理,这一层也可以使用外挂模块来完成,以配合过于复杂的接口;以及

在运行中,生成新的数据库来存储新数据,实现部分数据的丢弃,处理等等,以配合测试过程,或者存储空间不够,需要从网络上增加存储空间的情况;以及

所述数据分析模块1043与所述存储模块可通信地连接,用于按照配置文件进行数据库中数据的分析,检测其有效性,使用可定制的出错情况,来进行输入、输出错误的自动判别、原因分析以及记录和报警,其还可取得测试输入软件的指令记录,实现自动测试,进而实现指令测试用例分析,判定指令执行结果,以及其他参数越界等等,其主要功能包括:

基于数据ICD分析数据,通过界面调用,查看,编辑数据ICD;

通过界面管理分析配置文件,修改分析模型配置;

进行测试数据分析和报警,通过分析模型,对于指令记录以及遥测数据进行自动分析,实现自动测试;

生成测试记录,包括指令输入,输出,报警,分析原因;

提供最新分析和逐步分析两种分析方式,前者为了适应数据同时更新的实时情况,避免分析速度不够的情况,后者是对数据库中的记录进行处理;以及

通过界面配置分析,并且可以尝试运算结果。

在本发明的一个实施例中,所述硬件操作中心子系统与所述测试子系统和/或所述星上数据处理子系统通过通用网络进行通信,以实现数据的收发。使用通用网络连接便于使得网络状态记录统一,也便于更换物理层,进而减少开发时间。在本发明的一个实施例在,使用DDS数据订阅与分发结构来完成,以增加对于数据连接情况的记录。

在本发明的又一个实施例中,各子系统采用通用日志及配置处理,以减少开发,且便于用户配置和理解,实现一个可以以EXCEL表方式显示的日志或者配置文件。同时可将日志进行记录和回放,每条日志为多个内容项的集合,包含时间,优先级等。

为了进行所述仿真测试系统的状态管理,查看所有子系统的运行情况,在本发明的一个实施例中,所述仿真测试系统还包括管理子系统105,其与所述硬件操作中心子系统、仿真子系统、测试子系统以及星上数据处理子系统通过网络可通信地连接,显示交互数据情况,使用心跳方式得知所有子系统的工作情况,实时监控各子系统的工作状态,其主要功能包括:

查看当前工作的子系统连接情况;

作为服务端,接收所有连接请求,接收按照周期发来的各子系统连接信息和心跳;

向外发送心跳,给各子系统一个连接的可靠性标志;

记录网络情况和系统工作情况,不用界面查看记录;

对单机进行少量控制;以及

对系统进行切换控制,实现所有配置文件库的管理和编辑,并通过网络发送配置文件形成不同系统。

为进行供电管理,在本发明的一个实施例中,所述仿真测试系统还包括供电管理子系统106,用于管理电源,其主要功能包括:

查看当前的电压电流情况,其仅显示电压电流以及简单分析,以及与电源的连接情况,以便于知道是否数据是新数据,连接中断会报警并且自动重新连接;

设定自动动作,用于自动保护,在异常时候进行断电操作;

设定初始状态,能够在断电前选择恢复初始状态,以将所有加电设备断电后再进行加电;以及

记录操作动作及状态,其中,记录采用触发方式,在变化平缓时候记录次数少,变化剧烈时候记录次数多,在有效范围外记录次数多,通过界面查看和删除清理记录。

为了实现配置型的数据通道的数据显示,在本发明的一个实施例中,所述仿真测试系统还包括显示子系统107,其与所述数据库可通信地连接,获取所有星上下行数据并且显示,可以从网络上或者数据库中订阅不同通道数据进行实时监察,其主要功能包括:

通过界面订阅不同数据,监控不同通道数据;

快速由ICD重新生成界面,可视化更改,保存为显示配置文件,无需专业操作,在接口变更时候能够快速适应变更;

连接数据库,显示星上数据,显示数据需要可以配置显示最近几次数据;

数据的连续性和显示的连续性可以查看并且统计,每次数据时间差别大于一定范围使得数据不连续性增加,每次最新数据与上次显示数据之间有数据使得显示不连续性增加;

依靠数据库数据回滚,单步;

实现基于ICD的简单搜索功能;

对于数据连续性能够由界面查看;

连接状态管理软件,报告状态;以及

在后期单独对ICD某一数据要求不同显示方式以观察,例如针对某个窗口查看其曲线图。

图3示出本发明一个实施例的一种卫星软件的仿真测试系统的数据流构成示意图。如图3所示,所述仿真测试系统的数据流主要包括,通过以太网,基于DDS协议,进行仿真数据流以及系统控制数据流的数据交互,其中,仿真数据流与1553、RS242等总线数据流以及温度量、模拟量、控制量等离散数据流进行交互;以及系统控制数据流包括状态监控及测试控制数据。图4示出本发明一个实施例的一种卫星软件的仿真测试系统的DDS协议数据分发示意图。所述仿真测试系统具体的数据流入表1所示。

整体而言,本发明提供的仿真测试子系统包括如下功能及优势:

在卫星项目初始阶段,根据单机接口文档,配置起多个简单的逻辑仿真终端,一个模型对应一台设备,以仿真卫星的不同单机,支持星务软件的开发;

当某一单机接口文档变更后,可以由用户简单修改配置该单机的逻辑仿真关系,以实现对单机的逻辑仿真,进行输入->状态->输出的处理,以快速适应变更,避免延误开发;

当单机到达后,可以用实际单机代替仿真模型,逐步构建实际系统;

在任何一个单机到来时,根据接口文档准备好测试用例,能够进行接口自动回归测试,在对接出现问题时进行接口回归测试,排除硬件问题,并且作为比对标准;

仿真单机会记录其本身状态变化到日志,其可以提供界面上查看,可以对数据进行数据回滚,便于分析测试结果,便于自动检查状态与遥测量之间的关系,所述界面基于仿真的数据定义自动生成;

根据输入的数据接口文档,自动形成显示界面,从数据库中获取数据并且显示,以实现回放和当前显示的功能;

在接口文档变更后,可以由用户简单地由接口文档重新生成界面;

根据数据接口文档,自动形成测试输入,满足快速构建一个前端进行测试的要求,测试输入还要能够管理配置自动测试用例库,以进行自动指令测试的输出;

对于不同阶段单机的自动测试,形成类似的自动测试库,用例可以以ICD指令形式编辑,改动参数,插入,删除,修改,拷贝;

自动检测到接口修改对于自动测试用例库的影响,搜索有变化的指令ICD,便于修改测试用例;

所有输入均有数据库记录,作为分析条件和自动测试用例,可列出和记录,根据要求形成报表,基于ICD要求数据,生成可用报表,支持测试记录和分析文档的编写;

在接口文档变更后,可以由用户简单地由接口文档重新生成测试输入;

需要根据配置的条件关系,执行指令和遥测量的检查,最终形成自动检查和监控,检查关系由用户逐步添加,按照输入->状态->输出来进行,最终形成报警的日志记录;

对于系统本身的运行状态详细记录,包括通道数据量,网络连接时间状态,数据库连接时间状态,以排除系统本身问题;

对于被测计算机进行到达时候,按照接口形成的测试用例库可以进行详细的接口测试和回归测试,在开发中也可以进行硬件回归测试,以排除硬件问题;

以网络为硬件平台,分布式分发数据,可以从文件中获取数据;

每个软件单元能够动态接入和挂出,能够动态更改配置;

以硬件通道为单位,配置其中数据格式和帧格式,以实现帧格式转化时候,能够不改变系统,以格式配置或者插入插件方式进行数据流解帧;

所有硬件通道数据均可以存储到数据库或者带时间因素的二进制文件,作为分析和报表的源数据,也可以作为仿真使用;

以ICD为核心,进行数据管理,存储格式为EXCEL,方便导入导出,以实现同样数据配置一次的作用,实现接口文档变更自动变更到界面的作用,提高接口文档的作用;

在一次改变代码后,选择测试用例形成一个自动测试用例库,自动回归测试,测试完成后,观察自动分析的记录,每个出错记录可以控制进行测试输入和观察前端的回滚,可以生成输入,指令,状态的报表,可以生成所有错误和警告的报表作为出错管理项;以及

配置以库形式存在,以实现不同系统快速切换要求。

基于所述仿真测试系统,图5示出本发明一个实施例的一种卫星软件的仿真测试方法的流程示意图。如图5所示,一种卫星软件的仿真测试方法,包括步骤:

首先,在步骤501,构建仿真模型。根据单机接口文档,通过仿真子系统配置逻辑仿真终端,构建多个仿真模型,其中,所述仿真模型与卫星的单机一一对应;

接下来,在步骤502,进行仿真测试。根据单机接口文档,通过测试子系统选取预设的测试用例,并自动形成测试输入,进行仿真测试,得到仿真测试输出;

接下来,在步骤503,逐步接入单机并测试。当任一单机到达后,采用实际单机代替相应的仿真模型,并通过测试子系统进行接口自动回归测试,得到回归测试输出;以及

最后,在步骤504,测试分析。通过数据分析模块,根据所述仿真测试输出以及回归测试输出进行结果分析,实现出错情况判别,记录和报警。

尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对其做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

相关技术
  • 一种卫星软件的仿真测试系统及方法
  • 一种面向软件定义卫星的可按需动态重构的软件测试系统和方法
技术分类

06120112966605