Modelica 是否有方法将参数传递给可更换/重新声明的组件?

Modelica 是否有方法将参数传递给可更换/重新声明的组件?,modelica,Modelica,这个问题涉及到 我有一些可以互换的子模型,我使用可替换/重新声明机制将它们包含在模型中(例如,冷却回路模型中不同类型热交换器的子模型) 我想将主模型的一些参数(比如管道的长度和直径)与子模块的相应参数“链接”。这通常在定义模型实例时完成(即在可替换行中),但是在重新声明组件网时,如何也应用此链接?特别是如果使用了选择所有匹配 以下是“我的”模型(感谢中的帮助): 我可以在注释中添加所有可能的重新声明,例如编写choice(redeclare Test.Call2 OBJ(pp=pp0))而不是使

这个问题涉及到

我有一些可以互换的子模型,我使用可替换/重新声明机制将它们包含在模型中(例如,冷却回路模型中不同类型热交换器的子模型)

我想将主模型的一些参数(比如管道的长度和直径)与子模块的相应参数“链接”。这通常在定义模型实例时完成(即在
可替换
行中),但是在重新声明组件网时,如何也应用此链接?特别是如果使用了
选择所有匹配

以下是“我的”模型(感谢中的帮助):

我可以在注释中添加所有可能的重新声明,例如编写
choice(redeclare Test.Call2 OBJ(pp=pp0))
而不是使用
choiceAllMatching
,但当许多子模块是可交换的时,这可能会变得冗长且容易出错(只编写一次“链接”会更容易、更安全)。
我尝试在主模型参数部分添加一个通用的
OBJ.pp=pp0
,但这不被接受。正确的方法是什么?

只需将修饰符写入约束类:

replaceable Test.Call1 OBJ constrainedby Test.Call_Interface(pp=pp0) 
    annotation (choicesAllMatching);

@Songio其他相关示例如下:
replaceable Test.Call1 OBJ constrainedby Test.Call_Interface(pp=pp0) 
    annotation (choicesAllMatching);