使用组件的内部变量时出错

Error when using an inner variable of a component

我正在使用 Modelon 的 Thermal Power Library。 Thermal Power Library 中有一个冷凝器组件,用于发电厂的建模。 冷凝器组件中wall_2的默认传热面积为0.8*A_heat_totA_heat_tot的变量是冷凝器组件中的一个内部变量,但是当我尝试使用这个变量时,有是一个错误,显示此变量未定义。

我的问题是,如果我可以直接使用内部变量。如果没有,我应该如何使用它?

简答:您需要使用完整路径来寻址变量,即 wall_2.A_heat_tot.

A_heat_tot 定义在 StandardWall 中,因此可以直接在 class 中引用。但是,当您从 StandardWall 实例外部(即 wall_2 外部)对 A_heat 进行更改时,您必须指向 origin A_heat_tot 因为它在您尝试使用它的范围内是未知的。

同样,如果您在仿真模型中进行修改 (Preheater_Model_Validation2),则必须使用完整路径,即 hex.wall_2.A_heat = hex.A_heat_tot

顺便说一下,这与 Modelica 语言中的 inner 限定符无关。