主要内容

金宝appSimulink.SubSystem.convertToModelReference

将子系统转换为模型引用

描述

例子

金宝appSimulink.SubSystem.convertToModelReference (gcb UseConversionAdvisor,真的)打开模型参考转换顾问对于选中的子系统块。

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

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

  • 创建一个模型。

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

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

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

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

例子

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

例子

全部折叠

打开f14模型。

open_system (“f14”);

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

在Simuli金宝appnk中®编辑器,选择Controller子系统。打开模型参考转换顾问从命令窗口。

金宝appSimulink.SubSystem.convertToModelReference (gcb),“UseConversionAdvisor”,真正的);

使用advisor执行转换。

转换巴士柜台子系统的引用模型bus_counter_ref_model

open_system (“sldemo_mdlref_conversion”);金宝appSimulink.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”);金宝appSimulink.SubSystem.convertToModelReference (...“f14 /控制器”“f14/飞机动力学模型”},...“controller_ref_model”“aircraft_dynamics_ref_model”},...“ReplaceSubsystem”,真的,...“AutoFix”,真的,...“CheckSimulationResults”,真正的)

输入参数

全部折叠

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

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

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

引用模型名称,指定为字符向量、字符向量的单元数组或字符串数组。每个型号的名称不能超过59个字符。

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

数据类型:字符|字符串

名称-值参数

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

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:金宝appSimulink.SubSystem.convertToModelReference……(engineModelRef engineSubsys ReplaceSubsystem,真的)

转换

全部折叠

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

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

请注意

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

数据类型:逻辑

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

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

数据类型:逻辑

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

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

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

数据类型:字符

模型接口

全部折叠

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

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

如果转换修改了包装器子系统,则转换将自动创建包装器子系统模型通过添加端口来阻止接口。

数据类型:逻辑

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

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

默认情况下,转换不创建公共汽车对象。相反,转换使用总线元件输出母线元件块在模型接口上支持虚金宝app拟总线,并且新模型包含了原来的子系统。

当将该参数设置为真正的,转换产生公共汽车对象,用于连接到的所有虚拟总线轮廓尺寸外港未指定的块公共汽车对象。转换保持轮廓尺寸外港块,它们指定new公共汽车对象。

数据类型:逻辑

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

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

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

数据类型:逻辑

模型实现

全部折叠

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

如果将值设置为真正的,在转换子系统之前,请考虑对原始模型进行备份。如果您想要撤销转换,备份可以使恢复模型更容易。

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

  • 如果使用自动修复,则转换将替换子系统用a挡住模型阻塞,除非自动修复改变输入或输出端口。如果端口更改,则转换中包含子系统的内容模型块中插入的子系统块。

  • 如果不使用自动修复,则转换将替换子系统用a挡住模型块。

数据类型:逻辑

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

数据类型:字符|字符串

建模要生成的参考目标,指定为“Sim卡”“编码器”

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

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

数据类型:字符

仿真结果对比

全部折叠

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

在执行转换之前:

如果模拟结果之间的差异超过了允许范围,该功能将显示一条消息。

数据类型:逻辑

用于比较的绝对信号容忍度,以数字标量指定。

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

数据类型:

用于比较的相对信号容忍度,用数字标量指定。

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

数据类型:

输出参数

全部折叠

True或false结果,返回为10数据类型的逻辑

的值1表示转换成功。

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

的句柄模型块,作为数值数组返回。

数据类型:

提示

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

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

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

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

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

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

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

    • 最上面的模型使用数据字典。

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

  • 为了维护被屏蔽子系统的行为,执行这些额外的任务:

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

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

    请注意

    引用的模型不支持用掩码初始化代码创建掩码参数所能实金宝app现的功能。

版本历史

在R2006a中引入

全部展开

不建议从R2019a开始