Main Content

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

sldvextract

将子系统或子图内容提取到新模型中进行分析

说明

newModel = sldvextract(subsystem) 提取原子子系统subsystem 的内容并创建一个模型供 Simulink® Design Verifier™ 软件分析。sldvextractnewModel 中返回新模型的名称。如果模型名称存在,sldvextract 将使用子系统名称作为模型名称,并在模型名称后附加一个数字。

示例

newModel = sldvextract(subchart) 提取原子子图 subchart 的内容并创建一个模型供 Simulink Design Verifier 软件分析。在 subchart 中指定原子子图的完整路径。如果模型名称存在,sldvextract 将使用子图名称作为模型名称,并在模型名称后附加一个数字。

注意

如果原子子图调用子图之外的导出图形函数,sldvextract 会创建模型,但新模型将不会编译。

示例

newModel = sldvextract(exportfcnmodel) 创建一个调度程序模型,该模型调用导出函数模型exportfcnmodel 以供 Simulink Design Verifier 分析。sldvextractnewModel 中返回新模型的名称。newModelexportfcnmodel模型名称和后缀 SldvScheduler 组成。如果模型名称已经存在,sldvextract 将使用 exportfcnmodel 作为模型名称,并在模型名称后附加一个数字。

示例

newModel = sldvextract(modelmissingslfunctiondef) 为模型modelmissingslfunctiondef 提取一个桩件模型,该模型缺少 Simulink 函数定义,以供 Simulink Design Verifier 分析。它返回 newModel 中新模型的名称。sldvextract 使用输入模型名称加上后缀 SldvStub 作为提取的模型名称,如果该模型名称已经存在,则在模型名称后附加数字。

如果将 showModel 设置为 true ,则 newModel = sldvextract(modelmissingslfunctiondef, showModel) 打开提取的模型。仅当 showModel 设置为 false 时,才会加载提取的模型。

示例

全部折叠

sldemo_mdlref_conversion模型中提取原子子系统Bus Counter 并将其复制到新模型。

openExample('sldemo_mdlref_conversion');
newmodel = sldvextract('sldemo_mdlref_conversion/Bus Counter', true);

sf_atomic_sensor_pair模型中提取原子子图 Sensor1 并将其复制到新模型。

openExample('sf_atomic_sensor_pair');
newmodel = sldvextract('sf_atomic_sensor_pair/RedundantSensors/Sensor1',...
		true);

此示例显示如何分析由周期性函数调用子系统组成的模型。此示例使用 AUTOSAR 示例模型sldvExportFunction_autosar_multirunnables

1.打开sldvExportFunction_autosar_multirunnables模型。

open_system('sldvExportFunction_autosar_multirunnables');

2.要运行测试生成分析,请在Design Verifier选项卡上点击生成测试

Simulink Design Verifier 结果摘要窗口表明已创建调度程序模型sldvExportFunction_autosar_multirunnables_SldvScheduler.slx。您还可以使用 sldvextract 生成调度程序模型。

create_scheduler_model.png

scheduler_model_harness.png

调度程序模型由 MATLAB ® 功能模块_SldvExportFcnScheduler 组成。由于模型由周期性函数调用子系统组成,因此函数调用被周期性地调用。

MATLAB ® 代码指定了周期性函数调用的执行顺序。Runnable1Runnable2 首先执行,因为它们的时间段都是 110 时间步之后,执行 Runnable3

scheduler_matlab_code.png

如果模型由非周期函数调用子系统组成,则调度程序由额外的输入端口 FcnTriggerPort 组成。FcnTriggerPort 的值表示是否在时间步中调用函数调用。

例如,如果 Runnable1 是一个非周期函数调用子系统,则 FcnTriggerPort Inport模块会调用调度程序模型。该图显示了“时序图例”窗口和非周期函数调用的调度程序模型。

scheduler_matlab_code_aperiodic.png

测试生成分析之后,在 Simulink Design Verifier 结果摘要窗口中,您会看到 7/7 目标的结果为 Satisfied

3.要仿真测试用例并生成覆盖率报告,点击“Simulink Design Verifier 结果摘要”窗口中的仿真测试并生成模型覆盖率报告。软件仿真测试用例,收集模型覆盖率信息,并显示覆盖率报告。

4.要查看详细的分析报告,点击“Simulink Design Verifier 结果摘要”窗口中的“HTML”。

分析信息一章中的导出函数分析计划部分列出了调用导出函数的计划。

multirunnables_modell_coverage_report.png

输入参数

全部折叠

原子子系统的完整路径,指定为字符向量或字符串标量。

Stateflow® 原子子图的完整路径,指定为字符向量或字符串标量。

导出函数模型的完整路径,指定为字符向量或字符串标量。

缺失的 Simulink 函数模型的完整路径,指定为字符向量或字符串标量。

是否显示提取的模型,指定为逻辑。

输出参量

全部折叠

新模型的名称,以字符向量形式返回。

版本历史记录

在 R2007a 中推出