主要内容

万博1manbetxSimulink.SubSystem.convertToModelReference

将子系统转换为模型引用

描述

例子

万博1manbetxSimulink.SubSystem.convertToModelReference (gcb UseConversionAdvisor,真的)打开模型引用转换顾问为选定的子系统堵塞。

[特遣部队H] = 万博1manbetxsimulink.subsystem.converttomodelreference(中高模型将指定子系统转换为引用的模型。

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

  • 创建模型。

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

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

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

在使用此功能之前,请加载包含子系统的模型。

例子

[特遣部队H] = 万博1manbetxsimulink.subsystem.converttomodelreference(中高模型名称,价值使用一个或多个名称-值对参数指定选项。

例子

全部收缩

打开F14模型。

Open_System(“f14”);

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

在Simuli万博1manbetxnk.®编辑器,选择控制器子系统。打开模型引用转换顾问从命令窗口。

万博1manbetxsimulink.subsystem.converttomodelreference(GCB,'USECONVERAVESADISOR',真正的);

使用建议器执行转换。

转换巴士柜台子系统以引用模型命名bus_counter_ref_model

Open_System('sldemo_mdlref_conversion');万博1manbetxSimulink.SubSystem.convertToModelReference (...'SLDEMO_MDLREF_CONVERSION / BUS COUNT'...'bus_counter_ref_model'...“AutoFix”,真的,...“ReplaceSubsystem”,真的,...'checksimulationResults',真正的);
###成功转换为模型块的子系统块。

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

Open_System(“f14”);set_param(gcs,“SaveOutput”'上''saplformat''dataset');set_param(gcs,“SignalResolutionControl”“UseLocalSettings”);万博1manbetxSimulink.SubSystem.convertToModelReference (...{'f14 / controller''F14 /飞机动力学模型'},...{'controller_ref_model''factor_dynamics_ref_model'},...“ReplaceSubsystem”,真的,...“AutoFix”,真的,...'checksimulationResults',真正的)

输入参数

全部收缩

子系统名称或处理,指定为数字阵列,字符向量,字符向量或字符串数​​组数组。

有关您可以转换的子系统的信息,请参阅修改条件执行的引用模型

数据类型:双倍的|char|字符串

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

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

数据类型:char|字符串

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是对应的值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:万博1manbetxsimulink.subsystem.converttomodelreference ...(engineModelRef engineSubsys ReplaceSubsystem,真的)

选项来修复可自动修复的所有转换问题,指定为逗号分隔的对,由“AutoFix”真正的错误的

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

笔记

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

数据类型:逻辑

即使使用错误,也可以选择转换,指定为逗号分隔对'力量'真正的错误的

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

数据类型:逻辑

选项要将父模型复制到新的转换模型的代码映射,指定为逗号分隔的配对“CopyCodeMappings”真正的错误的

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

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

数据类型:逻辑

在转换之前和之后检查仿真结果的选项,指定为逗号分隔对'checksimulationResults'真正的错误的

在执行转换之前:

  • 为模型中感兴趣的子系统输出信号启用信号日志记录。

  • 校验似状方法真正的

  • AbsoluteTolerance

  • 相对验证

  • 仿真范围采用原模型所采用的仿真方式。

如果仿真结果之间的差异超过公差级别,则该功能显示一条消息。

数据类型:逻辑

用于比较的绝对信号容差,指定为包括的逗号分隔对'absolutetolerance'和一个数字标量。

仅当您设置时使用此选项校验似状方法真正的

数据类型:双倍的

相对信号公差进行比较,指定为逗号分隔对组成'relativetolerance'和一个数字标量。

仅当您设置时使用此选项校验似状方法真正的

数据类型:双倍的

用于存储转换数据的文件名称,指定为逗号分隔的对,由'datafilename'和一个字符矢量。您可以指定绝对或相对路径。

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

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

数据类型:char

替换选项子系统块与模型块,指定为逗号分隔的对,由“ReplaceSubsystem”真正的错误的

如果设置为真正的,考虑在转换子系统之前进行原始模型的备份。如果要撤消转换,则具有备份使其更容易恢复模型。

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

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

  • 如果不使用自动修复,则转换将替换子系统块与A.模型堵塞。

数据类型:逻辑

选项,插入包装器子系统以保持模型布局,指定为逗号分隔的对,由'createwrappersubsystem'真正的错误的

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

如果转换修改了模型通过添加端口阻塞接口。

数据类型:逻辑

仿真模式模型块,指定为逗号分隔的对,由'仿真范围''普通的''加速器'。仿真模式设置适用于模型引用转换创建的模型的块。

数据类型:char

模型引用目标要生成,指定为逗号分隔对组成'buildtarget''sim''编码器'

  • 'sim'- 模型参考仿真目标

  • '编码器'- 代码生成目标

数据类型:char

输出参数

全部收缩

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

价值1指示转换成功。

如果你设置真正的,函数返回一个值1如果转换完成。然而,模拟结果可以在转换之前与模型的模拟结果不同。

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

数据类型:双倍的

尖端

  • 您无法同时转换父子系统和该子系统的子系统的子系统。

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

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

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

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

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

  • 数据字典保存其作为转换过程的一部分存在的总线对象存在:

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

    • 所有对top模型的更改都会被保存。

  • 要保持屏蔽子系统的行为,请执行以下额外的任务:

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

    • 用模型参数替换屏蔽参数(参见参数化可重用引用模型的实例)。

    笔记

    引用的模型不支持使用掩码初始化代码可以实现屏蔽参数万博1manbetx的功能。

兼容性的考虑

展开全部

不建议从R2019a开始

在R2006A介绍