getParameterNames
说明
获取指定架构元素 paramNames
= getParameterNames(element
)element
上可用的参数名称。
获取指定架构实例 paramNames
= getParameterNames(instance
)instance
中可用的参数名称。
示例
此示例展示了一个轮轴架构模型,其特定于实例的参数在 System Composer™ 中公开。这些参数被定义为 Simulink® 引用模型上的模型参量,用作与两个 System Composer 组件相连的模型行为。您可以在每个参照组件上独立更改这些参数的值。
要为架构模型或组件添加参数,请使用参数编辑器。要删除这些参数,请从参数编辑器中删除它们。
打开轮轴 mAxleArch
的架构模型,请使用属性检查器与引用组件上的参数交互。
model = systemcomposer.openModel("mAxleArch");
查找 Component
对象中的 RightWheel
和 LeftWheel
组件。
rightWheelComp = lookup(model,Path="mAxleArch/RightWheel"); leftWheelComp = lookup(model,Path="mAxleArch/LeftWheel");
获取 RightWheel
组件的参数名称。由于 LeftWheel
组件与同一引用模型 mWheel
相连,因此 LeftWheel
组件上的参数也是相同的。
paramNames = rightWheelComp.getParameterNames
paramNames = 1×3 string
"Diameter" "Pressure" "Wear"
获取 Pressure
组件架构上的 RightWheel
参数。
paramPressure = rightWheelComp.Architecture.getParameter(paramNames(2));
显示 Pressure
参数的值类型。
paramPressure.Type
ans = ValueType with properties: Name: 'Pressure' DataType: 'double' Dimensions: '[1 1]' Units: 'psi' Complexity: 'real' Minimum: '' Maximum: '' Description: '' Owner: [1×1 systemcomposer.arch.Architecture] Model: [1×1 systemcomposer.arch.Model] UUID: '47c2446a-f6b0-4710-9a73-7ed25d1671c4' ExternalUID: ''
获取 RightWheel
组件参数值。
for i = 1:length(paramNames) paramName = paramNames(i) [paramValue,paramUnits,isDefault] = rightWheelComp.getParameterValue(paramNames(i)) end
paramName = "Diameter"
paramValue = '16'
paramUnits = 'in'
isDefault = logical
1
paramName = "Pressure"
paramValue = '31'
paramUnits = 'psi'
isDefault = logical
0
paramName = "Wear"
paramValue = '0.25'
paramUnits = 'in'
isDefault = logical
1
获取 LeftWheel
组件参数值。
for i = 1:length(paramNames) paramName = paramNames(i) [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue(paramNames(i)) end
paramName = "Diameter"
paramValue = '16'
paramUnits = 'in'
isDefault = logical
1
paramName = "Pressure"
paramValue = '32'
paramUnits = 'psi'
isDefault = logical
1
paramName = "Wear"
paramValue = '0.25'
paramUnits = 'in'
isDefault = logical
1
首先,检查计算后的 RightWheel
参数。
for i = 1:length(paramNames) paramName = paramNames(i) [paramValue,paramUnits] = rightWheelComp.getEvaluatedParameterValue(paramNames(i)) end
paramName = "Diameter"
paramValue = 16
paramUnits = 'in'
paramName = "Pressure"
paramValue = 31
paramUnits = 'psi'
paramName = "Wear"
paramValue = 0.2500
paramUnits = 'in'
检查计算后的 LeftWheel
参数。
for i = 1:length(paramNames) paramName = paramNames(i) [paramValue,paramUnits] = leftWheelComp.getEvaluatedParameterValue(paramNames(i)) end
paramName = "Diameter"
paramValue = 16
paramUnits = 'in'
paramName = "Pressure"
paramValue = 32
paramUnits = 'psi'
paramName = "Wear"
paramValue = 0.2500
paramUnits = 'in'
为 PSI
组件上的 LeftWheel
参数设置参数值和单位。
首先,检查 LeftWheel
上压力的当前值。
[paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
paramValue = '32'
paramUnits = 'psi'
isDefault = logical
1
更新 LeftWheel
上的压力值。
leftWheelComp.setParameterValue("Pressure","34") [paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
paramValue = '34'
paramUnits = 'psi'
isDefault = logical
0
将 Pressure
上的 LeftWheel
参数恢复为默认值。
leftWheelComp.resetParameterToDefault("Pressure")
检查 LeftWheel
上压力的还原值。
[paramValue,paramUnits,isDefault] = leftWheelComp.getParameterValue("Pressure")
paramValue = '32'
paramUnits = 'psi'
isDefault = logical
1
在 Pressure
组件上提升 LeftWheel
参数。
addParameter(model.Architecture,Path="mAxleArch/LeftWheel",Parameters="Pressure");
从 Pressure
模型的根架构中获取提升后的 mAxleArch
参数。
pressureParam = model.Architecture.getParameter("LeftWheel.Pressure");
调整提升后的 Pressure
参数值。
pressureParam.Value = "30";
pressureParam
pressureParam = Parameter with properties: Name: "LeftWheel.Pressure" Value: '30' Type: [1×1 systemcomposer.ValueType] Parent: [1×1 systemcomposer.arch.Architecture] Unit: 'psi'
获取 Pressure
参数提升来源的源参数。
sourceParam = getParameterPromotedFrom(pressureParam)
sourceParam = Parameter with properties: Name: 'Pressure' Value: '30' Type: [1×1 systemcomposer.ValueType] Parent: [1×1 systemcomposer.arch.Component] Unit: 'psi'
将提升后的 Pressure
参数值重置为源参数中的默认值。
resetToDefault(pressureParam); pressureParam
pressureParam = Parameter with properties: Name: "LeftWheel.Pressure" Value: '32' Type: [1×1 systemcomposer.ValueType] Parent: [1×1 systemcomposer.arch.Architecture] Unit: 'psi'
删除提升的参数。
destroy(pressureParam)
在 Muffler
架构模型中添加一个新的 mAxleArch
组件。
topModel = systemcomposer.loadModel("mAxleArch"); mufflerComp = addComponent(topModel.Architecture,"Muffler");
将参数 noiseReduction
添加到 Muffler
组件中。
noiseReduce = addParameter(mufflerComp.Architecture,"noiseReduction");
为参数 Unit
设置默认值 NoiseReduction
。
valueTypeNoise = noiseReduce.Type;
valueTypeNoise.Units = "dB";
为 Value
参数设置 noiseReduction
属性。
noiseReduce.Value = "30";
查看 noiseReduction
参数的属性。
noiseReduce
noiseReduce = Parameter with properties: Name: "noiseReduction" Value: '30' Type: [1×1 systemcomposer.ValueType] Parent: [1×1 systemcomposer.arch.Architecture] Unit: 'dB'
重新排列 mAxleArch
架构模型,查看所有组件。
Simulink.BlockDiagram.arrangeSystem("mAxleArch");
删除 Muffler
组件。
destroy(mufflerComp)
保存更新后的模型。
model = systemcomposer.loadModel("mWheelArch");
save(model)
save(topModel)
输入参数
输出参量
参数名称,以字符串数组形式返回。
数据类型: string
详细信息
术语 | 定义 | 应用 | 更多信息 |
---|---|---|---|
架构 | System Composer™ 架构代表由组件组成的系统,以及这些组件在结构上和行为上如何相互关联。 | 不同类型的架构描述系统的不同方面。您可以使用视图来可视化架构中的组件子集。您可以使用参数编辑器在架构层级上定义参数。 | |
根 | 根位于架构层次结构的顶层。根架构的边界由围绕相关系统的架构端口定义。 | 根架构的系统边界包围着您的架构模型。您可以添加架构端口来定义跨边界接口。 | |
模型 | System Composer 模型是包含架构信息的文件,涵盖组件、端口、连接器、接口和行为等信息。 | 对模型执行操作,包括提取根级架构、应用配置文件、链接接口数据字典或从模型架构生成实例。System Composer 模型存储为 SLX 文件。 | 创建带接口和需求链接的架构模型 |
组件 | 组件是系统中可替换的部分,用于在架构环境中实现明确的函数。组件定义架构元素,例如函数、另一个系统、硬件、软件或其他概念实体。组件也可以是子系统或子函数。 | 组件以模块的形式表示,是架构模型的一部分,并且可以分离成可重用的工件。使用接口编辑器通过端口接口在组件之间传输信息,使用参数编辑器传输参数。 | |
端口 | 端口是组件或架构上的节点,表示与其环境的交互点。通过端口,信息可以流向其他组件或系统,或者从其他组件或系统流入。 | 组件端口是组件上与其他组件之间的交互点。架构端口是系统边界上的端口,无论该边界是在组件内还是在整体架构模型内。根架构具有由其端口定义的边界。 | |
连接器 | 连接器是提供端口之间连接的线路。连接器描述信息如何在组件或架构之间流动。 | 通过连接器,两个组件可以进行交互,而无需定义交互的性质。在端口上设置接口来定义组件之间的交互方式。 |
术语 | 定义 | 应用 | 更多信息 |
---|---|---|---|
引用组件 | 引用组件是通过独立架构模型、Simulink® 行为模型或 Simulink 子系统行为来定义的组件。引用组件代表其他组合的逻辑层次结构。 | 您可以将引用组件作为 Reference Component 模块来同步和重用。模型引用对应 Simulink 模型。FMU 组件对应链接到功能模型单元 (FMU) 文件的组件。子系统引用对应 Simulink 子系统。架构引用对应 System Composer 架构模型或子系统。 | |
参数 | 参数是值类型的实例特定值。 | 参数可用于作为架构模型一部分的架构和组件。还可用于链接到指定模型参量的模型/子系统/架构引用的组件。您可以为每个组件指定独立的参数值。 | |
子系统组件 | 子系统组件是作为父级 System Composer 架构模型的一部分的 Simulink 子系统。 | 将 Simulink 子系统行为添加到组件中,以便在 System Composer 中编写子系统组件。由于子系统组件是父模型的一部分,因此不能以 Reference Component 模块的形式同步和重用子系统组件。 | |
状态图 | 状态图展示了组件在其整个状态生命周期中与状态相关的行为,以及可触发状态间转移的事件。 | 添加 Stateflow® 图行为,以使用状态机描述组件。您不能将 Stateflow 图行为作为 Reference Component 模块同步和重用,因为该组件是父模型的一部分。 |
版本历史记录
在 R2022a 中推出
另请参阅
工具
模块
对象
函数
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)