主要内容

不同子系统,不同模型

包含子系统、模型或子系统参考块作为变量选项的模板子系统

  • 库:
  • 金宝appSimulink / Ports &子系统

    HDL编码器/端口和子系统

  • 变体子系统,变体模型块

描述

不同的子系统Block使您能够在单独的层次结构中包含组件的多个实现。

例如,假设您要模拟一个模型,该模型表示具有三种可能的发动机配置的车辆:4缸汽油、6缸汽油和8缸汽油。可以将每个引擎模型实现为一个单独的子系统不同的子系统然后在子系统之间切换基于变型控制方式你选择。有关更多信息,请参见变量控制导论

请注意

的一个实现不同的子系统在模拟期间是活动的。

使用可变子系统块实现单个系统的多个实现

不同的子系统block是一个预先配置的模板,包含两个或多个块,用作Variant选项。这些选择代表了一个系统的多个实现。在模型执行期间,只有一个子块是活动的。活动子块称为活跃的变体

每个变体选择里面不同的子系统块与变型控制方式和一个变体激活时间.变量控制模式决定了哪个变量选择是有效的。变量激活时间决定了激活选择的时间,并决定在生成的代码中是只包括活动选择还是同时包括活动和非活动选择。

一个不同的子系统块可以包含的混合物子系统块,模型块,或子系统的参考块作为变量选择。一个不同的子系统以Model块作为选择的块称为a变体模型块。有关这些块的更多信息,请参见创建子系统模型,子系统的参考

除了变体选择之外,您还可以包括轮廓尺寸外港,连接端口(Simscape)控件中的不同的子系统块。控件中的块之间没有绘制的连接不同的子系统块。金宝app动态仿真模块®自动将活动变体连接到轮廓尺寸而且外港街区不同的子系统在模型编译期间。表示不同选择的块可以具有输入和输出端口,这些端口的数量与父模块中的输入和输出端口不同不同的子系统块。欲了解更多信息,在变体子系统中映射变体选择的导入和输出

使用变体子系统块允许您:

  • 混合子系统模型,子系统的参考块作为变量选择。

  • 建模没有类似接口的组件。你可以有不同数量的输入和输出的多个变量选择在一个不同的子系统

  • 建立一个层次框图,其中不同的子系统块在一个层上,变量选项在另一个层上。

  • 保持功能相关的块在一起。

  • 降低模型的复杂性。

控件的值会使块图标上的变体徽章的颜色和图标发生变化变体激活时间变型控制方式,在变量子系统之外传播条件参数设置在块上。有关更多信息,请参见变体徽章

港口

在模拟过程中,Simulink将禁用控金宝app件中的非活动端口不同的子系统块。

输入

全部展开

每一个子系统模型,或子系统的参考块中包含的不同的子系统表示一个变量选择。变量选项的导入集或子集可以与不同的子系统容器。

输出

全部展开

每一个子系统模型,或子系统的参考块中包含的不同的子系统表示一个变量选择。的输出端口集或子集不同的子系统容器块,也可以是容器块上端口的子集。

请注意

的未连接的输出端口(非活动的输出端口)不同的子系统输出一个接地值。若要输出除地面以外的值,请选择当源未连接时指定输出参数。外港块并指定一个值。

参数

全部展开

决定主动变体选择的变体控制可以是这些类型中的任何一种。

  • 表达式——在表达式模式下,Si金宝appmulink根据变量条件的评估选择主动变量。当条件表达式求值为时真正的时,相应的变量选择变为主动。当条件表达式求值为时,对应的变量选择就不活跃了。看到在变量块和变量参数中使用条件表达式在选择之间切换

  • 标签——在标签模式时,Si金宝appmulink根据变量的名称选择活动变量。变量控件是一个字符串,不需要在任何工作区中创建变量。看到在不同的块中使用标签在选择之间切换

  • Sim码原交换-若要在模拟和代码生成工作流的变量之间自动切换,而无需创建任何工作空间变量,请使用Sim码原交换模式。模拟模型时,Simulink自动选择金宝appsim卡分支作为主动选择。类似地,当您进行软件在环(SIL)或处理器在环(PIL)模拟、生成代码或使用外部模式时,Simulink会自动选择金宝appcodegen分支。看到在不同块中模拟和代码生成工作流的选择之间切换

有关可变控制模式的更多信息,请参见变量控制导论.不同类型的变型控制方式的比较,请参见比较不同类型的变体控制模式

依赖关系

不同变量激活时间的可用性取决于类型变型控制方式你指定的。的变体激活时间参数确定Simulink设置主动选择的时间。金宝app参数还决定在生成的代码中包含哪些可变性。该表说明了每种变体控制方式支持的变体激活时间。金宝app

变体激活时间
变型控制方式 更新图 更新图表分析所有选项 代码编译 启动
表达式
标签 x x x
Sim码原交换 x x

此参数决定在模拟和代码生成工作流中包含哪些可变性。有关更多信息,请参见在模拟和代码生成工作流的不同阶段激活变量

您可以设置变体激活时间参数为:

  • 更新图-当您执行模型时,只有主动选择包含在模拟和代码生成工作流中。生成的代码只包含活动选项。

  • 更新图表分析所有选项-当您执行模型时,将分析活动和非活动选择在模型中的一致性。但是,在模拟和代码生成工作流中只包括主动选择。生成的代码只包含活动选项。

  • 代码编译-当您执行模型时,将分析整个模型中主动和非主动选择的一致性,并且所有选择都包含在模拟和代码生成工作流中。生成的代码包含预处理器条件中包含的活动和非活动选项#如果而且# elif.但是,从生成的代码构建的可执行文件只包含活动选择。

  • 启动-当您执行模型时,将分析整个模型中主动和非主动选择的一致性,并且所有选择都包含在模拟和代码生成工作流中。有了这个选项,您可以使用快速重启来提高迭代模拟的速度。有关更多信息,请参见快速重启如何改进迭代模拟.从模型生成的代码包含regular中所包含的活动和非活动选择如果条件。从生成的代码构建的可执行文件还包含活动和非活动选项。

依赖关系

不同变量激活时间的可用性取决于您指定的变量控制模式的类型。的变体激活时间参数确定Simulink何时设置活动选项。金宝app参数还决定在生成的代码中包含哪些可变性。该表说明了每种变体控制方式支持的变体激活时间。金宝app

变体激活时间
变型控制方式 更新图 更新图表分析所有选项 代码编译 启动
表达式
标签 x x x
Sim码原交换 x x

编程使用

块参数:VariantActivationTime
类型:特征向量
价值观:更新图|更新图表分析所有选项|代码编译|启动
默认值:更新图

该表有一行用于变体子系统中包含的每个变体选择。如果没有变量选择,则该表为空。

可以使用左侧的按钮变量的选择表中的元素进行修改。

…… 点击…
创建并添加一个新的子系统选择:创建一个新的子系统块作为一个变体选择,并为表中的新选择添加一个条目。 创建并添加一个新的子系统选择
创建并添加一个新的模型变量选择:创建一个新的模型块作为一个变体选择,并为表中的新选择添加一个条目。 创建并添加一个新的模型变量选择
创建/编辑选定的变量对象:创建或编辑金宝app仿真软件。变体对象中指定变量条件金宝app仿真软件。变体对象参数对话框。 创建/编辑选定的变量对象
打开所选变量选择块:打开所选行对应的子系统块。 打开所选变量选择块
从Variant子系统内容刷新对话框信息:更新变量的选择表根据变量选择和变量控件的值在全局工作空间。 从Variant子系统内容刷新对话框信息

这个只读字段显示变体子系统中包含的块的名称。

选项的名称,以字符串形式指定。

依赖

若要启用该参数,请设置变型控制方式标签

指定条件表达式以确定变体子系统中的活动选择。当条件表达式求值为时真正的, 金宝appSimulink激活相应的变量选择。当条件表达式求值为时, 金宝appSimulink停用相应的变体选择。

变量控件可以是:

在这里,一个而且B操作数被称为as吗变量控制变量+= =,& &是条件表达式中的操作符。条件表达式可以包含一个或多个这样的变量控制变量和操作符。有关受支持的类型和可变控制变量的存储位金宝app置的信息,请参见变量条件表达式中变量控制变量(操作数)的类型而且变量条件表达式中变量控制变量(操作数)的存储位置.有关操作符的信息,请参见变量条件表达式中的运算符

有关更多信息,请参见在变量块和变量参数中使用条件表达式在选择之间切换

编程使用

结构:由只读的变体。的名字变体参数结构
类型:特征向量
值:与变量选择相关的变量控制
默认值:“变异”

这个只读字段显示指定为的条件表达式金宝app仿真软件。变体对象。要更改或编辑条件表达式,请使用金宝app仿真软件。变体参数对话框,该对话框在工作空间中双击对象时出现。

请注意

在类型的条件表达式中指定的操作数金宝app仿真软件。变体必须在基本工作区或数据字典中定义。不支持指定在掩码或模型工作区中定义的操作数。金宝app

属性中的所有选项的标签不同的子系统.若要设置活动选项,请从列表中选择一个标签。相应的选择变为主动。或者,您可以采用中描述的方法变型控制方式更改标签模式下的主动选择。

依赖关系

若要启用此参数,请设置变型控制方式参数标签

编程使用

参数:LabelModeActivechoice
类型:特征向量
值:如果没有指定标签模式主动选择,则该值为空。如果指定了标签模式主动选择,则该值为标签模式主动选择的名称。
默认值:

选择此选项时,如果没有活动变量选择,则Simulink将在没有任何活动变量选择的情况下模拟模型金宝app不同的子系统.金宝app的输入和输出流断开所有连接到的块不同的子系统块,从而从模型中完全去除可变区域。子系统的非活动输出输出一个接地值。若要输出除地面以外的值,请选择当源未连接时指定输出参数。外港块并指定您选择的值。

如果不选择此选项,当没有活动的变量选择时,Simulink将生成一个金宝app错误。

依赖关系

当不存在时,此参数有效默认的不同的选择不同的子系统当你设置变型控制方式表达式

编程使用

参数:AllowZeroVariantControls
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

当你选择在变量子系统之外传播条件参数时,Simulin金宝appk将底层块的变量条件传播到不同的子系统容器块,因此子系统可以使其接口适应底层块的状态。映射到活动选项上的端口的端口将变为活动端口。未映射到非活动选择上的端口的端口将变为非活动。选择此选项可确保组件外部的不同的子系统中块的激活和非激活状态不同的子系统块。有关更多信息,请参见不同子系统的自适应接口

传播的外部条件不同不同的子系统可以提高模型的准确性,并简化模型构造,因为您不需要手动计算变量条件以分配给相关块。有关更多信息,请参见在变体子系统块外传播变体条件而且使用可变子系统块和有条件执行的子系统

编程使用

参数:PropagateVariantConditions
类型:特征向量
值:“关闭”|“上”
默认值:“关闭”

块特征

数据类型

布尔一个|公共汽车一个|一个|枚举一个|不动点一个|一半一个|整数一个|一个|字符串一个

直接引线

没有

多维信号

有限的一个

适应信号

有限的一个

讨论二阶导数过零检测

没有

一个实际的数据类型或功能支持取决于块实现。金宝app

扩展功能

在R2010b中引入