主要内容

Simulink.SubSystem.convertToModelReference

将子系统转换为模型引用

描述

例子

Simulink.SubSystem.convertToModelReference (gcb UseConversionAdvisor,真的)打开模型参考转换顾问为选定的子系统块。

特遣部队h) = Simulink.SubSystem.convertToModelReference (中高模型将指定的子系统转换为引用的模型。

对于函数转换的每个子系统,它是:

  • 创建一个模型。

  • 将子系统的内容复制到新模型中。

  • 更新模型的任何根级输入和输出块以及配置参数,以匹配原始子系统的已编译属性。

  • 将原始模型的模型工作区的内容复制到新模型。

在使用此函数之前,加载包含子系统的模型。

例子

特遣部队h) = Simulink.SubSystem.convertToModelReference (中高模型名称,值使用一个或多个名称-值参数指定选项。

例子

全部折叠

打开f14模型。

open_system (“f14”);

f14模型,选择控制器子系统输出信号,单击测井信号

在仿真软件®编辑器,选择Controller子系统。打开模型参考转换顾问从命令窗口。

Simulink.SubSystem.convertToModelReference (gcb),“UseConversionAdvisor”,真正的);

使用advisor执行转换。

转换巴士柜台子系统到一个名为bus_counter_ref_model

open_system (“sldemo_mdlref_conversion”);Simulink.SubSystem.convertToModelReference (...“sldemo_mdlref_conversion /巴士柜台”...“bus_counter_ref_model”...“AutoFix”,真的,...“ReplaceSubsystem”,真的,...“CheckSimulationResults”,真正的);
成功将子系统块转换为模型块。

用一个命令转换两个子系统。

open_system (“f14”);set_param (gcs,“SaveOutput”“上”“SaveFormat”“数据集”);set_param (gcs,“SignalResolutionControl”“UseLocalSettings”);Simulink.SubSystem.convertToModelReference (...“f14 /控制器”“f14 /飞机动力学模型”},...“controller_ref_model”“aircraft_dynamics_ref_model”},...“ReplaceSubsystem”,真的,...“AutoFix”,真的,...“CheckSimulationResults”,真正的)

输入参数

全部折叠

子系统名称或句柄,指定为数字数组、字符向量、字符向量的单元格数组或字符串数组。

有关可以转换哪些子系统的信息,请参见有条件地执行引用模型

数据类型:|字符|字符串

引用模型名称,指定为字符向量、字符向量的单元格数组或字符串数组。每个型号名称必须少于59个字符。

如果指定要转换的多个子系统,请指定相同数量的引用模型名称。每个模型名称对应于指定的子系统,顺序相同。

数据类型:字符|字符串

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:Simulink.SubSystem.convertToModelReference……(engineModelRef engineSubsys ReplaceSubsystem,真的)

转换

全部折叠

选项来修复所有可自动修复的转换问题,指定为真正的

如果你设置AutoFix真正的,该函数修复了它可以修复的所有转换问题。对于函数无法修复的问题,转换过程将生成错误消息,您可以通过修改模型来解决这些问题。

请注意

如果你设置真正的,则该函数不会自动修复转换问题。

数据类型:逻辑

选项即使有错误也要完成转换,指定为真正的

如果真正的,该函数返回转换错误作为警告,并继续进行转换而不修复错误,即使您设置了AutoFix真正的.的选项允许您使用该函数执行转换的初始步骤,然后自己完成转换过程。

数据类型:逻辑

用于存储转换数据的文件名,指定为字符向量。可以指定绝对路径或相对路径。

您可以将转换数据保存在MAT文件(默认)或MATLAB中®文件。如果你使用.m该函数将所有变量序列化到MATLAB文件中。

默认情况下,该函数使用由模型名+组成的文件名_conversion_data.mat

数据类型:字符

模型接口

全部折叠

选项插入包装器子系统以保留模型布局,指定为真正的

当您将一个子系统转换为一个引用模型时,您可以让转换过程插入一个包装器子系统,以保留父模型的布局。子系统包装器包含模型阻止转换。

类时,转换将自动创建包装器子系统模型通过添加端口阻塞接口。

数据类型:逻辑

选项为接口定义创建总线对象,指定为真正的

与子系统不同,模型需要一个已定义的接口。要定义包含虚拟总线的接口,新模型必须使用以下选项之一:

默认情况下,转换不创建公共汽车对象。相反,转换使用在公共汽车元素而且公共汽车元素块来支持模型接口上的虚拟总线,新模型包含原始子系统。

当您将此参数设置为真正的,转换产生公共汽车对象的所有虚拟总线连接的轮廓尺寸而且外港不指定的块公共汽车对象。转换保持轮廓尺寸而且外港块,它们指定了新的公共汽车对象。

数据类型:逻辑

选项将代码映射从父模型复制到新模型,指定为真正的

如果真正的,该函数将现有的代码映射配置从父模型复制到新的引用模型。

如果,该函数不会将现有的代码映射配置从父模型复制到新模型。

数据类型:逻辑

模型实现

全部折叠

选项来代替子系统块与模型块,指定为真正的

如果将该值设置为真正的,考虑在转换子系统之前对原始模型进行备份。如果您想要撤消转换,那么有一个备份可以更容易地恢复模型。

如果你设置ReplaceSubsystem真正的,转换操作取决于是否使用自动修复选项。

  • 如果使用自动修复,则转换将替换子系统块和一个模型阻塞,除非自动修复程序更改了输入或输出端口。如果端口发生变化,则转换将子系统的内容包含在模型控件中插入的子系统块。

  • 如果不使用自动修复,则转换将替换子系统块和一个模型块。

数据类型:逻辑

模拟模式模型块,指定为“正常”“加速器”.模拟模式设置适用于模型引用转换创建的模型的块。

数据类型:字符|字符串

要生成的模型引用目标,指定为“Sim卡”“编码器”

  • “Sim卡”-模型参考仿真目标

  • “编码器”-代码生成目标

数据类型:字符

仿真结果对比

全部折叠

选项来检查转换前后的模拟结果,指定为真正的

在执行转换之前:

如果仿真结果之间的差异超过了容忍级别,该函数将显示一条消息。

数据类型:逻辑

用于比较的绝对信号公差,指定为数值标量。

仅在设置时使用此选项CheckSimulationResults真正的

数据类型:

用于比较的相对信号公差,指定为数值标量。

仅在设置时使用此选项CheckSimulationResults真正的

数据类型:

输出参数

全部折叠

结果为真或假,返回为10的数据类型逻辑

的值1表示转换成功。

如果你设置真正的,函数返回值为1如果转换完成。然而,仿真结果可能与转换前的模型的仿真结果不同。

创建的句柄模型块,作为数字数组返回。

数据类型:

提示

  • 您不能同时转换父子系统和子子系统。

  • 与单独转换每个子系统相比,用一个命令指定要转换的多个子系统可以节省时间。多子系统转换过程只编译一次模型。

  • 如果指定要转换的多个子系统,转换过程将尝试转换每个子系统。成功转换的子系统产生引用模型,即使其他子系统的转换失败。

  • 如果指定多个子系统,请考虑:

    • 在输入参数中,设置“Autofix”“ReplaceSubsystem”,“CheckSimulationResults”真正的

    • 在模型中,设置较短的仿真时间。

  • 数据字典保存它在转换过程中创建的总线对象,当这两个条件都存在时:

    • 顶层模型使用数据字典。

    • 保存对顶级模型的所有更改。

  • 要维护被屏蔽子系统的行为,执行以下附加任务:

    • 对于屏蔽回调、图标、端口和文档,在将其转换为引用模型之前,创建屏蔽子系统的备份副本。转换后,将内容从备份掩码子系统的掩码编辑器复制到新的掩码编辑器模型块。

    • 用模型参数替换掩码参数(参见参数化可重用引用模型的实例).

    请注意

    引用模型不支持通过掩码初始化代码来创建掩码参数的功能。

版本历史

介绍了R2006a

全部展开

Baidu
map