主要内容

变体管理器万博1manbetx

请注意

此功能需要Simulink的变体管理器万博1manbetx®

在用于系统开发的基于模型的设计中,您可能必须为系统中的组件使用多种设计替代方案。例如,在一个表示汽车的模型中,您可能有几个由不同供应商提供的排气温度传感器。在整个开发生命周期中,从需求到部署,您可能需要在这些设计选择之间进行切换。

您还可以为表示产品线的系统建模,例如汽车、飞机和通信系统。产品线是通过向系统中添加可变点来创建的。例如,乘用车产品线中的车辆可以有多个可变点,例如燃料消耗、电机类型或发动机尺寸。

您可以在Simulink中使用变体元素来表示单个模型中的所有变体,而不是设计多个模型来表示所有可能的变体。万博1manbetx有关Simulink中变量的介绍,请参阅,万博1manbetx什么是变体,什么时候使用它们

变体经理

变体管理器是一种工具,它允许您可视化模型层次结构,并集中管理变体元素的使用,例如跨层次结构的变体块和变体转换。

该工具作为支持包提供,名为万博1manbetxSimulink的变体管理器万博1manbetx具有以下主要功能:

  • 变量管理器——可视化模型层次结构,跨层次结构管理变量元素的使用,并创建和管理变量配置。

  • 变体减速器-生成一个简化模型,只包含选择的变体配置。

  • 变体分析器——比较和对比变体配置,以识别错误或不一致。

Variant Manager功能概述

安装变体管理器万博1manbetx

要安装支持包,请使用以下方法之万博1manbetx一:

  • 开放变体管理器:

    1. 在Si万博1manbetxmulink中建模选项卡,打开设计部分,单击变体经理.您还可以使用任何替代方法来打开Variant Manager。

    2. 在“为Simulink安装变体管理器”对话框中,单击万博1manbetx添加安装Simulink的变体管理器万博1manbetx附加组件。

  • 使用插件资源管理器:

    1. 在MATLAB®,在首页选项卡,在环境部分中,点击附加组件然后选择获得附加组件

    2. 在外接程序资源管理器中,找到并单击Simulink的变体管理器万博1manbetx万博1manbetxSupport package,单击安装

当您从MATLAB命令行执行任何Variant Manager相关的api时,api将返回一个带有启动安装程序的超链接的错误。

有关支持包中行为更改的信息,请参见万博1manbetx使用Simulink支持包的Variant Manager时的兼容性考虑万博1manbetx万博1manbetx

开放变体管理器

使用以下任何方法打开变体管理器:

  • 右键单击任何变体块上的变体徽章图标并选择在变体管理器中打开

    变体源块上的变体徽章

  • 建模选项卡,打开设计部分,单击变体经理

  • 右键单击一个变体块并选择变体>在变体管理器中打开

  • 选择一个变体块,例如,一个变体子系统块,然后在不同的子系统选项卡中的Simuli万博1manbetxnk工具条选择变体经理

  • 点击在变体管理器中打开块在变体块上可用块参数对话框。

探索变体管理器窗口

这个图像显示了Variant Manager窗口的默认视图。

工具条在顶部。左侧是“配置”窗格和“约束”窗格。右边是“入门”窗格。模型层次表在中间。“诊断”窗格位于底部。

  • 您可以根据自己的喜好更改窗口的布局。若要移动窗格,请单击窗格顶部并拖动。

  • 您可以最小化未使用的窗格。当您希望再次处理最小化的窗格时,请恢复它以防止它自动崩溃。

  • 开始默认情况下,窗格显示在窗口的右侧,并提供常见工作流的快速概述。

  • 您可以使用帮助按钮在变体管理器窗口的右上角来访问文档。

  • 诊断窗格默认出现在窗口的底部,并显示与从Variant Manager执行的操作相关的消息、错误和警告。

此图像显示了窗口的自定义布局。

具有自定义布局的变体管理器窗口

管理不同的元素

可视化模型层次结构

模型层次结构表展示了模型的树状视图,其中每个节点表示一个块或一个引用的组件。您可以展开节点并在层次结构中导航。

为了与众不同的观点在模型层次结构中,使用这些选项卡:

  • 系统-显示所有方块

  • -显示不同的块

  • Stateflow-显示statflow中使用的变体转换®图表

  • 组件配置—显示所引用组件的可用变体配置

请注意

当您打开顶级模型的变体管理器时,引用组件中的变体元素,例如模型不加载块和库。只有当您显式地激活模型或在模型层次结构中展开它们时,才会加载和激活引用的组件。

组件配置选项卡默认不显示。要打开该选项卡,请单击显示组件配置按钮。控制变量所选变体配置的部分。

与模型层次结构交互

您可以从模型层次结构中执行这些操作。

行动 模型层次交互
查看和编辑每个变量选择的变量条件表达式

版本控制表中的列与版本控制变量块参数对话框中的字段。您可以为层次结构中的不同元素编辑此字段。

对于变体元素,该字段显示了上下文特定的关键字列表,这些关键字被允许作为变体块的变体控件。例如,对于具有变型控制方式设置为表达式,列表显示默认的此外还有变体控制表达式。为sim-codegen切换模式,列表显示sim卡codegen值。对于一个变体万博1manbetx仿真软件的功能块,列表显示继承

搜索 使用搜索按钮,以搜索层次结构中的任何元素。

参见块参数值

指向任何变量块,可以看到带有块参数值的工具提示。

模型层次结构中变体子系统块的特定工具提示。

参见块特定上下文菜单

右键单击一个块,找到这些选项:

  • 打开和突出显示块:打开模型中选中的块并突出显示。这为模型提供了可跟踪性。

  • 开放模式:打开引用的模型。

  • 开放块参数:打开选定块的块参数对话框。您可以修改参数值。

  • 打开父块参数:打开所选块的父块的块参数对话框。您可以修改参数值。

  • 设置为“标签模式主动选择”:将所选的可变子系统、可变接收器或可变源块的选择设置为活动选择。此选项仅在控制方式块参数设置为标签

模型层次结构中变体子系统块的特定上下文菜单。

通过它们过滤变量块变型控制方式 使用视图模块在工具条中列出。
基于筛选器导航模型层次结构

使用导航工具条中的按钮,用于基于这些过滤器逐级遍历模型层次结构:

  • 变量的使用—选择使用所选变量控制变量的层次结构中的上一行/下一行。

    要启用导航按钮,选择所需的变体配置配置选项卡。在控制变量节中,从表中选择控制变量。单击显示所选控制变量的使用情况按钮

  • 活跃的-选择层次结构中具有活动变量选项的上/下一行。

  • 无效的—选择层次结构中具有无效变量选项的上/下一行。

识别主动变体选择

不活跃的选项显示为灰色。

在模型层次结构中,活动和非活动变量选择以不同的背景颜色显示。

识别有错误的行

它们用红色突出显示。
通过块图标识别块的类型 有关块图标的列表,请参见模型层次表

创建并激活不同的配置

一个变体配置代表了跨模型层次结构的变体选择的组合。从变体管理器,你可以:

  • 创建一个命名变量配置。

  • 在全局工作区中创建一个临时配置。

  • 在配置中添加、导入、导出和编辑控制变量。

  • 选择引用的模型配置(组件配置)。

  • 添加适用于所有配置的约束。

  • 验证并激活模型上的配置。

  • 为模型设置首选的变体配置。

有关各种配置的概述,请参见不同的配置

有关创建变体配置的详细步骤,请参见创建并激活不同的配置

自动生成变体配置

手动为模型创建所有可能的变体配置可能很耗时。您必须单独激活它们,以检查它们是否有效,以及它们是否满足必要的约束。相反,您可以使用变体管理器自动生成模型的变体配置,它使您能够:

  • 在创建配置时,考虑所有不同控制变量的可能组合。

  • 为每个控制变量指定必须考虑的值范围,以仅生成所需的配置子集。

  • 指定前置条件以限制要生成的配置,并可选地将前置条件导出为约束。

  • 自动验证生成的配置以识别无效案例。

  • 生成有效的、有效的和唯一的或所有配置。

  • 将配置导出到不同的配置数据对象。您可以导出模型成功编译的有效配置,也可以导出包括无效配置在内的所有配置。

有关生成不同配置的详细步骤,请参见自动生成不同配置

管理变体配置

可以使用不同类型的配置数据对象万博1manbetx仿真软件。变体ConfigurationData管理和重用模型的不同配置。对象存储为模型创建的所有不同配置和约束。如果模型没有与变体配置数据对象相关联,变体管理器将帮助您设置一个新的变体配置数据对象。

管理选项卡,你可以:

  • 为模型的变体配置数据对象指定一个名称。

  • 将从variant Manager对变体配置数据对象所做的更改应用到模型使用的全局工作空间(基本工作空间或数据字典)。

  • 将变量配置数据对象导出到mat文件或MATLAB脚本文件。

  • 从mat文件或MATLAB脚本文件导入变体配置数据对象到变体管理器中。

  • 从模型使用的全局工作区重新加载对象。这允许您恢复尚未导出到全局工作区的更改。

    当您将变体配置中的变体控制变量导出到全局工作空间时,或者当您激活一个变体配置时,相应的变体控制变量将被推到全局工作空间。从variant Manager重新加载变体配置对象不会恢复这些更改。

万博1manbetx仿真软件。变体ConfigurationData类具有使您能够添加或删除可变配置、约束和控制变量的方法。

有关显示如何从变体管理器保存和重新加载变体配置数据对象的示例,请参见使用不同配置数据对象保存和重用不同配置

减少变体模型

您可以使用Variant Reducer来生成简化的、独立的模型,该模型只包含来自父模型的指定的变体配置集。例如,生成映射到产品线中的特定产品的模型(单一配置减少),或对应于产品线族中的产品线的模型(多配置减少)。

要打开变体减速器,请在“变体管理器”工具条中应用程序部分中,点击变异减速机

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

  • 基于您选择保留在简化模型中的不同配置,删除不活跃的模型组件。

  • 删除或修改模型组件,如块、变量参数对象、掩码、模型引用、子系统引用、库、依赖文件和输入模型中的变量,以创建简化模型。

  • 将简化的模型和相关工件打包到用户指定的输出文件夹中。

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

看到的,使用变型减速器减少变型模型

分析变体配置

您可以使用Variant Analyzer来分析和比较模型的变体配置。要打开变体分析器,请在“变体管理器”工具条中应用程序部分中,点击变体分析仪

您可以分析为模型创建的命名变量配置,或者在为变量控制变量设置值之后执行分析。app生成的变型分析报告可以帮助您:

  • 比较模型的不同变体配置,以理解它们之间使用的共同和不同的模型元素。

  • 检查所有的变量选择是否至少被激活一次,以及模型是否被完全覆盖以进行模拟和代码生成。

  • 验证活动的、实现的模型在不同的变体配置之间是否不同。

  • 查找依赖的模型工件,例如被特定的变体配置使用的引用模型和库。

看到的,分析包含不同块的模型中的不同配置

变体管理器中的图标

配置

按钮 描述
添加一个变体配置。
删除一个变体配置。
复制一个变体配置。

控制变量

该表列出了用于表示不同类型的控制变量的图标。

控制变量图标 控制变量类型
普通MATLAB变量
万博1manbetx仿真软件。参数AUTOSAR。参数
万博1manbetx仿真软件。变体Control用value作为普通MATLAB变量
万博1manbetx仿真软件。变体Control价值为万博1manbetx仿真软件。参数

控制变量部分

按钮 描述

从整个模型引用层次结构中导入控制变量

请注意

控制变量从块中取出标签Mode不被导入,因为它们不是变量控制变量。

添加一个控制变量。

创建控制变量的副本。

删除控制变量。

更改控制变量的数据类型。

编辑万博1manbetx仿真软件。参数AUTOSAR。参数控制变量。当选定的控制变量是这些类型之一时,此选项将被激活。

请注意

指定万博1manbetx仿真软件。参数控制变量作为表达式,则使用等号(=)后跟数学表达式来设置参数对象的Value属性。例如,= a + b

显示所选控制变量的使用情况。

隐藏所选控制变量的使用情况。

将控制变量导出到全局工作区。

组件配置页签

图标 目的
中引用模型旁边的图标组件配置视图表示引用的组件有它自己预定义的变体配置。

模型层次结构表格

图标 元素

模型

内联变体块(变异来源而且变体水槽

不同的子系统

子系统

变体模型

子系统的参考

万博1manbetx仿真软件的功能

触发港口块

状态流图表块

变体水槽输出端口

变异来源输入端口

不同的子系统块与在变量子系统之外传播条件选项选中。

不同的子系统块与变体激活时间设置为更新图

不同的子系统块与变体激活时间设置为更新图表分析所有选项

不同的子系统块与变体激活时间设置为代码编译

不同的子系统块与变体激活时间设置为启动

不同的子系统块与允许零主动变量控制选择和变体激活时间设置为更新图

不同的子系统块与允许零主动变量控制选择和变体激活时间设置为更新图表分析所有选项

不同的子系统块与允许零主动变量控制选择和变体激活时间设置为代码编译

不同的子系统块与变型控制方式设置为标签并从主动变型中进行选择标签模式主动选择选择。

不同的子系统块与在变量子系统之外传播条件而且变体激活时间设置为更新图

不同的子系统块与在变量子系统之外传播条件而且变体激活时间设置为更新图表分析所有选项

不同的子系统块与在变量子系统之外传播条件而且变体激活时间设置为代码编译

不同的子系统块与在变量子系统之外传播条件而且变体激活时间设置为启动

不同的子系统块与在变量子系统之外传播条件选项选中。同时,变型控制方式设置为标签并从主动变异体中选择标签模式主动选择选择。

内联变体块(变异来源而且变体水槽),允许零主动变量控制选项选中。

内联变体块(变异来源而且变体水槽),变型控制方式设置为标签并从主动变型中进行选择标签模式主动选择选择。

内联变体块(变异来源而且变体水槽),变体激活时间设置为更新图

内联变体块(变异来源而且变体水槽),变体激活时间设置为更新图表分析所有选项

内联变体块(变异来源而且变体水槽),变体激活时间设置为代码编译

内联变体块(变异来源而且变体水槽),变体激活时间设置为启动

内联变体块(变异来源而且变体水槽),允许零主动变量控制而且变体激活时间设置为更新图

内联变体块(变异来源而且变体水槽),允许零主动变量控制而且变体激活时间设置为更新图表分析所有选项

内联变体块(变异来源而且变体水槽),允许零主动变量控制而且变体激活时间设置为代码编译

内联变体块(变异来源而且变体水槽),允许零主动变量控制而且变体激活时间设置为启动

初始化函数

事件监听器初始化函数

重置功能

事件监听器重置功能

终止函数

事件监听器终止函数

状态流图生成预处理器条件选项选中。

状态流转换将其视为变种转变选项选中。

请注意

对于具有变体激活时间设置为继承自Simulink。万博1manbetxVariantControl时,变量管理器激活过程更新模型层次结构中块的变量标记,以指示从相应的计算得到的激活时间万博1manbetx仿真软件。变体Control变量。

以编程方式访问变量管理器功能

万博1manbetx仿真软件。变体管理r类提供了一组从MATLAB命令行访问变体管理器功能的方法。

万博1manbetx仿真软件。变体ConfigurationData类具有以编程方式添加或删除不同配置、约束和控制变量的方法。

万博1manbetx仿真软件。变体ConfigurationAnalysis类具有以编程方式分析或比较不同配置的方法。

限制

  • 变体管理器只报告与变体元素相关的错误和警告。

  • 变量管理器不支持中定义的变量控件万博1manbetxInitFcn回调和掩码工作区。

  • 模型层次结构表不显示受保护的引用模型。

  • 变体管理器约束在编译后不被验证,例如,在启动变量激活时间。

  • 只能为具有的不同块创建不同的配置变型控制方式设置为表达式

  • 变体管理器不支持从受保护模型中的变体中激活、查看或万博1manbetx导入控制变量等工作流。当指定启动激活时间的变量块的变量控制变量为时,就会出现这些变化TunableParameters(万博1manbetx仿真软件编码器)在创建受保护的模型时。

另请参阅

||

相关的话题