文档

使用模型块设置模型变体

请注意

对于新型号,使用a变体模型不同的子系统块而不是模型块以包含模型变体。万博1manbetx支持使用模型块包含模型变体将在未来的版本中被删除。下面是一个使用不同的子系统块作为变体模型的容器,请参见模型参考变异体

将一个模型类的变体模型不同的子系统块,右键单击模型块,并选择子系统及模型参考>转换为>不同的子系统.或者,您可以使用万博1manbetxSimulink.VariantManager.convertToVariant函数,指定模型块路径或块句柄。

打开示例AutoMRVar模型。

目录[docroot ' /工具/模型/ ug /例子万博1manbetx/变量/ mdlref / '));打开(“AutoMRVar”);

符号出现在块的左下角,表示它使用了变体。块上显示上次保存模型时激活的变量的名称。

当您更改活动变量时,变量块将刷新。名称更改以反映当前活动的变体。

当您打开示例模型时负载函数加载一个mat文件,该文件使用模型使用的变量和对象填充基本工作空间。

该示例展示了以下情况下变体的使用:

  • 汽车可以用柴油发动机也可以用汽油发动机。

  • 每台发动机必须符合欧洲或美国(美国)排放标准。

AutoMRVar控件实现汽车应用程序模型块命名引擎.的引擎块指定四个引用模型。每个参考模型代表一种发动机燃料和排放标准的排列。表格显示了变量选择。

模型名称 版本控制 条件(只读)
GasolUSA 燃料= = 1 & &工作= = 1
GasolEuro 通用电气 燃料= = 1 & &工作= = 2
DieselUSA 燃料= = 2 & &工作= = 1
DieselEuro 燃料= = 2 & &工作= = 2

请注意

中可以直接使用条件表达式版本控制字段。您不需要创建万博1manbetx仿真软件。变体对象。

配置模型块

一个模型块及其变体必须满足模型引用的要求的局限性。.的需求和限制的信息代码生成看到在生成的代码中表示子系统和模型变体(嵌入式编码)。

配置一个模型阻止并指定您的变体选择:

  1. 创建一个模型。

  2. 港口和子系统库,添加一个模型块到模型。

  3. 右键单击模型块,并选择块参数(ModelReference)从上下文菜单。

  4. 变量的选择,在中指定模型选择模型名称列。要指定受保护的模型,请使用扩展.slxp.mdlp.有关更多信息,请参见模拟来自第三方的受保护模型

    请注意

    属性中的一个变量选择,则不能指定一个模型作为默认变量模型块。相反,您可以将该模型作为变体选择添加到子系统块,然后指定该模型为默认变体。

  5. 属性中为每个模型选择指定变量控制版本控制列。使用布尔条件表达式或万博1manbetx仿真软件。变体对象表示布尔条件表达式。

    填充版本控制列的每个选择。不能注释掉(的变量控制值模型块。然而,对于不同的子系统块,你可以注释掉变量选择。

  6. 要编辑确定活动变体选择的条件,请单击创建/编辑选定的变体按钮.在对话框中输入条件,单击好吧

  7. 如果需要,可以指定模型参数和模拟模式.所有仿真模式都适用于模型变体。有关更多信息,请参见参数化模型变体模拟模型引用层次结构

  8. 如果您想添加更多的变体选择,请单击添加一个新的变体按钮

  9. 在指定了引用模型并添加了变体选择之后,单击好吧

    有关下一步,请参见使用变量选择

禁用和启用模型变体

您可以在不丢失变体设置的情况下禁用模型变体。在您启用变量之后,它们将保持启用状态,直到您显式地禁用它们。

禁用变体:

  • 控件的内容隐藏和忽略变量的选择对话框的一部分

  • 保留活动变量作为模型名称

  • 忽略对变量控制变量和其他模型(当前模型除外)的后续更改

的变体禁用模型布洛克:

  1. 右键单击该块并选择块参数(ModelReference)打开块参数对话框。

  2. 点击禁用变体

    要启用变体,请单击使变异体.的模型块根据当前的基本工作区变量和条件选择活动变量。

参数化模型变体

可以将参数应用于可变控件。参数值与引用模型相同。

  1. 在块参数对话框中,在变量的选择,选择要参数化的变量控件的行。

  2. 模型参数值(对于这个实例)文本框中,指定参数。

  3. 点击应用

有关更多信息,请参见包含模型变体的模型块的模型参数

日志模型变体

一个模型块只能记录被引用模型指定为已记录的信号。如果一个模型是一个变体模型,或者包含一个变体模型,那么您可以记录所有标记为要记录的信号,或者记录没有记录的信号。模型的Signal Logging Selector配置必须处于这些状态之一。有关详细信息,请参见带有模型引用的模型:覆盖信号记录设置

  • 日志记录模式被设置为按照模型中的规定记录所有信号

  • 日志记录模式被设置为覆盖信号模型块的复选框被选中()或空().无法填写复选框().

附加的例子

要获得模型引用变体的其他示例,请在Help浏览器中选择万博1manbetx>例子>建模功能>模型参考>模型参考变异体

这个例子sldemo_mdlref_variants显示了一个变体子系统块,其中包含作为变体引用的模型。

相关的例子

更多关于

这个话题有用吗?