使用变型减速器减少变型模型
请注意
此功能需要Simulink的变体管理器万博1manbetx®.
一个模型可能包含几个不同的块,每个块都有许多不同的选择。一个不同的配置用于表示跨模型层次结构的这种变体选择的组合。例如,在一个有一个设备和一个控制器的系统中,一个线性控制器与内部植物,无噪音和一个带有外部低保真装置的非线性控制器表示系统的两种不同配置。
您可以使用变体管理器来创建和管理模型的变体配置。变体管理器将变体配置定义为一组变体控制变量及其值,这些变量和值可以激活模型层次结构中的特定变体。有关不同配置的更多信息,请参见不同的配置.有关Variant Manager的概述,请参见Simulink的变体管理器万博1manbetx.
变异减速机
您可以使用Variant Manager中的Variant Reducer工具来自动生成一个简化的、独立的模型,该模型只包含输入模型中的变体配置的子集。生成的模型称为减少模型.减少的模型保留了您从父变量模型中选择的变量配置。例如,您可以生成一个简化的模型,该模型表示产品线中的特定产品(单个配置简化),也可以生成一个对应产品线家族中的产品线的简化模型(多配置简化)。
还原过程中的步骤
Variant Reducer在还原过程中执行以下高级操作:
基于您选择保留在简化模型中的不同配置,删除不活跃的模型组件。
删除或修改模型组件,如块、变量参数对象、掩码、模型引用、子系统引用、库、依赖文件(如MAT或SLDD文件)以及输入模型中的变量。有关已修改或未减少的模型组件的信息,请参见变量减少的考虑和限制.
将减少的工件打包到用户指定的输出文件夹中。
生成减少过程的详细摘要,以帮助您分析这些更改。
减少模式和选项
Variant Reducer提供了不同的模式和选项,您可以在减少模型之前设置。
模式 | 目的 |
---|---|
减少模式 |
提供多种方法来指定要保留在简化模型中的配置。 您可以根据以下情况选择配置:
|
编译模式 |
作为简化过程的一部分,以模拟或代码生成模式编译输入模型。 |
选项 | 目的 |
---|---|
要排除的文件 |
排除Simuli万博1manbetxnk数据字典文件( |
输出文件夹 |
文件夹来放置简化的模型和工件 |
模型后缀 |
添加到简化模型和工件名称的后缀 |
保留信号属性 | 通过在简化模型中添加信号规范块,尝试在原始模型和简化模型之间保留已编译的信号属性。 |
开放简化模型 | 将当前工作文件夹更改为还原指定的输出文件夹,并打开还原模型。 |
生成详细的摘要 | 生成简化模型的详细摘要。这需要一个万博1manbetxSimulink Report Generator™许可证。 |
使用变量管理器减少变量模型
打开必须缩减的模型的变体管理器。这里,打开
slexVariantReducer
使用以下命令进行建模。目录(fullfile (matlabroot,“例子”,“万博1manbetxsimulink_variants”,“主要”));open_system (“slexVariantReducer”);
在建模选项卡,打开设计部分,单击变体经理.或者,右键单击模型中任何变体块上的变体徽章,然后选择在变体管理器中打开.
的变体管理器窗口
slexVariantReducer
模型。该模型有两个预定义的变体配置,命名为config1
(V==1 && w ==2
),config2
(V==2 && w ==2
).打开变异型减速机。在“变体管理器”工具条中的“应用程序”部分,单击变异减速机.
此图像显示了变体减速器窗口。
属性中指定减数的不同设置模式而且选项变种减速器工具条的部分。如果不修改,“Variant Reducer”将使用默认值进行减值。下面的步骤详细介绍了每个设置的目的。
选择一个减少模式选择:
当前变量控制值:根据全局工作空间中的变量控制变量值来缩减模型。如果模型没有任何预定义的命名配置,Variant Reducer默认使用这种模式。
指定不同的配置:缩减在与模型关联的变体配置数据对象中定义的命名配置的模型。
请注意
在这种模式下,Variant Reducer在全局工作空间中存储来自最后选择配置的变体控制变量值。
选项中选择所需的配置配置选项卡。
指定变量控制值:通过指定变量控制变量的值来缩减模型。您可以创建多个变量组,这些变量组对应于要保留在简化模型中的不同变量配置。在每个变量组中,必须指定变量控制变量和每个变量要考虑的值。
请注意
在这种模式下,简化的模型有一个新的变量配置数据对象,它包含指定的变量组。
如需添加新的变量组,请单击在变量组表格
在集团表,在值列时,可以为变量控制变量指定值或选择
全程
或忽略了
从名单上。变量控制值作为一个矢量-为指定值的所有组合减少模型。例如,如果指定值
V = 1
而且W = [1,2]
,然后对构型进行模型约简{V = = 1 W = = 1}
而且{V = = 1 W = = 2}
.全程
-为指定变量控制变量的所有有效值缩减模型。在的参考价值列中,您必须为模型已成功编译的变量输入一个参考值。忽略了
-在缩减模型时不考虑变量控制变量。
请注意
要使用全范围变量控制变量,必须设置变体激活时间在块参数对话框中,使用该变量控制变量的块
代码编译
.您最多可以在一个变体块中指定一个全范围的变体控制变量。
将变量控制变量的值指定为
全程
如果变量被模型可见的变量参数所使用,则不支持Du万博1manbetxring归约,即使该参数未在模型层次结构中使用。
为编译模式中,选择
sim卡
编译模型进行仿真或codegen
以代码生成模式编译模型,作为简化模型的一部分。的模型包含变量块变型控制方式参数设置为Sim码原交换
,您可以选择codegen
在简化模型中保留代码块的代码生成分支。对于默认值sim卡
, Variant Reducer编译并保留顶层模型中的仿真分支。选择保留信号属性在原始模型和简化模型之间保留编译后的信号属性。当选择此选项时,Variant Reducer试图通过在简化模型中适当的块端口上添加信号规范块,在原始模型和简化模型之间保留已编译的信号属性。编译后的信号属性包括信号数据类型、信号维度、编译后的采样次数。
选择生成详细的摘要在输出文件夹中生成Variant Reducer摘要报告。变异型减速器摘要包含了变异型减速器选项、原始和减少的模型差异、依赖工件、回调和警告的摘要。有关更多信息,请参见探索异型减速器总结.
请注意
要生成详细的摘要,必须使用万博1manbetxSimulink报表生成器许可证。
使用要排除的文件框来指定任何依赖的Simulink数据字典文件(万博1manbetx
* .sldd
)及mat档案(* .mat
)在MATLAB之外®在还原过程中要排除的根文件夹。值必须是字符向量的单元格数组。您可以指定目录的完整路径或必须跳过的特定文件。您还可以提供通配符,例如,
{' * .sldd '}
或{' topData.sldd '}
.为指定值模型后缀.模型后缀值被附加到简化模型、数据字典和相关工件的名称之后。缺省情况下,后缀为
_r
.在输出文件夹框,浏览或输入输出文件夹,在其中存储简化模型和相关工件。输出文件夹不能在
matlabroot
.默认情况下,减少的工件生成在一个名为reducedModel
在原始模型文件夹中。如果输出文件夹包含
variant_reducer.log
文件,然后Variant Reducer在任何后续的简化过程中覆盖该文件夹中所有可用的文件。选择开放简化模型将当前工作文件夹更改为输出文件夹并打开简化模型。
点击减少模型.
此图像显示了简化配置模型的结果
config1
与价值观V = 1
而且W = 2
.回到管理在“变体管理器”页签中,单击密切的减速机.
探索异型减速器总结
如果你设置生成详细的摘要选项,变体减速器生成一个详细的报告减量过程的HTML文件。报告保存在输出文件夹中,其中保存了减少的工件。
请注意
一个万博1manbetxSimulink报表生成器需要license来生成一个Variant Reducer摘要。
使用变型减速器总结:
验证用于缩减的输入和输出选项,例如,输入变量配置和输出文件夹位置。
分析原模型与简化模型之间的差异,例如:
已插入、删除或修改的块
已修改的掩码
已修改的依赖数据文件或Simulink缓存文件万博1manbetx
识别任何警告。
识别未减少的组件,并确定可能需要的手动更新,例如,回调代码和Stateflow®变体转换。
浏览原始模型和简化模型的交互视图。
以编程方式减少模型
若要以编程方式简化模型,请参见万博1manbetxSimulink.VariantManager.reduceModel
.
变量减少的考虑和限制
限制
不支持简化包含变体连接器块的模型。万博1manbetx
减少包含变量块的模型变体激活时间参数设置为
启动
不支持。万博1manbetx将变量控制变量的值指定为
全程
如果变量被模型可见的变量参数所使用,则不支持Du万博1manbetxring归约,即使该参数未在模型层次结构中使用。
减约后Simulink功能块的变量条件万博1manbetx
如果一个模型包含万博1manbetx仿真软件的功能对于该块上的任何可用变量条件或组合,则减少万博1manbetx仿真软件的功能简化模型中的块变成无条件的。
考虑一个包含万博1manbetx仿真软件的功能属性的值版本控制参数设置为V==1 || V==2 || V==3 || V==4
.
如果模型为变量控制值而减小
V = 1
,V = 2
,V = 3
,则万博1manbetx仿真软件的功能简化模型中的块是无条件的。如果模型为变量控制值而减小
V = 1
,V = 2
,V = 5
,则万博1manbetx仿真软件的功能的值作为条件版本控制参数设置为|| V==2
.
模型组件的修改
额外的块将自动添加到简化的模型中,以确保一致的模拟语义。其他块包括信号规范块的一致性信号属性(数据类型、维度、复杂性)或地面和《终结者》块用于未连接的信号。
对象的实例
万博1manbetx仿真软件。VariantVariable
类)减少。模型层次结构中的引用模型和库块被减少。
如果模型包含已解析的库链接,则对应的父节点将为指定的配置减少,并在模型中引用。
简化的模型使用一个mat文件保存,该文件包含已保存的变体配置。的过程中加载文件
PostLoadFcn
简化模型的回调。不同的子系统而且模型变体只有一个选择的块被转换为普通块子系统或模型块。
对于单输入,变异来源而且变体水槽如果块在所有指定配置中处于活动状态,则将被移除。
在模型缩减过程中,活动路径上的注释块被保留。在非活动路径上出现的注释块将被删除。
来自状态流程图中非活动元素的信号属性(如数据类型、复杂性或维度)可能不会保留在简化的模型中。
未缩减的模型组件
这些模型组件不会自动减少,可能需要人工干预。要识别这样的工件,请使用Variant Reducer总结报告。
回调代码:
回调函数如
InitFcn
,预加载
,PostLoad
掩码初始化代码、掩码参数回调代码需要手动修改。删除非活动的变体组件中的回调代码。此操作可能会导致简化模型中的意外行为。
在模型缩减期间,Stateflow画布中的元素(包括变体转换)不会被修改。
如果一个模型依赖于下面的文件
matlabroot
(万博1manbetx模型库,.m
文件,.mat
文件,或.sldd
文件),在模型还原过程中,文件不会被修改或复制到输出文件夹。MATLAB根下的库块没有被约简。
另请参阅
万博1manbetx仿真软件。VariantConfigurationData
|万博1manbetx仿真软件。VariantManager
|万博1manbetx仿真软件。VariantConfigurationAnalysis