主要内容

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

slvnvextract

将原子子系统或子图内容提取到新模型中

说明

newModel = slvnvextract(subcomponent) 提取原子 Subsystem 模块或原子子图 subcomponent 的内容并创建一个模型。slvnvextractnewModel 中返回新模型的名称。如果模型名称已经存在,slvnvextract 将使用子系统或子图名称作为模型名称,并在模型名称后附加数字。

注意

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

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

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

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

示例

全部折叠

此示例展示如何从模型中提取原子子系统并使用 slvnvextract 将其复制到新模型。

加载 sldemo_lct_bus 模型。

modelName = 'slcoverage_lct_bus';
load_system(modelName);
load slcoverage_lct_data.mat

slcoverage_lct_bus 模型有一个 S-Function。使用 legacy_code 构建 S-Function。

def = legacy_code('initialize');
def.SFunctionName = 'slcoverage_sfun_counterbus';
def.OutputFcnSpec = ...
    ['void counterbusFcn(COUNTERBUS u1[1], '...
    'int32 u2, COUNTERBUS y1[1], int32 y2[1])'];
def.HeaderFiles   = {'counterbus.h'};
def.SourceFiles   = {'counterbus.c'};
def.Options.supportCoverage = true;
legacy_code('generate_for_sim', def);
### Start Compiling slcoverage_sfun_counterbus
mex -I/tmp/Bdoc25a_2864802_2299340/tpc2c76115/slcoverage-ex66778043 -c /tmp/Bdoc25a_2864802_2299340/tp24bed5ad_9a27_458c_9e46_4f274297c0be/counterbus.c -outdir /tmp/Bdoc25a_2864802_2299340/tpdecf8163_ac0a_481d_80c9_5a859ec8a519
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc25a_2864802_2299340/tpc2c76115/slcoverage-ex66778043 /tmp/Bdoc25a_2864802_2299340/tp24bed5ad_9a27_458c_9e46_4f274297c0be/tpe80c9f42_a35c_4afe_9a49_7639418b7561.c /tmp/Bdoc25a_2864802_2299340/tpdecf8163_ac0a_481d_80c9_5a859ec8a519/counterbus.o -L/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc25a_2864802_2299340/tpc2c76115/slcoverage-ex66778043 -c /tmp/Bdoc25a_2864802_2299340/tpc2c76115/slcoverage-ex66778043/counterbus.c -outdir /tmp/Bdoc25a_2864802_2299340/tpdecf8163_ac0a_481d_80c9_5a859ec8a519
Building with 'gcc'.
MEX completed successfully.
mex -I/tmp/Bdoc25a_2864802_2299340/tpc2c76115/slcoverage-ex66778043 /tmp/Bdoc25a_2864802_2299340/tp24bed5ad_9a27_458c_9e46_4f274297c0be/slcoverage_sfun_counterbus.c /tmp/Bdoc25a_2864802_2299340/tp24bed5ad_9a27_458c_9e46_4f274297c0be/tp11b4a24e_2d0b_4700_8dcf_541f1ed15054.c /tmp/Bdoc25a_2864802_2299340/tp24bed5ad_9a27_458c_9e46_4f274297c0be/tp7fb7eada_e77d_4329_b0b5_1cde0d164f20.c /tmp/Bdoc25a_2864802_2299340/tpdecf8163_ac0a_481d_80c9_5a859ec8a519/counterbus.o -L/mathworks/devel/bat/filer/batfs2566-0/Bdoc25a.2864802/build/runnable/matlab/bin/glnxa64 -lmwsl_sfcn_cov_bridge -output slcoverage_sfun_counterbus
Building with 'gcc'.
MEX completed successfully.
### Finish Compiling slcoverage_sfun_counterbus
### Exit

从模型中提取 slCounter 子系统并将其复制到新模型。

newModel = slvnvextract([modelName,'/slCounter'],true)
newModel =

    'slCounter'

此示例显示如何从模型中提取原子 Stateflow® 图并使用 slvnvextract 将其复制到新模型。

加载 slvnvdemo_covfilt 模型。

modelName = 'slvnvdemo_covfilt';
load_system(modelName);

从模型中提取模式逻辑原子子图并将其复制到新模型中。

newModel = slvnvextract([modelName,'/Mode Logic'],true)
newModel =

    'ModeLogic'

输入参数

全部折叠

提取内容的原子子系统或原子子图的完整路径。

指定是否要显示提取的模型。

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

输出参量

全部折叠

报告由 slvnvextract 创建的新提取模型的名称。

版本历史记录

在 R2010b 中推出