主要内容

变异子系统,变异模型,变异装配子系统

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

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

    HDL编码器/端口和子系统

  • 子系统块
  • 变体模型块
  • 变型装配子系统块

描述

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

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

请注意

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

变体子系统块内引擎的多个模型

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

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

一个不同的子系统块可以包含的混合物子系统块,模型块,或子系统的参考块作为变量选择。一个不同的子系统以Model块作为选择的块称为a变体模型块。有关更多信息,请参见在一个可变子系统中表示不同的选择.一个不同的子系统引用模型或子系统文件的块变量选择说明符叫做变型装配子系统块。

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

使用不同的子系统Block允许您:

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

  • 建模没有类似接口的组件。你可以有不同数量的输入和输出的多个变量选择在一个不同的子系统.但是,所列的条件在变型子系统中映射变型选择的输入和输出必须满足。

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

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

  • 降低模型的复杂性。

  • 在模型编译期间,Simulink在整个模型中消除非活金宝app动块,这取决于您选择的变量激活时间。

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

变型装配子系统

一个变型装配子系统Block允许您在不修改模型的情况下从外部源添加或删除其变体选择。一个变型装配子系统块可以包含模型块,子系统的参考块,或者两者都作为它的变体选择。使用变量选择说明符参数指定变量选择,而无需在块内导航。不像不同的子系统时,您不能从内部管理变量选择变型装配子系统块。

添加模型子系统的参考块作为变量选择:

  1. 维护MATLAB中要引用的模型和子系统文件®路径。

  2. 中指定有效的MATLAB表达式变量选择说明符参数,计算结果为字符向量的一维单元格数组。数组中的每个单元格必须是模型文件名或子系统文件名。单元格还可以包含与模型匹配的文件名模式,或者中所描述的子系统文件名在“变体选择说明参数”中指定变体装配子系统块的变体选择.的变型装配子系统块,然后添加模型而且子系统的参考块从列出的文件作为块的变体选择。

有关更多信息,请参见使用外部文件添加或删除变体装配子系统块的变体选择

请注意

要转换不同的子系统块到变型装配子系统块,按照步骤将变体子系统转换为变体装配子系统.转换之后,所有的选项都维护在单独的模型或子系统文件中,它们的名称与选项相同。

港口

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

输入

全部展开

每一个子系统模型,或子系统的参考块中包含的不同的子系统表示一个变量选择。变体选择可以包含轮廓尺寸,控制端口(启用触发重置,函数调用),或连接端口(Simscape)块在它的输入。变体选项的输入端口可以与父端口中的输入端口数量不同不同的子系统块。中所描述的条件在变型子系统中映射变型选择的输入和输出必须满足。

输出

全部展开

每一个子系统模型,或子系统的参考块中包含的不同的子系统表示一个变量选择。变体选择可以包含外港连接端口(Simscape)块在它的输出。变体选项的输出端口可以与父端口中的输出端口数量不同不同的子系统块。中所描述的条件在变型子系统中映射变型选择的输入和输出必须满足。

请注意

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

参数

全部展开

要访问这些参数,右键单击块图标上的变体徽章并选择块的参数.有关更多信息,请参见变体徽章

主要

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

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

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

  • Sim码原交换-若要在模拟和代码生成工作流的变量之间自动切换,而无需创建任何工作空间变量,请使用Sim码原交换模式。模拟模型时,Simulink自动选择金宝appsim卡分支作为主动选择。类似地,当您进行软件在环(SIL)或处理器在环(PIL)模拟、生成代码或使用外部模式时,Simulink会自动选择金宝appcodegen分支。对于配置了基于ert的系统目标文件金宝app和服务代码接口的模型,不支持这种模式。看到在不使用变体块中的控制变量的情况下,在模拟和代码生成工作流的选择之间切换

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

依赖关系

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

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

编程使用

块参数:VariantControlMode
类型:特征向量
价值观:表达式|标签|Sim码原交换|
默认值:表达式

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

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

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

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

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

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

  • 继承自Simulink。金宝appVariantControl—当您执行模型时,块从其类型的变量控制变量中继承激活时间金宝app仿真软件。变体Control.如果一个变量块有多个类型的变量控制变量金宝app仿真软件。变体Control,则所有这些变量的激活时间必须相同。

依赖关系

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

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

编程使用

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

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

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

…… 点击…
创建并添加一个新的子系统选择:创建一个新的子系统块作为一个变体选择,并为表中的新选择添加一个条目。 选择“创建并添加一个新的子系统”按钮
创建并添加一个新的模型变量选择:创建一个新的模型块作为一个变体选择,并为表中的新选择添加一个条目。 创建并添加一个新的模型变量选择按钮

创建/编辑选定的变量对象:创建或编辑金宝app仿真软件。变体对象中指定变量条件金宝app仿真软件。变体对象参数对话框。

请注意

对于使用基本工作区的模型,此操作将创建金宝app仿真软件。变体对象,该对象仅对当前MATLAB会话可用。若要永久存储数据,请将对象保存在MAT文件或MATLAB脚本中。

创建或编辑选定的变量对象按钮
打开所选变量选择块:打开所选行对应的子系统块。 打开所选变量选择块按钮
从Variant子系统内容刷新对话框信息:更新变量的选择表根据变量选择和变量控件的值在全局工作空间。 来自Variant Subsystem contents按钮的Refresh对话框信息

依赖关系

变型装配子系统Block允许您使用此参数只打开选定的变量选项并刷新块对话框。控件中添加新的变体选项变型装配子系统块,使用变量选择说明符参数。

对象中包含的块的名称不同的子系统

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

依赖关系

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

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

变量控件可以是:

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

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

编程使用

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

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

请注意

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

这个列表包含了所有变体选择的标签。若要设置活动选项,请从列表中选择一个标签。相应的选择变得活跃。或者,您可以采用中描述的方法使用变量控制标签设置活动选项更改标签模式下的主动选择。

依赖关系

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

编程使用

参数:LabelModeActivechoice
类型:特征向量
值:如果没有指定标签模式主动选择,则该值为空。如果指定了标签模式主动选择,则该值为标签模式主动选择的名称。
默认值:
  • 当没金宝app有活动的变量选择时,Simulink会产生一个错误。

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

依赖关系

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

编程使用

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

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

请注意

变量条件不会在外部传播不同的子系统如果块内的所有变量选择具有相同的接口,则阻塞。

编程使用

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

参考

的参数参考选项卡使您可以添加变量的选择变型装配子系统块。要访问参数,必须转换不同的子系统块到变型装配子系统块。有关转换的信息,请参见将变体子系统转换为变体装配子系统

添加模型子系统的参考块作为a的变体选择变型装配子系统块,指定相应的模型或子系统文件名。文件名必须指定为MATLAB表达式,该表达式在计算时返回字符向量的一维单元格数组。方法验证表达式验证按钮。验证成功后,与指定文件对应的块将作为变量选项添加到变型装配子系统块。列表中显示新增变量选项的文件名及其对应的绝对路径变量的选择表格参考选项卡。

中删除变量选项变型装配子系统块,修改此参数中指定的表达式。的内部无法管理变量选择变型装配子系统块。

指定的MATLAB表达式必须包含以下任意一个:

  • 当前MATLAB会话搜索路径上的模型或子系统文件名。例如,如果您指定{model1。基金”、“subsystemRef1.slx '}属性对应的块作为说明符model1.slx而且subsystemRef1.slx的变量选项添加文件变型装配子系统块。

  • 与MATLAB路径上的模型或子系统文件名匹配的文件名模式。模式中的路径可以是绝对路径,也可以是相对于包含变型装配子系统块。例如,如果您指定{folder_1 / *。基金”、“folder_2 / * .slx”}作为指示符,Simulink传递金宝app字符向量folder_1 / *而且folder2 / *dir函数。函数然后返回模型和子系统文件,它们位于folder1而且folder2文件夹。属性的变量选项添加与返回文件对应的块变型装配子系统块。

有关如何将文件或文件夹添加到搜索路径的信息,请参见目录

属性中指定选项的详细信息变量选择说明符参数,看到使用外部文件添加或删除变体装配子系统块的变体选择

编程使用

参数:VariantChoicesSpecifier
类型:特征向量
值:求值为文件名或文件名模式的一维单元格数组的任何MATLAB表达式。
默认值:

这个只读参数列出了包含块的变量选择的模型或子系统文件的名称。

这个只读参数列出了包含块的不同选择的模型或子系统文件的绝对路径。

块特征

数据类型

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

直接引线

没有

多维信号

是的一个

适应信号

是的一个

讨论二阶导数过零检测

没有

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

扩展功能

版本历史

在R2010b中引入