主要内容

本页采用了机器翻译。点击此处可查看英文原文。

正常模式和 SIL 模式下的背靠背测试状态

自 R2024a 起

度量 ID

slcomp.sil.B2BTestStatus

描述

背靠背测试度量用于模型与生成代码之间的转换验证。

该度量通过在每个时间步比较模型仿真的输出和在软件在环 (SIL) 模式下执行的代码的输出,返回每个测试的背靠背测试状态。该度量将正常模式和 SIL 模式测试运行与基线、等效性测试和仿真测试进行比较。

支持的工件

该度量收集工程中 Units 的度量结果。要控制仪表板将什么归类为单位,请参阅 将模型按层级结构分类为组件或单元

计算详细信息

分析范围

该度量仅分析单元测试。单元测试直接测试整个单元或单元中的较低级别元素,例如子系统。

比较

该度量比较正常模式和 SIL 模式结果的方式取决于测试类型:

等效性测试.  对于等效性测试,该度量使用 getComparisonResult 方法从测试中获取等效性数据比较结果,并确定背靠背测试状态。如果您指定了信号容差,则该度量会使用这些信号容差来确定结果之间差异的可接受容差。

基线测试和仿真测试.  对于基线测试和仿真测试,该度量使用仿真数据检查器函数 Simulink.sdi.compareRuns 来比较测试中记录信号的仿真输出,并确定背靠背测试状态。有关如何向测试添加已记录信号的信息,请参阅 在测试用例中捕获仿真数据 (Simulink Test)。比较检查信号数量、信号数据类型、信号时间步长和其他元数据是否存在不匹配。测试在正常模式下记录的每个输出都必须在 SIL 模式下记录一个匹配的输出,否则背靠背比较将失败。有关比较的更多信息,请参阅 Simulink.sdi.compareRuns仿真数据检查器如何比较数据

该度量根据信号的数据类型,指定函数 Simulink.sdi.compareRuns 的绝对容差 ('AbsTol') 和相对容差 ('RelTol') 值。如果您需要该度量在比较中考虑各个信号的容差,请改用等效性测试。

数据类型绝对容差相对容差
逻辑值00
整数00
定点00
枚举00
半精度
10*eps(half(0))
10*eps(half(1))
单精度
100*eps(single(0))
100*eps(single(1))
双精度
1000*eps(double(0))
1000*eps(double(1))

对于上面未列出的数据类型,绝对容差和相对容差均为 0。

收集

要收集此度量的数据,请执行度量引擎并使用度量 ID slcomp.sil.B2BTestStatusgetMetrics

metric_engine = metric.Engine;
execute(metric_engine,"slcomp.sil.B2BTestStatus");
results = getMetrics(metric_engine,"slcomp.sil.B2BTestStatus")

收集此度量的数据会加载模型文件和测试结果文件,并且需要 Simulink® Test™ 许可证。

结果

对于此度量,函数 getMetrics 为每个测试返回一个 metric.Result 实例。

metric.Result 的实例会返回 Value 作为以下输出之一:

  • 'Failed' - 正常模式和 SIL 模式测试运行的比较失败。有关该度量如何比较结果的信息,请参阅 计算详细信息

  • 'Passed' - 正常模式和 SIL 模式测试运行的比较通过。

  • 'Not run' - 该测试并非连续进行。如果测试缺少正常模式结果、SIL 模式结果或两者都缺少,则该度量认为该测试未运行。请确保在正常模式和 SIL 模式下都运行测试。对于等效性测试,请确保在同一次测试运行中,分别以正常模式和 SIL 模式运行测试。

要查看该度量用于确定背靠背测试状态的比较结果,请使用函数 metric.loadB2BResults

合规阈值

该度量没有预设阈值。

另请参阅

对象

函数

主题