主要内容

减少包含变量块的模型

笔记

你需要一个金宝app®设计验证器™许可证减少您的模型。

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

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

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

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

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

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

假设模型有两个预定义的变体配置,命名config1v == 1 && w == 2),config2v == 2 && w == 2)。这些配置保存在变体配置数据对象中,varconfig.

要简化模型,请执行以下步骤:

  1. 右键单击变体徽章,并选择在Variant Manager中打开.变量管理器打开,显示预定义的配置。

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

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

    • 当前变量控制值:根据其全局工作空间中的变体控制变量值来减少模型。

    • 指定不同的配置:减少与变体配置数据对象和配置相关联的模型,以便在缩小模型中保留。

      笔记

      在减少期间,最后一个所选配置的控制变量值存储在全局工作空间中。

    • 指定变量控制值:减少基于变量控制变量值的模型。可以创建多个变量组,对应不同的配置。点击新变量组设置变体控制变量的值。您可以指定变体控制值或选择全系列忽略了从下拉列表中。将变量控制值指定为矢量还可以简化该变量的所有组合的模型。例如,如果您指定值v = 1W = [1, 2],则模型为配置简化{V = = 1 W = = 1}{V = = 1 W = = 2}.如果你选择全系列作为一个变量控制值,参考值列被激活以输入成功编译模型所需的参考值。对指定的变量控制变量的所有有效值进行简化。如果你选择忽略了作为一个变量控制值,则在简化模型时不考虑该变量控制值。

      笔记

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

    笔记

    如果通过指定变量组来调用变量减少,则缩小模型将具有与与其相关联的可变组对应的变体配置。这覆盖了原始模型中存在的任何现有的变体配置。

  4. 选择保留信号属性保留原始和减少模型之间的编译信号属性。选择此选项时,变量减速器尝试通过在缩小模型中的适当块端口中添加信号规范块来保留原始和减少模型之间的编译信号属性。编译信号属性包括信号数据类型,信号维度,编译的采样时间等。

  5. 选择生成详细的总结在输出文件夹中生成变体缩减器摘要。Variant Reducer摘要包含摘要变异减速机的选择原始和减少的模型差异依赖文物回调警告

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

    笔记

    要生成详细的摘要,您必须具有金宝appSimulink报告生成器执照。

  6. 将值指定为后缀模型后缀场地。模型后缀值附加到缩小的模型,数据词典和相关工件。默认,_r是后缀。

  7. 指定要存储缩小模型的输出文件夹。

    笔记

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

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

考虑一个变量模型,它包含金宝appSimulink功能控件上的变量条件金宝appSimulink功能块,V V = = 1 | | = = 2|| V==3 || V==4.如果模型针对任何可用的Variant条件或组合进行简化,则金宝appSimulink功能简化模型中的块是无条件的。例如,如果模型被简化为Variant条件,v = 1,v = 2,v = 3, 这金宝appSimulink功能简化模型中的块是无条件的。而且,如果模型减少了变体条件,v = 1,v = 2,v = 5, 这金宝appSimulink功能简化模型中的块保持有条件的V V = = 1 | | = = 2作为变体条件。

减少模型编程

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

金宝appSimulink.VariantManager.reduceModel(模型中,<名称>,<价值>)

例如,

  • 基于全局工作空间中的变体控制变量值来减少模型。

    金宝appsimulink.variantmanager.reducemodel('sldemo_variant_subsystems')
  • 基于全局工作空间中的变体控制变量值来减少模型到指定的文件夹。

    金宝appSimulink.VariantManager。reducemodel.('sldemo_variant_subsystems', 'OutputFolder', 'outdir')
  • 减少与变体配置数据对象相关联的模型,以及减少模型中保留的配置。

    金宝appSimulink.VariantManager。reducemodel.('sldemo_variant_subsystems','NamedConfigurations', {'LinInterStd','NonLinExterHighFid'})
  • 通过指定可变控制变量结构形式的配置来简化模型。

    金宝appSimulink.VariantManager。reducemodel.('iv_model', 'VariableConfigurations', {'V',1,'W',[1 2]})

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

  • 通过指定以下变量控制值来减少模型:W.'是全范围变体控制值。

    金宝appsimulink.variantmanager.reducemodel('slexvariatreducer','variableconfigurations',{'v',1},'fullangevariables',{'w',1});

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

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

注意事项和限制

  • 减少包含的模型变型连接器不支持块。金宝app

  • 存储缩小模型的输出文件夹不得在下面matlabroot

  • 如果输出文件夹包含variant_reducer.log.从以前的模型减少文件,还原器将覆盖该输出中可用的所有文件,以便任何后续减少。

  • 额外的块是自动添加到缩小模型的,以确保一致的模拟语义。额外的块可包括信号规范块用于一致的信号属性(数据类型、维度、复杂性)或地面《终结者》未连接的信号块。

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

  • 信号属性(数据类型,复杂性,尺寸)来自StateFlow中的非活动元素®简化模型中不能保留图表。

对未减少的组件进行建模

这些模型组件不会自动减少,可能需要手动干预。要识别此类工件,请通过选择来生成变体减速器摘要生成详细的总结复选框中的变体减速器对话框在模型缩减。

  • 回调代码:

    • 等回调InitFcn预装PostLoad,屏蔽初始化代码和屏蔽参数回调码必须手动修改。

    • 非活动变量组件中的回调代码将被删除。这可能会导致简化模型中的意外行为。

  • 在模型缩减期间,状态流画布中的元素(包括变体转换)不会被修改。

  • 如果模型依赖于位于matlabroot(金宝app模型库,.m文件,。垫文件,或.sldd文件),在模型减少期间,它们不会修改或复制到输出文件夹。

相关例子

更多关于