Simulink设计验证程序:输入参数#1是无效的cvdata对象



我正试图在Matlab 2020a上对一个非常简单的Simulink模型进行一些测试。我通过使用测试管理器应用程序获得了测试结果,它允许我设置测试用例。我创建的函数非常简单,它只检查两个布尔值,并根据它们自己的值返回另一个布尔值。所以我没有在这里报告它。

我的程序如下:

来自Simulink测试管理器->新建测试文件->模型组件测试->导入顶部模型和零部件以创建线束->使用设计验证程序选项(与默认值相比的唯一变化是(1(测试生成->模型覆盖目标:MCDC;以及(2(报告->生成结果报告(和IMPORTING测试线束输入作为源->使用测试中的组件输出作为基线->将数据保存为Excel工作表。然后生成测试,一切正常。然后,我使用一个小python脚本来编辑Excel文件,生成一个结构如下的Oracle:

time   Var_A        Var_B       time       Out1:1
AbsTol:0
type:boolean type:boolean           Type:int8
Interp:zoh   Interp:zoh             Interp:zoh
0          0            1           0          0
0.4        1            1           0.4        1
0.8        0            0           0.8          TRUE

在这之后,我不得不让Simulink写一份PDF报告的项目。为此,我设置了以下选项:

从测试线束:输入->在测试结果中包含输入数据;在最后一个时间点停止模拟;基线标准->在测试结果中包含基线数据;覆盖范围设置->记录被测系统的覆盖范围;记录参考模型的覆盖范围;

从顶级测试文件夹:覆盖范围设置->记录被测系统的覆盖范围;记录参考模型的覆盖范围;覆盖指标:决策;条件MCDC;测试文件选项->执行结束时关闭所有打开的数字;执行后生成报告(带作者和文件路径(;包括Matlab版本;结果:所有测试;测试要求;标准和评估图;模拟元数据;错误日志和消息;覆盖率结果;文件格式PDF。

然后我让它跑了。测试经理告诉我一切都很好,但出于某种原因,每当它必须创建一个报告时,它就会给我一个错误:

X_component_test: Input argument #1 is an invalid cvdata object. CVDATA objects become invalid when their associated models are closed or modified

现在,我确信这在以前使用更复杂的组件时效果良好,但我不知道我在这里做错了什么。有人知道线索吗?

最终,解决方案比我想象的要简单得多。只需删除所有.cv文件,并清理项目文件夹中的所有测试文件或不必要的文件。当存在太多问题时,Matlab似乎会出现问题。此外,必须修改脚本以删除TRUE值并将其替换为1。

相关内容

  • 没有找到相关文章