一种动态系统仿真的子模型测试装置和方法与流程

文档序号:12122245阅读:199来源:国知局
一种动态系统仿真的子模型测试装置和方法与流程

本发明涉及建模仿真技术领域,更具体地,涉及一种动态系统仿真的子模型测试装置和方法。



背景技术:

MATLAB(矩阵实验室)主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案

Simulink(动态系统仿真)是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

目前基于MATLAB的开发都要等到整个功能模块或整个系统的开发完成后,才可以进行单体测试以及基于功能的合体测试。然后,再将代码烧到板子里,测试系统功能,或者在个人电脑(PC)端编写测试用例进行单体测试。

然而,等待功能模块完成或者系统完成才执行测试,容易产生许多程序臭虫(bug)并且不容易定位。



技术实现要素:

本发明的目的是提出一种动态系统仿真的子模型测试装置和方法,可以在开发过程中对子功能进行及时的测试。

一种动态系统仿真的子模型测试装置,包括:

测试框架模型建立模块,用于建立测试框架模型,所述测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,所述输出接口继承前一级变量类型;

加载模块,用于将待测子模型加载到测试框架模型中以生成测试模型;

配置模块,用于配置测试模型的测试环境;

输入数据设置模块,用于为测试模型设置输入数据;

显示模块,用于显示所述测试模型的输出值。

在一个实施方式中,

所述待测子模型的数据类型是预先配置的,所述数据类型转换模块用于将所述输入数据的数据类型转换为所述预先确定的数据类型;或

所述待测子模型的数据类型不是预先配置的,所述数据类型转换模块用于接收用户配置的数据类型,并将所述输入数据的数据类型转换为所述用户配置的数据类型。

在一个实施方式中,

所述配置模块,用于执行下列配置测试环境操作:

根据待测试模型的调度周期设置仿真步长;

根据待测模型的调度周期及功能范围设置仿真时长;

设置检测警告类型;

设置数据记录及存储信息;

设置覆盖率测试报告生成信息。

在一个实施方式中,

输入数据设置模块,用于以常数模块设置定值的输入数据,或以信号产生器模块设置曲线的输入数据。

在一个实施方式中,加载模块,用于:

当待测试子模型的加载数据嵌入在待测试子模型中时,将待测试子模型嵌入到测试框架模型,或

当待测试子模型拥有单独的数据文件时,将数据文件加载至数据空间。

一种动态系统仿真的子模型测试方法,包括:

建立测试框架模型,所述测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,所述输出接口继承前一级变量类型;

将待测子模型加载到测试框架模型中以生成测试模型;

配置测试模型的测试环境;

为测试模型设置输入数据;

显示所述测试模型的输出值。

在一个实施方式中,所述待测子模型的数据类型是预先配置的,所述数据类型转换模块将所述输入数据的数据类型转换为所述预先确定的数据类型;或

所述待测子模型的数据类型不是预先配置的,所述数据类型转换模块接收用户配置的数据类型,并将所述输入数据的数据类型转换为所述用户配置的数据类型。

在一个实施方式中,配置测试模型的测试环境包括::

根据待测试模型的调度周期设置仿真步长;

根据待测模型的调度周期及功能范围设置仿真时长;

设置检测警告类型;

设置数据记录及存储信息;

设置覆盖率测试报告生成信息。

在一个实施方式中,所述设置输入数据包括:以常数模块设置定值的输入数据,或以信号产生器模块设置曲线的输入数据。

在一个实施方式中,所述将待测子模型加载到测试框架模型包括:

当待测试子模型的加载数据嵌入在待测试子模型中时,将待测试子模型嵌入到测试框架模型,或

当待测试子模型拥有单独的数据文件时,将数据文件加载至数据空间。

从上述技术方案可以看出,本发明实施方式的测试装置包括:测试框架模型建立模块,用于建立测试框架模型,测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,输出接口继承前一级变量类型;加载模块,用于将待测子模型加载到测试框架模型中以生成测试模型;配置模块,用于配置测试模型的测试环境;输入数据设置模块,用于为测试模型设置输入数据;显示模块,用于显示测试模型的输出值。可见,本发明实施方式基于建立包含数据类型转换模块的测试框架模型及在其中加载待测子模型,可以适用于任意类型的子模型接口对接及测试,可以在开发过程中对子模型进行测试,而不需要等待功能模块完成或者系统完成才执行测试,从而可以减少bug并且容易定位。

而且,无论待测子模型的输入数据类型是预先配置好的,还是没有被预先配置好的,本发明实施方式都可以基于数据类型转换模块实现适配的类型转换。

附图说明

以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。

图1为根据本发明实施方式的子模型测试装置的结构图。

图2根据本发明实施方式的子模型数据类型处理示意图。

图3为根据本发明实施方式的子模型测试方法流程图。

具体实施方式

为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。

为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。

本发明实施方式提出一种可以在开发过程中对任意子模块进行及时测试的技术方案。

图1为根据本发明实施方式的子模型测试装置的结构图。

如图1所示,该装置100包括:

测试框架模型建立模块101,用于建立测试框架模型,测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,输出接口继承前一级变量类型;

加载模块102,用于将待测子模型加载到测试框架模型中以生成测试模型;

配置模块103,用于配置测试模型的测试环境;

输入数据设置模块104,用于为测试模型设置输入数据;

显示模块105,用于显示所述测试模型的输出值。

首先,测试框架模型建立模块101基于Simulink搭建一个通用版的测试框架模型,并对这个测试框架模型的输入及输出进行设置,保证此框架模型能够适用于任意待测子模型的接口对接。具体地,需要进行的设置包括:将输入接口常量的数据类型定义为双精度(double),从而保证输入值的高精度,输入接口后接数据类型转换(Data Type Conversion)模块,从而为任意待测子模型提供可变的数据类型接口。输出接口全部采用继承前一级变量类型的方式,保证输出值与模型内的值的一致性。

在一个实施方式中,待测子模型的数据类型是预先配置的,数据类型转换模块用于将输入数据的数据类型转换为所述预先确定的数据类型。

比如,假定待测子模型输入数据类型预先配置为8位无符号整型(unit8),数据类型转换模块将输入数据的数据类型(双精度型)转换为8位无符号整型,并将转换为8位无符号整型的输入数据提供到待测子模型。

再比如,假定待测子模型输入数据类型预定为布尔型(boolean),数据类型转换模块将输入数据的数据类型(双精度型)转换为8位无符号整型,并将转换为8位无符号整型的输入数据提供到待测子模型。

在这种实施方式中,待测子模型的输入数据类型预先配置好,而且数据类型转换模块自动地将输入数据的数据类型转换为待测子模型输入数据类型。

在一个实施方式中,待测子模型的数据类型不是预先配置的,数据类型转换模块接收用户配置的数据类型,并将输入数据的数据类型转换为用户配置的数据类型。

比如,假定待测子模型输入数据类型并没有被预先配置,数据类型转换模块接收到的用户配置数据类型为布尔型,则数据类型转换模块将输入数据的数据类型(双精度型)转换为布尔型,并将转换为布尔型的输入数据提供到待测子模型。

再比如,假定待测子模型输入数据类型并没有被预先配置,数据类型转换模块接收到的用户配置数据类型为8位无符号整型,则数据类型转换模块将输入数据的数据类型(双精度型)转换为8位无符号整型,并将转换为8位无符号整型的输入数据提供到待测子模型。

在这种实施方式中,待测子模型的输入数据类型并没有被预先配置好,数据类型转换模块基于用户所提供的配置数据类型,将输入数据的数据类型转换为待测子模型输入数据类型。

可见,无论待测子模型的输入数据类型是预先配置好的,还是没有被预先配置好的,本发明实施方式都可以基于数据类型转换模块实现适配的类型转换。

在一个实施方式中,加载模块102,用于:

当待测试子模型的加载数据嵌入在待测试子模型中时,将待测试子模型嵌入到测试框架模型,或

当待测试子模型拥有单独的数据文件时,将数据文件加载至数据空间。

向已搭建好的测试框架模型内加载待测试子模型,主要包括接口对接及数据加载。对测试框架模型预留的输入输出接口类型进行配置,使得与待测试的子模型的接口相匹配。待测试子模型的数据加载要根据该模型的不同类型进行不同处理,若待测试子模型的数据嵌入在模型中,则只需要将待测试子模型嵌入到测试框架即可;若待测试子模型拥有单独的数据文件,则需要将数据文件加载至Simulink的数据空间内,否则将无法进行测试。

将待测子模型加载到测试框架模型后的模型称为测试模型。配置模块103配置测试模型的测试环境。

在一个实施方式中,配置模块103,用于执行下列配置测试环境操作:

根据待测试模型的调度周期设置仿真步长;根据待测模型的调度周期及功能范围设置仿真时长;设置检测警告类型;设置数据记录及存储信息;设置覆盖率测试报告生成信息,等等。

以上详细描述了配置测试环境的具体实例,本领域技术人员可以意识到,这种描述近似示范性的,并不用于限定本发明实施方式的保护范围。

在一个实施方式中,输入数据设置模块,用于以常数模块设置定值的输入数据,或以信号产生器模块设置曲线的输入数据。

对于测试模型,需要指定输入值。输入值包括定值输入及曲线输入,以常数模块输入定值信息,以信号产生器(Signal Builder)模块实现曲线输入。对于Signal Builder曲线需要对应的输入信息数据,按照Signal Builder的识别方式做出Excel的数据库,导入至SignalBuilder生成曲线信息,用以输入给待测模型。

当测试模型被指定输入值后,Simulink即可基于配置模块103配置的测试环境对测试模型(加载有待测子模型)执行具体的仿真测试,并获取测试模型的输出值。

显示模块105显示测试模型的输出值。对于测试模型,可以利用显示模块105对不同的输入信息得到的输出结果进行监测及显示。显示模块105通过Display模块实现定值输入得到的定值输出监测及显示,通过示波器实现曲线输入得到的输出信息监测及显示。其中,使用Display模块监测输出值时,需要配置显示值的类型及长度;使用示波器监测输出值时,需要配置采样点数量及时长,设置数据存储信息及示波器波形范围,针对于曲线输入测试,使用覆盖率检测功能生成报告,量化测试输入覆盖范围。

基于图1所示装置结构,可以对任意的子模块执行单体测试。当确定每个子模块的功能性都正确后,还可以利用图1所示装置结构执行合体测试。

图2根据本发明实施方式的子模型数据类型处理示意图。

如图2所示,待测子模型加载到测试框架模型中以生成测试模型。定值输入或曲线输入的输入数据均为双精度类型,被提供到测试模型的输入接口中。输入接口连接的数据类型转换模块将输入数据适配为待测子模型的数据类型,并且将转换后的输入数据提供到待测子模型。基于测试模型的测试环境,待测子模型执行仿真测试,而且输出数据被提供到显示模块。

基于上述描述,本发明实施方式还提出了一种动态系统仿真的子模型测试方法。

图3为根据本发明实施方式的子模型测试方法流程图。

如图3所示,该方法包括:

步骤301:建立测试框架模型,所述测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,所述输出接口继承前一级变量类型。

步骤302:将待测子模型加载到测试框架模型中以生成测试模型。

步骤303:配置测试模型的测试环境。

步骤304:为测试模型设置输入数据。

步骤305:显示测试模型的输出值。

在一个实施方式中,待测子模型的数据类型是预先配置的,数据类型转换模块将所述输入数据的数据类型转换为所述预先确定的数据类型;或

待测子模型的数据类型不是预先配置的,数据类型转换模块接收用户配置的数据类型,并将输入数据的数据类型转换为用户配置的数据类型。

在一个实施方式中,待配置测试模型的测试环境包括::

根据待测试模型的调度周期设置仿真步长;

根据待测模型的调度周期及功能范围设置仿真时长;

设置检测警告类型;

设置数据记录及存储信息;

设置覆盖率测试报告生成信息。

在一个实施方式中,设置输入数据包括:以常数模块设置定值的输入数据,或以信号产生器模块设置曲线的输入数据。

在一个实施方式中,将待测子模型加载到测试框架模型包括:

当待测试子模型的加载数据嵌入在待测试子模型中时,将待测试子模型嵌入到测试框架模型,或

当待测试子模型拥有单独的数据文件时,将数据文件加载至数据空间。

综上所述,本发明实施方式的测试装置包括:测试框架模型建立模块,用于建立测试框架模型,测试框架模型包含输入接口和输出接口,其中输入接口的常量数据类型为双精度,输入接口还连接用于为待测子模型提供可变数据类型的数据类型转换模块,输出接口继承前一级变量类型;加载模块,用于将待测子模型加载到测试框架模型中以生成测试模型;配置模块,用于配置测试模型的测试环境;输入数据设置模块,用于为测试模型设置输入数据;显示模块,用于显示测试模型的输出值。可见,本发明实施方式基于建立包含数据类型转换模块的测试框架模型及在其中加载待测子模型,可以适用于任意类型的子模型接口对接及测试,可以在开发过程中对子模型进行测试,而不需要等待功能模块完成或者系统完成才执行测试,从而可以减少bug并且容易定位。

而且,无论待测子模型的输入数据类型是预先配置好的,还是没有被预先配置好的,本发明实施方式都可以基于数据类型转换模块实现适配的类型转换。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,而并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方案或变更,如特征的组合、分割或重复,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1