makeVariant
将组件转换为变体选择项
语法
说明
[ 将组件 variantComp,choices] = makeVariant(component)component 转换为变体选择项组件,并返回父 Variant Component 模块对象 variantComp 和可用的变体选择项组件 choices。
[ 将 variantComp,choices] = makeVariant(component,Name=Value)component 组件转换为带有附加选项的变体选择项组件,并返回父级 Variant Component 模块对象 variantComp 和可用的变体选择项组件 choices。
示例
创建顶层架构模型。
modelName = "archModel"; arch = systemcomposer.createModel(modelName); systemcomposer.openModel(modelName); rootArch = get(arch,"Architecture");
创建一个新组件。
newComponent = addComponent(rootArch,"Component");为组件添加端口。
inPort = addPort(newComponent.Architecture,"testSig","in"); outPort = addPort(newComponent.Architecture,"testSig","out");
将组件变为变体组件。
[variantComp,choices] = makeVariant(newComponent)
variantComp =
VariantComponent with properties:
Architecture: [1×1 systemcomposer.arch.Architecture]
Name: 'Component'
Parent: [1×1 systemcomposer.arch.Architecture]
Ports: [1×2 systemcomposer.arch.ComponentPort]
OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
Parameters: [0×0 systemcomposer.arch.Parameter]
Position: [15 15 65 83]
Model: [1×1 systemcomposer.arch.Model]
SimulinkHandle: 213.0026
SimulinkModelHandle: 153.0018
UUID: '128c7897-aaa2-45ab-9dda-3a78faaa5d73'
ExternalUID: ''
choices =
Component with properties:
IsAdapterComponent: 0
Architecture: [1×1 systemcomposer.arch.Architecture]
Name: 'Component'
Parent: [1×1 systemcomposer.arch.Architecture]
Ports: [1×2 systemcomposer.arch.ComponentPort]
OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
Parameters: [0×0 systemcomposer.arch.Parameter]
Position: [50 20 100 80]
Model: [1×1 systemcomposer.arch.Model]
SimulinkHandle: 155.0049
SimulinkModelHandle: 153.0018
UUID: '7d45c04a-ecce-40ae-9b5b-e1dd9bd8ed5b'
ExternalUID: ''
创建顶层架构模型。
modelName = "archModel"; arch = systemcomposer.createModel(modelName); systemcomposer.openModel(modelName); rootArch = get(arch,"Architecture");
创建一个新组件。
newComponent = addComponent(rootArch,"Component");为组件添加端口。
inPort = addPort(newComponent.Architecture,"testSig","in"); outPort = addPort(newComponent.Architecture,"testSig","out");
在 expression 模式下,将组件变为变体组件。
[variantComp,choices] = makeVariant(newComponent, VariantControl = "V==1", VariantActivationTime = "update diagram", AllowZeroVariantControls="on")
variantComp =
VariantComponent with properties:
Architecture: [1×0 systemcomposer.arch.Architecture]
Name: 'Component'
Parent: [1×1 systemcomposer.arch.Architecture]
Ports: [1×2 systemcomposer.arch.ComponentPort]
OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
Parameters: [0×0 systemcomposer.arch.Parameter]
Position: [15 15 65 83]
Model: [1×1 systemcomposer.arch.Model]
SimulinkHandle: 213.0027
SimulinkModelHandle: 153.0020
UUID: 'd765abf2-7b41-49f5-ae03-47fc1a33e287'
ExternalUID: ''
choices =
Component with properties:
IsAdapterComponent: 0
Architecture: [1×1 systemcomposer.arch.Architecture]
Name: 'Component'
Parent: [1×1 systemcomposer.arch.Architecture]
Ports: [1×2 systemcomposer.arch.ComponentPort]
OwnedPorts: [1×2 systemcomposer.arch.ComponentPort]
OwnedArchitecture: [1×1 systemcomposer.arch.Architecture]
Parameters: [0×0 systemcomposer.arch.Parameter]
Position: [50 20 100 80]
Model: [1×1 systemcomposer.arch.Model]
SimulinkHandle: 155.0050
SimulinkModelHandle: 153.0020
UUID: '1d4fa6f5-4a0b-4bbf-b244-293cff454816'
ExternalUID: ''
输入参数
要转换为变体选择项组件的组件,指定为 systemcomposer.arch.Component 对象。
名称-值参数
将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。
示例: [variantComp,choices] = makeVariant(newComponent,Name="NewVariantComponent",Label="NewVariantChoice",Choices=["NewVariantChoiceA","NewVariantChoiceB","NewVariantChoiceC"],ChoiceLabels=["Choice A","Choice B","Choice C"])
变体组件的名称,指定为字符向量或字符串。
示例: [variantComp,choices] = makeVariant(newComponent,Name="NewVariantComponent")
数据类型: char | string
来自转换组件的变体选择项的标签,指定为字符向量或字符串。
示例: [variantComp,choices] = makeVariant(newComponent,Name="NewVariantComponent",Label="NewVariantChoice")
数据类型: char | string
变体选择项名称,指定为字符向量元胞数组或字符串数组。其他变体选择项也会与转换组件中的活动选择项一起添加到新的变体组件中。
示例: [variantComp,choices] = makeVariant(newComponent,Choices=["NewVariantChoiceA","NewVariantChoiceB","NewVariantChoiceC"])
数据类型: char | string
变体选择项标签,指定为字符向量元胞数组或字符串数组。
示例: [variantComp,choices] = makeVariant(newComponent,Choices=["NewVariantChoiceA","NewVariantChoiceB","NewVariantChoiceC"],ChoiceLabels=["Choice A","Choice B","Choice C"])
数据类型: char | string
变体控制表达式,指定为布尔表达式。活动变体选择项是根据布尔表达式的计算结果确定的。创建的变体组件采用 expression 模式。
示例: [variantComp,choices] = makeVariant(newComponent, VariantControl = ‘V==1’)
数据类型: char | string
变体激活时间,指定为字符串或字符向量。活动变体选择项是根据布尔表达式的计算结果确定的。对于具有 Simulink® 行为的 Reference Component,支持的变体激活时间为:update diagram、update diagram analyze all choices、code compile、startup、runtime 和 inherit from Simulink.VariantControl。
示例: [variantComp,choices] = makeVariant(newComponent, VariantControl = ‘V==1’,VariantActivationTime = update diagram)
依赖项
要启用该参数,必须指定 VariantControl。
数据类型: char | string
允许变体组件的活动变体选择项选项为零,指定为 off 或 on。
示例: [variantComp,choices] = makeVariant(newComponent, VariantControl = ‘V==1’, AllowZeroVariantControls=’on’)
依赖项
要启用该参数,必须指定 VariantControl。
输出参量
变体组件,以 systemcomposer.arch.VariantComponent 对象的形式返回。
变体选择项,以 systemcomposer.arch.Component 对象数组的形式返回。
数据类型: char
详细信息
| 术语 | 定义 | 应用 | 更多信息 |
|---|---|---|---|
| 架构 | System Composer™ 架构代表由组件组成的系统,以及这些组件在结构上和行为上如何相互关联。 | 不同类型的架构描述系统的不同方面。您可以使用视图来可视化架构中的组件子集。您可以使用参数编辑器在架构层级上定义参数。 | |
| 根 | 根位于架构层次结构的顶层。根架构的边界由围绕相关系统的架构端口定义。 | 根架构的系统边界包围着您的架构模型。您可以添加架构端口来定义跨边界接口。 | |
| 模型 | System Composer 模型是包含架构信息的文件,涵盖组件、端口、连接器、接口和行为等信息。 | 对模型执行操作,包括提取根级架构、应用配置文件、链接接口数据字典或从模型架构生成实例。System Composer 模型存储为 SLX 文件。 | 创建带接口和需求链接的架构模型 |
| 组件 | 组件是系统中可替换的部分,用于在架构环境中实现明确的函数。组件定义架构元素,例如函数、另一个系统、硬件、软件或其他概念实体。组件也可以是子系统或子函数。 | 组件以模块的形式表示,是架构模型的一部分,并且可以分离成可重用的工件。使用接口编辑器通过端口接口在组件之间传输信息,使用参数编辑器传输参数。 | |
| 端口 | 端口是组件或架构上的节点,表示与其环境的交互点。通过端口,信息可以流向其他组件或系统,或者从其他组件或系统流入。 | 组件端口是组件上与其他组件之间的交互点。架构端口是系统边界上的端口,无论该边界是在组件内还是在整体架构模型内。根架构具有由其端口定义的边界。 | |
| 连接器 | 连接器是提供端口之间连接的线路。连接器描述信息如何在组件或架构之间流动。 | 通过连接器,两个组件可以进行交互,而无需定义交互的性质。在端口上设置接口来定义组件之间的交互方式。 |
| 术语 | 定义 | 应用 | 更多信息 |
|---|---|---|---|
| 变体 | 变体是变体组件中众多结构或行为选择项之一。 | 在执行分析时,使用变体可快速切换组件的不同架构设计。 | 创建变体 |
| 变体控制项 | 变体控制项是控制活动变体选择项的字符串。 | 以编程方式设置变体控制项,以控制哪个变体处于活动状态。 | 设置变体控制条件 |
版本历史记录
在 R2019a 中推出
另请参阅
模块
对象
函数
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)