主要内容

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

slvnvruntest

使用输入数据仿真模型

说明

outData = slvnvruntest(model, dataFile) 使用 model 中的所有测试用例来仿真 dataFileoutDataSimulink.SimulationOutput 对象的数组。每个数组元素包含相应测试用例的仿真输出数据。

outData = slvnvruntest(model, dataFile, runOpts) 使用 model 中的所有测试用例来仿真 dataFilerunOpts 定义了仿真测试用例的选项。

[outData, covData] = slvnvruntest(model, dataFile, runOpts) 使用 model 中的测试用例仿真 dataFile。当 runOpts 字段 coverageEnabledtrue 时,Simulink® Coverage™ 软件会在仿真过程中收集模型覆盖率信息。slvnvruntestcvdata 对象 covData 中返回覆盖率数据。

示例

示例

全部折叠

此示例显示如何分析模型的覆盖率并示例输出数据。

打开包含示例文件的目录。

openExample('simulink/ExamineMultipleReferencedModelInstancesExample')

分析 sldemo_mdlref_basic 模型并将输入信号记录到 CounterA 模型模块。

open_system('sldemo_mdlref_basic');
loggedData = slvnvlogsignals('sldemo_mdlref_basic/CounterA');

使用记录的信号,仿真 Counter 模块中引用的模型。

runOpts = slvnvruntestopts;
runOpts.coverageEnabled = true;
load_system('sldemo_mdlref_counter');
[outData] = slvnvruntest('sldemo_mdlref_counter',...
    loggedData, runOpts);

使用仿真数据检查器检查第一个测试用例的输出数据。

Simulink.sdi.createRun('Test Case 1 Output', 'namevalue',...
    {'output'}, {outData(1).find('logsout_slvnvruntest')});
Simulink.sdi.view;

输入参数

全部折叠

要仿真的 Simulink 模型。

包含输入数据的数据文件或结构体的名称。您可以使用 Simulink Design Verifier™ 软件生成 dataFile,或者通过运行 slvnvlogsignals 函数。

其字段指定 slvnvruntest 的配置的结构体。

字段描述

testIdx

dataFile 进行仿真的测试用例索引数组。如果 testIdx[]slvnvruntest 则仿真所有测试用例。

默认值[]

coverageEnabled

如果是 true,则指定 Simulink Coverage 软件在仿真中收集模型覆盖率数据。

默认值false

coverageSetting

cvtest 对象用于收集模型覆盖率。如果 []slvnvruntest 使用 model 的现有覆盖率设置。

默认值[]

fastRestart

如果 trueSimulink Coverage 使用快速重启模式进行模型仿真。

默认值true

useParallel

如果 trueSimulink Coverage 则使用并行计算仿真测试用例。此选项需要 Parallel Computing Toolbox™ 许可证。

默认值false

输出参量

全部折叠

每个 Simulink.SimulationOutput 对象都有以下字段。

字段名称描述

tout_slvnvruntest

仿真时间

xout_slvnvruntest

状态数据

yout_slvnvruntest

输出信号数据

logsout_slvnvruntest

信号记录数据:

  • 连接到输出端口的信号

  • 配置用于记录模型的信号

covdata 对象包含在仿真期间收集的模型覆盖率数据。

注意

covdata 可能引用包含覆盖率结果的文件。当覆盖率函数使用 covdata 时,引用文件的覆盖率数据会自动加载到内存中。该文件存储在 sldv_covoutput 文件夹内生成的 sldv_output 文件夹中。

提示

使用 Simulink Design Verifier 分析或运行 slvnvlogsignals 创建的 dataFile 包含时间值和数据值。当您使用这些测试用例仿真模型时,您可能会看到缺失覆盖率。当由于数值计算差异导致 dataFile 中的时间值与当前仿真时间步不一致时,就会出现此问题。在多速率模型(具有多个采样时间的模型)中,您会更频繁地看到此问题。

  • 对于 useParallel,使用并行计算仿真测试用例时必须考虑以下几点:

    • 启动并行池可能需要一些时间,这会影响整体分析时间。为了减少分析时间:

      • 在运行测试生成分析之前,请确保并行池已经在运行。默认情况下,并行池在空闲指定的分钟数后会关闭。要更改设置,请参阅指定并行设置 (Parallel Computing Toolbox)

      • 在所有并行池工作进程上加载 Simulink。

    • 仿真按以下顺序进行:

      • 该集群不是 local。配置并行预设项以仅使用 local 集群。请参阅指定并行设置 (Parallel Computing Toolbox)

      • 在启动 SLDV 分析之前,模型处于 dirty state 状态。

      • 该模型有 ToFile 模块。

      • 软件在环 (SIL)仿真模式下的模型。

      • 该模型是内部框架。

版本历史记录

在 R2010b 中推出

另请参阅

| | |