含变种块降低模型

注意

你需要一个万博1manbetx®设计验证器™减少模型的许可。

变体模型可以包含多个可变结构和单一固定结构。变结构和固定结构创建模型的组合取决于您选择的变体的选择不同的组合。所述变体的选择的每一种组合可以被存储为一种变型结构。

根据所选择的变体配置,可以将变体模型简化为独立的模型。此外,所有相关的文件和变量依赖性也减少了。这些简化的工件被打包到用户指定的输出文件夹中。

注意

包含子系统的参考块不能被减少。

考虑模型变异减速。该模型包含一个变异来源块,变体水槽块,不同的子系统块与这些不同的选择:

  • 变异来源V == 1V 2 ==

  • 变体水槽W = = 1W = = 2,W = = 3

  • 不同的子系统V == 1V 2 ==

假设模型有两个预定义的变量配置,分别命名为config1V == 1 && w ^ == 2),config2V == 2 &&W¯¯== 2)。这些配置保存在一个变型的配置数据对象,varConfig

若要缩小模型,请执行以下步骤:

  1. 右键单击变体标记,然后选择打开变式管理。变量管理器打开,显示预定义的配置。

  2. 请点击减少模型。“变体减速机”对话框打开。

  3. 减少模式部分中,选择:

    • 当前变量控制值:基于在全局工作区其变体控制变量值减少模型。

    • 指定不同的配置:为了减少与变体的配置数据对象和配置在减小模型被保留相关联的模型。

      注意

      在还原期间,从上次选择的配置中的控制变量值存储在全局工作区。

    • 指定变量控制值:根据控制变量值的不同,对模型进行约简。您可以创建多个对应于不同配置的变量组。请点击新变量组设置为变异控制变量的值。您可以指定一个变种控制值或选择全系列忽略了从下拉列表。将变量控制值指定为向量也允许您为该变量的所有组合简化模型。例如,如果您指定值V = 1W = [1, 2],然后对构型进行简化{V = = 1 W = = 1}{V = = 1 W = = 2}。如果您选择全系列作为变量控制值,参考值激活列以输入成功编译模型所需的参考值。对于指定的变量控制变量的所有有效值,简化了模型。如果您选择忽略了作为一个变控制值,则该变控制变量在简化模型时不被考虑。

      注意

      要使用的全范围的变体的控制变量,分析更新图期间的所有选择,并生成有条件的预处理程序选项必须在使用该变量控制变量的块的块参数对话框中选择。

    注意

    如果调用通过指定可变基团的变体减少,减少的模型将具有对应于与其相关联的可变基团变体配置。这将覆盖任何现有的变体的配置存在于原来的模型。

  4. 选择保持信号的属性保留原始和简化模型之间的编译信号的属性。当选择此选项时,变体减速尝试通过在减小的模型在相应的块的端口的加法信号规范块保留原始和降低的模型之间的编译信号属性。编译信号的属性包括信号的数据类型,信号维度的,编译的采样时间,依此类推。

  5. 选择生成详细的总结以产生在输出文件夹的变型减速器摘要。该变异减速摘要包含的汇总变异减速机的选择原始的和简化的模型差异相关伪像回调警告

    详细的摘要可用于获得原始模型和简化模型之间的可跟踪性信息。它还有助于识别无法自动处理且需要手动干预的工件。例如,可能需要修改的回调代码。

    注意

    要生成详细的摘要,您必须有万博1manbetxSimulink的报告生成器执照。

  6. 指定一个值作为后缀模型后缀领域。该模型后缀值被附加到减小的模型,数据字典和相关的伪影。默认情况下,_r是后缀。

  7. 指定输出文件夹来存储简化模型。

    注意

    选择打开简化模型复选框将当前工作文件夹更改为输出文件夹。

  8. 请点击减少。现在已经创建了所需配置的简化模型。如果模型包含已解析的库链接或引用的模型,则针对指定的配置减少相应的父类,并在模型中引用。简化模型、简化引用模型和简化库的名称来自相应的模型、引用模型或具有的库_r模型后缀)。

考虑一个包含a的变量模型万博1manbetxSimulink的功能上具有不同条件的块万博1manbetxSimulink的功能块作为V V = = 1 | | = = 2|| V==3 || V==4。如果对任何可用的变体条件或其组合简化模型,则万博1manbetxSimulink的功能约简模型中的块是无条件的。例如,如果模型因条件不同而简化,V = 1,V = 2,V = 3中,万博1manbetxSimulink的功能约简模型中的块是无条件的。然而,如果模型降低了变异的条件,V = 1,V = 2,V = 5中,万博1manbetxSimulink的功能块保留条件V V = = 1 | | = = 2作为变体的条件。

减少模型编程

要以编程方式减少模型,请使用以下语法:

万博1manbetxSimulink.VariantManager.reduceModel(模型中,<名称>,<价值>)

例如,

  • 为了减少基于全球工作区的变异控制变量值的模型。

    万博1manbetxSimulink.VariantManager.reduceModel( 'sldemo_variant_subsystems')
  • 在全局工作区是根据它的变体控制变量值的模型减少到指定的文件夹中。

    万博1manbetxSimulink.VariantManager。reduceModel('sldemo_variant_subsystems', 'OutputFolder', 'outdir')
  • 要简化与变体配置数据对象关联的模型,并将配置保留在简化的模型中。

    万博1manbetxSimulink.VariantManager.reduceModel( 'sldemo_variant_subsystems', 'NamedConfigurations',{ 'LinInterStd', 'NonLinExterHighFid'})
  • 通过以变量控制变量结构的形式指定配置来简化模型。

    万博1manbetxSimulink.VariantManager。reduceModel('iv_model', 'VariableConfigurations', {'V',1,'W',[1 2]})

    这里,指定了两个配置{V = 1, W = 1}{V = 1,W = 2}, 分别。

  • 要通过指定变体控制值减小模型,其中'w ^'是一个全范围变体控制值。

    万博1manbetxSimulink.VariantManager.reduceModel( 'slexVariantReducer', 'VariableConfigurations',{ 'V',1}, 'FullRangeVariables',{ 'W',1});

    这里,四个配置计算对应于{V==1, W==1}, {V==1, W==2}, {V==1, W==3}{V = = 1 W = = 0}分别。

有关以编程方式减少模型的更多信息,请参见reduceModel

注意事项和限制

  • 输出文件夹来存储简化模型不能是下matlabroot

  • 如果一个模型依赖于位于它下面的文件matlabroot,这些文件不被修改或减小模型中复制到输出文件夹。文件相关性可以包括在Simulink库中的文件,万博1manbetx。m文件,。垫文件,.sldd文件。

  • 如果输出文件夹中包含variant_reducer.log从以前的型号减少文件,减速将覆盖所有在输出任何后续减少可用的文件。

  • 回调代码:

    • 模型回调,掩模初始化代码和掩码参数回调代码必须被手动修改。

    • InitFcn、MaskEval、PreLoad、PostLoad以及来自不同非活动组件(模型、块、信号等)的任何编辑时回调代码都将被删除。这可能会在简化模型中导致意外的行为。

  • 附加块被自动添加到简化模型,以确保一致的仿真语义。附加块可以包括信号规范块,用于一致的信号属性(数据类型、维数、复杂度)或地面《终结者》阻塞未连接的信号。

  • 在模型约简过程中,活动路径上的注释块被保留,而非活动路径上的注释块被删除。

相关的例子

更多关于