主要内容

变体子系统、变体模型变体装配子系统

模板包含子系统,子系统模型,或子系统参考块变体的选择

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

库:
万博1manbetx模型/港口和子系统
高密度脂蛋白编码器/港口和子系统

描述

不同的子系统块可以包括多个组件的实现在一个单独的层次结构。

例如,假设你想模拟模型,代表了汽车发动机的三种可能的参数:四缸气体,6缸气体,8-cylinder气体。你可以实现每个引擎模型作为一个独立的子系统中不同的子系统然后子系统基于之间切换控制模式变体块类型的变体你选择。有关更多信息,请参见介绍了版本控制

请注意

只有一个实现的不同的子系统在模拟是活跃的。

多个模型发动机内部子系统块一个变体

不同的子系统块模板预配置包含两个或多个块作为变异的选择。这些选择代表多个实现的一个系统。只有一个孩子块活动期间模型执行。活跃的孩子被称为块活跃的变体

在每一个变体的选择不同的子系统块与一个关联变量控制方式和一个变体激活时间。变量控制方式决定如何选择活动的变体。变体激活时间决定一次激活的选择和决定是否只包括主动选择或两个活跃的和不活跃的选择在生成的代码中。

一个不同的子系统块可以包含的混合物子系统块,模型块,或子系统的参考块是不同的选择。一个不同的子系统块只有被称为模型块的选择变体模型块。有关更多信息,请参见使用变体子系统实现变化在不同的层次结构。一个不同的子系统块与模型子系统的参考块选择,可以添加或删除只从外部文件,而不是在块被称为变体装配子系统块。

除了变体的选择,你可以包括轮廓尺寸、控制端口(启用,触发,重置,函数调用),外港,或连接端口(Simscape)块内不同的子系统块。没有内部的块之间的联系不同的子系统块。万博1manbetx动态仿真模块®自动连接积极变体轮廓尺寸外港块的不同的子系统在编译模型。块代表变量的选择可以有输入和输出端口不同数量的输入和输出端口的父母不同的子系统块。有关更多信息,请参见港口和外港地图子系统变体选择的变体

使用不同的子系统块可以:

  • 混合子系统,模型,子系统的参考块是不同的选择。

  • 没有类似的接口的模型组件。你可以有不同数量的选择在一个港口和外港多个变体不同的子系统。然而,在列出的条件港口和外港地图子系统变体选择的变体必须满足。

  • 建立层次结构框图,不同的子系统块在一层和变量选择是在另一个层。

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

  • 减少你的模型的复杂性。

  • 在模型编译、仿真软件消除无效块在整个模型,根据你选择万博1manbetx变体激活时间。

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

变体装配子系统

一个变体装配子系统块使您能够添加或删除它的变体选择从外部来源,无需修改模型。一个变体装配子系统块可以包含模型块,子系统的参考块,或作为其变体的选择。你指定源块变体选择的参数对话框,然后修改源添加或删除变体选择的块。不像不同的子系统,你不能选择从内部管理变体变体装配子系统块。有关更多信息,请参见添加或删除变量的选择变体装配子系统模块使用外部文件

请注意

将一个不同的子系统块一个变体装配子系统块,遵循的步骤变体子系统转换为变体装配子系统

港口

在仿真中,仿真软件禁用的不活跃的港口万博1manbetx不同的子系统块。

输入

全部展开

每一个子系统,模型,或子系统的参考块包含在一个不同的子系统代表一个不同的选择。可以包含的变量选择轮廓尺寸、控制端口(启用,触发,重置,函数调用),或连接端口(Simscape)块的输入。不同的变体的选择可以有输入端口数量从输入端口的父母不同的子系统块。然而,描述的条件港口和外港地图子系统变体选择的变体必须满足。

输出

全部展开

每一个子系统,模型,或子系统的参考块包含在一个不同的子系统代表一个不同的选择。可以包含的变量选择外港连接端口(Simscape)块的输出。变体的选择可以有不同的输出端口的数量从输出端口的父母不同的子系统块。然而,描述的条件港口和外港地图子系统变体选择的变体必须满足。

请注意

独立输出港(不活跃的外港)不同的子系统输出值。除了地面,输出值选择指定输出当源无关参数的外港块,并指定一个值。

港口和外港地图子系统变体选择的变体

一个不同的子系统块可以结合使用子系统,模型,或子系统的参考块是不同的选择。的输入不同的子系统阻止接收上游模型组件映射到输入和输出端口的变体的选择。

代表变体选择的块可以有输入和输出端口不同数量的输入和输出端口的父母不同的子系统块。然而,必须满足下列条件:

  • 变体的选择必须有相同的港口不同的子系统块或容器必须在集装箱港口的一个子集。

  • 变体的选择必须有相同的外港不同的子系统块或容器必须在集装箱港口的一个子集。

  • 如果不同的子系统容器块控制端口:

    • 控制端口的类型模块的所有变体的选择必须是一样的不同的子系统块。例如,您不能使用启用子系统函数调用子系统选择在一个街区不同的子系统块。

    • 控制端口不同的子系统块和相应的控制端口的变体的选择必须具有相同的名称。例如,如果控制端口的名称不同的子系统fcn,那么相应的控制端口的名称选择也必须在所有的变体fcn

参数

全部展开

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

变量控制,确定活动的变异的选择可以是任何这些类型。

  • 表达式——在表达式模式,模型选万博1manbetx择积极的变异基于变异条件的评估。当一个表达式计算条件真正的选择变得活跃,相应的变体。当一个表达式计算条件选择变得不活跃,相应的变体。看到块之间切换选择使用条件表达式的变体

  • 标签——在标签模式,模型选万博1manbetx择积极的变异基于名称的变体。版本控制是一个字符串,并且不需要创建任何工作空间变量。看到选择在变体使用标签之间切换

  • sim codegen切换——自动切换变异模拟和代码生成工作流没有创建任何工作空间变量,使用sim codegen切换模式。当你模拟模型,模型自动选择万博1manbetxsim卡分支的主动选择。同样的,当你做一个software-in-the-loop (SIL)或processor-In-Loop(公益诉讼)模拟,生成代码,或使用外部模式,模型自动选择万博1manbetxcodegen分支。这种模式不支持模型配置一个ERT-万博1manbetxbased系统目标文件和服务代码接口。看到仿真和代码生成工作流之间切换选择不使用控制变量变异块

不同控制模式的更多信息,见介绍了版本控制。比较不同类型的变体控制模式,明白了比较不同类型的变体块控制模式变体

依赖关系

不同变体激活时间的可用性取决于的类型变量控制方式你指定。的变体激活时间参数确定模型集的时候主动选择。万博1manbetx参数也决定了哪些变化包括在生成的代码中。这个表解释了变体激活时间控制方式由每个变体。万博1manbetx

变体激活时间
变量控制方式 更新图 更新图分析所有的选择 代码编译 启动
表达式
标签 x x x
sim codegen切换 x x

编程使用

块参数:VariantControlMode
类型:特征向量
价值观:表达式|标签|sim codegen切换|
默认值:表达式

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

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

  • 更新图——当您执行模型,只有主动选择包括在模拟和代码生成工作流。生成的代码只包含积极的选择。

  • 更新图分析所有的选择——当你执行模式,活跃的和不活跃的选择对模型的一致性进行了分析。然而,只有积极的选择包括在模拟和代码生成工作流。生成的代码只包含积极的选择。

  • 代码编译——当你执行模式,活跃的和不活跃的选择进行了分析模型的一致性,和所有的选择都是包含在模拟和代码生成工作流。生成的代码同时包含活跃的和不活跃的选择封闭预处理条件#如果# elif。然而,执行由生成的代码只包含积极的选择。

  • 启动——当你执行模式,活跃的和不活跃的选择进行了分析模型的一致性,和所有的选择都是包含在模拟和代码生成工作流。使用这个选项,可以改善迭代模拟使用快速启动的速度。有关更多信息,请参见运行迭代模拟不重新编译模型变体使用快速重启系统。代码生成自模型包含两个活跃的和不活跃的选择是用普通的如果条件。可执行由生成的代码还包含两个活跃的和不活跃的选择。

  • 继承Simulink.Va万博1manbetxriantControl——当您执行模式,阻止继承激活时间变异控制变量的类型万博1manbetxSimulink.VariantControl。如果一个变体块有多个变体控制变量的类型万博1manbetxSimulink.VariantControl,那么所有这些变量必须具有相同的激活时间。

依赖关系

不同变体激活时间的可用性取决于类型的变量控制方式指定。的变体激活时间参数确定时,仿真软件设置当前的选择。万博1manbetx参数也决定了哪些变化包括在生成的代码中。这个表解释了变体激活时间控制方式由每个变体。万博1manbetx

变体激活时间
变量控制方式 更新图 更新图分析所有的选择 代码编译 启动
表达式
标签 x x x
sim codegen切换 x x

编程使用

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

当你指定一个类型的变量中列出控制变量类型的变体(操作数)的变体,仿万博1manbetx真软件生成变异控制表达式的变体的选择变体装配子系统块。的不同的控制变量你指定这是左边的成员枚举变量的选择右边是生成的表达式。双方都是相关的= =

变量控制变量作为开关改变活跃变体的选择。你指定一个值变异控制变量和运行模拟。在仿真中,仿真软件评价变量控制表达式来万博1manbetx确定活性变异的选择。当一个表达式计算真正的选择设置活动,相应的变体。改变积极的变异,变异控制变量的值改变,控制表达式计算相应的变体真正的变活跃。

依赖关系

这个参数只在可用变体装配子系统块。要启用该参数,设置变量控制方式表达式

编程使用

块参数:VariantControlVariable
类型:特征向量
价值观:万博1manbetxSimulink.VariantControl标量变量,万博1manbetxSimulink.Parameter,结构体
默认值:

添加模型子系统的参考选择一个块作为变体变体装配子系统块,包含相应的模型指定枚举类名或子系统文件名作为其成员。然后您可以验证枚举类使用的刷新按钮变量的选择表。在一个成功的验证、添加枚举类的成员变量的选择变体装配子系统块。每个选择都有变异控制表达式不同的控制变量在其左边的成员变体选择的枚举你指定在其右侧。表达式的两边都是相关的= =。新添加的变量选择和相应的控制表达式中显示变量的选择表。

删除从一个变体的选择变体装配子系统块,把相应的成员从您指定的枚举类。你不能选择从内部管理变体变体装配子系统块。

您所指定的枚举类,必须在你当前的MATLAB的搜索路径®会话。信息如何将文件或文件夹添加到搜索路径,明白了目录

有关如何添加的更多信息选择使用变体选择的枚举参数,看到添加或删除变量的选择变体装配子系统模块使用外部文件

依赖关系

这个参数只在可用变体装配子系统块。要启用该参数,设置变量控制方式表达式

编程使用

块参数:VariantChoicesEnumeration
类型:特征向量
价值观:使用定义枚举类classdef万博1manbetxSimulink.defineIntEnumType
默认值:

添加模型子系统的参考选择一个块作为变体变体装配子系统块,指定相应的模型或子系统文件名称。文件名必须指定为MATLAB表达式返回一个一维单元阵列特征向量的评估。然后您可以验证表达式中使用刷新按钮变量的选择表。在成功验证,对应的块作为变种选择添加到指定的文件变体装配子系统块。对于每一个选择,控制标签生成的一个变体。控制变量的名称标签的名称一样的选择。新添加的变量选择和相应的标签显示在控制变量的选择表。

删除从一个变体的选择变体装配子系统块,修改该参数中指定的表达式。你不能管理的变体的选择变体装配子系统块在块。

MATLAB表达式指定必须包含这两种:

  • 模型或子系统搜索路径的文件名,你当前的MATLAB会话。例如,如果您指定{model1。基金”、“subsystemRef1.slx '}说明符,对应的块model1.slxsubsystemRef1.slx文件被添加的变体的选择变体装配子系统块。

  • 文件名称模式匹配的模型在MATLAB或子系统文件名的路径。模式中的路径可以绝对或相对于模型的父文件夹包含变体装配子系统块。例如,如果您指定{folder_1 / *。基金”、“folder_2 / * .slx”}说明符,仿真软件通过特征向量万博1manbetxfolder_1 / *folder2 / *dir函数。然后返回的函数模型和子系统文件位于folder1folder2文件夹。相对应的块返回的文件被添加的变体的选择变体装配子系统块。

信息如何将文件或文件夹添加到搜索路径,明白了目录

有关如何指定选项的更多信息变体的选择说明符参数,看到添加或删除变量的选择变体装配子系统模块使用外部文件

依赖关系

这个参数只在可用变体装配子系统块。要启用该参数,设置变量控制方式标签

编程使用

参数:VariantChoicesSpecifier
类型:特征向量
值:任何MATLAB表达式,计算一维单元阵列的文件名或文件名称模式。
默认值:

每个变体选择的表有一行中包含的子系统。如果没有变异的选择,桌子上是空的。

您可以使用按钮的左边变量的选择表来修改表中的元素。

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

创建/编辑选定的变量对象:创建或编辑万博1manbetxSimulink.Variant全球工作区并指定对象变异条件使用万博1manbetxSimulink.Variant对象参数对话框。

请注意

模型使用工作区底部,此操作创建万博1manbetxSimulink.Variant对象基本工作空间和对象仅为当前可用MATLAB会话。永久存储数据,保存对象在垫子上文件或MATLAB脚本。

创建或编辑选定的变量对象按钮
打开选定的变量选择:打开子系统为选中的行块。 打开选定的变体的选择按钮
从变体刷新对话框信息子系统的内容:更新变量的选择表根据变量控制的变体的选择和价值观在全球工作区。 从变体刷新对话框信息子系统内容按钮

依赖关系

变体装配子系统块只允许您打开选定的变量选择和刷新列表变量选择在本节中使用的按钮。添加新变体的选择变体装配子系统块,看添加或删除变量的选择变体装配子系统模块使用外部文件

这个参数是只读的。

该参数显示选择的名称。每个选择都有变异的形式控制标签,表情,或开关。为变体装配子系统标签模式中,没有单独的变量控制。选择的名称作为变量控制的主动选择。

选择一个名称,指定为一个字符串。

依赖关系

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

指定条件表达式来确定积极的选择。当一个表达式计算条件真正的选择万博1manbetx,仿真软件激活相应的变体。当一个表达式计算条件仿真万博1manbetx软件失效,选择相应的变体。

版本控制可以:

在这里,一个B是操作数称为不同的控制变量= =,~ =,& &运营商在条件表达式。条件表达式可以包含一个或多个这样的变异控制变量和运营商。支持的类型和信息存储位置的变异控制变量万博1manbetx,看看控制变量类型的变体(操作数)的变体存储位置变异控制变量(操作数)的变体。运营商的信息,请参阅类型的运营商不同活化时间的变体块

有关更多信息,请参见块之间切换选择使用条件表达式的变体

请注意

变体装配子系统块,该参数是一个列表的自动生成的布尔表达式不同的控制变量左边的成员枚举变量的选择右边的表达式。的表情都与= =。这个参数是只读的。

编程使用

结构:由只读variant.Name字段变体参数结构
类型:特征向量
值:版本控制与变体的选择有关
默认值:“变异”

这个参数是只读的。

该参数指定为显示条件表达式万博1manbetxSimulink.Variant对象。改变或编辑条件表达式,使用万博1manbetxSimulink.Variant参数对话框出现在工作区中双击对象时。

请注意

你指定一个条件表达式的操作数类型万博1manbetxSimulink.Variant必须定义在基工作区或一个数据字典。指定操作数中定义的面具不支持或模型的工作区。万博1manbetx

这个列表包含所有变体选择的标签。树立一个积极的选择,从列表中选择一个标签。相应的选择变得活跃。或者,您可以遵循所描述的方法设置主动选择使用变异控制标签改变标签的积极的选择模式。

依赖关系

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

编程使用

参数:LabelModeActivechoice
类型:特征向量
值:如果没有指定标签模式主动选择,值是空的。如果指定标签模式积极的选择,该值的名称标签模式积极的选择。
默认值:
  • ——万博1manbetx仿真软件生成一个错误当没有活跃的变体的选择。

  • ——当你选择这个选项,如果没有积极的变体的选择,仿真软件模拟该模型没有任何活跃的变体的选择万博1manbetx不同的子系统。万博1manbetx动态仿真模块断开所有的块连接到输入和输出流不同的子系统块,从而消除变异区域完全从模型。不活跃的外港的子系统输出值。除了地面,输出值选择指定输出当源无关参数的外港您所选择的块并指定一个值。

依赖关系

该参数只提供如果没有默认的变体选择的不同的子系统如果你设置变量控制方式表达式

编程使用

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

当您选择传播条件子系统之外的变体参数,仿真软件传播的变万博1manbetx异条件的底层块不同的子系统容器块子系统可以调整其接口底层模块的状态。端口映射到活跃的港口选择变得活跃。港口不映射到港口不活跃的选择变得不活跃。选择这个选项确保组件之外的不同的子系统都知道街区内的活跃的和不活跃的状态吗不同的子系统块。有关更多信息,请参见传播变异条件变体以外的子系统使用变体子系统模块,有条件地执行子系统

请注意

变异条件外不传播不同的子系统块如果块内的所有变体的选择有相同的接口。

编程使用

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

块特征

数据类型

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

直接引线

没有

多维信号

是的一个

适应信号

是的一个

讨论二阶导数过零检测

没有

一个实际数据类型或能力取决于块实现的支持。万博1manbetx

扩展功能

版本历史

介绍了R2010b