主要内容

使用变型减速器减少变型模型

请注意

此功能需要Simulink的变体管理器金宝app®

一个模型可能包含几个变体块,每个块都有许多变体选择。一个不同的配置用于表示跨模型层次结构的这些变体选择的组合。例如,在一个有设备和控制器的系统中具有无噪声的内部植物的线性控制器和一个带有外部低保真对象的非线性控制器表示系统的两种不同配置。

您可以使用Variant Manager来创建和管理模型的变体配置。Variant Manager将变体配置定义为一组变体控制变量及其值,这些值可以激活模型层次结构中的特定变体。有关变体配置的更多信息,请参见不同的配置。有关变体管理器的概述,请参见Simulink的变体管理器金宝app

变异减速机

您可以使用Variant Manager中的Variant Reducer工具来自动生成一个简化的、独立的模型,该模型只包含来自输入模型的变体配置的子集。生成的模型称为减少模型。简化的模型保留了您从父变量模型中选择的变量配置。例如,您可以生成一个表示产品线中的特定产品的简化模型(单一配置简化),或者一个对应于产品线族中的产品线的简化模型(多配置简化)。

简化一个简单变量模型的例子

还原过程的步骤

Variant Reducer在还原过程中执行以下高级操作:

  • 基于您选择保留在简化模型中的可变配置,删除非活动模型组件。

  • 删除或修改模型组件,例如块、变量参数对象、掩码、模型引用、子系统引用、库、依赖文件(例如MAT或SLDD文件)以及输入模型中的变量。有关已修改或未减少的模型组件的信息,请参见变体缩减的考虑和限制

  • 将减少的工件打包到用户指定的输出文件夹中。

  • 生成还原过程的详细摘要,以帮助您分析这些更改。

模式和选项的减少

Variant Reducer提供了不同的模式和选项,您可以在减少模型之前进行设置。

模式 目的

减少模式

提供多种方法来指定要保留在简化模型中的配置。

您可以选择以下配置:

  • 模型使用的基本工作空间或数据字典中可变控制变量的当前值

  • 为模型创建的命名变体配置

  • 可变控制变量的指定值

编译模式

在模拟或代码生成模式下编译输入模型,作为简化过程的一部分。

选项 目的

要排除的文件

排除Simuli金宝appnk数据字典文件(* .sldd)及mat档案(* .mat)外matlabroot压缩过程中的文件夹。

输出文件夹

文件夹来放置简化的模型和工件

模型后缀

附加到简化模型和工件名称的后缀

保留信号属性 通过在约简模型中添加信号规范块,尝试保留原始模型和约简模型之间的编译信号属性。
开简化模型 将当前工作文件夹更改为指定用于缩减的输出文件夹,并打开缩减后的模型。
生成详细摘要 为简化的模型生成详细的摘要。这需要一个金宝appSimulink报告生成器™许可证。

使用变体管理器减少变体模型

  1. 为必须缩减的模型打开变体管理器。这里,打开slexVariantReducer使用以下命令建模。

    openExample (“金宝appsimulink_variants / ReduceAVariantModelForSelectedVariantConfigurationExample”);

    建模选项卡,打开设计节并点击变体经理。或者,右键单击模型中任意变体块上的变体标识并选择在变体管理器中打开

    上下文菜单在变体块的变体徽章上打开,选择在变体管理器中打开选项

    的变体管理器窗口slexVariantReducer模型。该模型有两个预定义的变体配置,命名为config1V == 1 && w == 2),config2V == 2 && w == 2).

    模型的变体管理器窗口

  2. 开放式变型减速器。在“变体管理器”工具栏的“应用程序”部分,单击变异减速机

    这张图片显示了Variant Reducer窗口。

    变型减速器窗口。

  3. 中指定不同的缩减设置模式选项节的变体减速器工具带。如果不修改设置,则Variant Reducer使用默认值进行缩减。每个设置的目的将在以下步骤中详细说明。

  4. 选择一个减少模式选择:

    • 当前可变控制值:根据模型使用的基本工作区或数据字典中的可变控制变量值缩减模型。

    • 指定不同的配置:减少与模型关联的变量配置数据对象中定义的命名配置的模型。

      请注意

      在这种模式下,Variant Reducer将最后选择的配置中的变量控制变量值存储在模型使用的基本工作区或数据字典中。

      中选择所需的配置配置选项卡。

      变体减速机对话框,减速模式指定为“指定变体配置”。

    • 指定不同的控制值:通过指定不同控制变量的值来简化模型。如果模型没有任何预定义的命名配置,则Variant Reducer默认使用此模式。您可以创建多个变量组,这些组对应于要保留在简化模型中的不同变体配置。在每个变量组中,必须指定变量控制变量和每个变量要考虑的值。

      请注意

      在这种模式下,简化模型有一个新的变量配置数据对象,其中包含指定的变量组。

      变量减速器对话框,减速模式指定为“指定变量控制值”。

      若要添加新的变量组,请单击添加变量组变量组表格

      集团表,在列中,您可以为变体控制变量指定一个值,也可以选择全程忽略了从列表中。

      • 作为矢量的变量控制值-减少指定值的所有组合的模型。例如,如果您指定值V = 1W = [1,2],然后将模型简化为构型{v == 1, w == 1}{v == 1, w == 2}

      • 全程—对指定变量控制变量的所有有效值进行模型化简。在的参考价值列时,必须为模型成功编译的变量输入一个参考值。

      • 忽略了—在简化模型时没有考虑变量控制变量。

      请注意

      • 若要使用全范围可变控制变量,必须设置变异激活时间在使用该变量控制变量的块的块参数对话框中代码编译

      • 您最多可以在一个变体块中指定一个全范围变体控制变量。

      • 指定变体控制变量的值为全程如果变量被模型可见的变量参数使用,则不支持在缩减金宝app期间,即使该参数未在模型层次结构中使用。

  5. 编译模式中,选择sim卡编译模型进行模拟或codegen在代码生成模式下编译模型,作为减少模型的一部分。如果模型包含带有变型控制方式参数设置为Sim码交换,你可以选择codegen保留简化模型中块的代码生成分支。对于默认值sim卡, Variant Reducer在顶层模型中编译并保留仿真分支。

  6. 选择保留信号属性在原始模型和约简模型之间保持编译信号的属性。当选择此选项时,变体减速器通过在简化模型中的适当块端口添加信号规范块来尝试保留原始模型和简化模型之间的编译信号属性。编译信号属性包括信号数据类型、信号尺寸和编译采样次数。

  7. 选择生成详细摘要在输出文件夹中生成Variant Reducer汇总报告。变体减速器摘要包含变体减速器选项、原始模型和简化模型差异、依赖工件、回调和警告的摘要。有关更多信息,请参见Explore Variant Reducer概述

    请注意

    要生成详细的摘要,您必须具有金宝appSimulink报表生成器许可证。

  8. 使用要排除的文件以指定任何相关的Simulink数据字典文件(金宝app* .sldd)及mat档案(* .mat)之外的MATLAB®在缩减过程中要排除的根文件夹。Value必须是字符向量的单元数组。

    您可以指定目录的完整路径或必须跳过的特定文件。您还可以提供通配符,例如,{' * .sldd '}{' topData.sldd '}

  9. 模型后缀。模型后缀值被附加到简化模型、数据字典和相关工件的名称中。缺省情况下,后缀为_r

  10. 输出文件夹框,浏览或进入存储简化模型和相关工件的输出文件夹。输出文件夹不能在matlabroot。默认情况下,减少的工件在名为reducedModel在原始模型文件夹中。

    如果输出文件夹包含variant_reducer.log然后,在任何后续的还原过程中,Variant Reducer都会覆盖该文件夹中所有可用的文件。

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

  12. 点击减少模型

    该图像显示了减少配置模型的结果config1与价值观V = 1W = 2

    原始模型和简化模型

  13. 回到管理选项卡,单击密切的减速机

Explore Variant Reducer概述

如果你设置生成详细摘要选项,则Variant Reducer会以HTML文件的形式生成还原过程的详细报告。报告保存在输出文件夹中,其中保存了减少的工件。

请注意

一个金宝appSimulink报表生成器生成Variant Reducer摘要需要许可证。

使用变量减速器摘要来:

  • 验证用于简化的输入和输出选项,例如,输入变量配置和输出文件夹位置。

  • 分析原始模型与简化模型之间的差异,例如:

    • 已插入、删除或修改的块

    • 已修改的掩码

    • 已修改的依赖数据文件或Simulink缓存文件金宝app

  • 识别任何警告。

  • 识别未减少的组件,并确定可能需要的手动更新,例如,回调代码和statflow®变体转换。

  • 浏览原始模型和简化模型的交互视图。

变型减速器汇总报告

以编程方式简化模型

要以编程方式简化模型,请参见金宝appSimulink.VariantManager.reduceModel

变体缩减的考虑和限制

限制

  • 的模型的简化不同的连接器不支持Block。金宝app

  • 指定变体控制变量的值为全程如果变量被模型可见的变量参数使用,则不支持在缩减金宝app期间,即使该参数未在模型层次结构中使用。

Simulink函数块约简后的变型条件金宝app

如果一个模型包含金宝app仿真软件的功能对于块上可用的变量条件的任何或组合,块被缩减,然后金宝app仿真软件的功能块在简化模型中变为无条件的。

考虑一个包含金宝app仿真软件的功能块的值版本控制参数设置为|| V == 2 || V == 3 || V == 4

  • 如果模型被简化为变量控制值V = 1V = 2,V = 3,然后是金宝app仿真软件的功能块在简化模型中是无条件的。

  • 如果模型被简化为变量控制值V = 1V = 2,V = 5,然后是金宝app仿真软件的功能块的值仍然是有条件的版本控制参数设置为V == 1 || V == 2

对模型组件的修改

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

  • 变量参数对象的实例金宝app仿真软件。VariantVariable类)减少。

  • 模型层次结构中存在的引用模型和库块被简化。

  • 如果模型包含已解析的库链接,则相应的父库将被简化为指定的配置,并在模型中被引用。

  • 简化模型与mat文件一起保存,mat文件包含保存的变体配置。过程中加载文件PostLoadFcn简化模型的回调。

  • 不同的子系统模型变体只有一个选择的方块被转换为正常子系统模型块。

  • 对于单输入,变异来源变体水槽如果块在所有指定的配置中都是活动的,则删除它们。

  • 在模型缩减期间,活动路径上的注释块将被保留。非活动路径上的注释块将被删除。

  • 来自statflow图表中非活动元素的信号属性(如数据类型、复杂性或维度)可能不会保留在简化的模型中。

对未简化的组件进行建模

这些模型组件不会自动减少,可能需要人工干预。要识别这样的工件,请使用Variant Reducer摘要报告。

  • 回调代码:

    • 回调函数,例如InitFcn预加载PostLoad、掩码初始化码、掩码参数回调码需要手工修改。

    • 将删除非活动变体组件中的回调代码。此操作可能导致简化模型中的意外行为。

  • 在模型缩减期间,不会修改statflow画布中的元素,包括变量转换。

  • 如果一个模型依赖于位于matlabroot(金宝app模型库,。m文件,.mat文件,或.sldd文件),在模型还原期间,这些文件不会被修改或复制到输出文件夹。

  • 库块下的MATLAB根不减少。

  • 的变体块启动激活时间和连接到它的任何块都不会减少。

另请参阅

||

相关的话题