使用组件的内部变量时出错
Error when using an inner variable of a component
我正在使用 Modelon 的 Thermal Power Library。 Thermal Power Library 中有一个冷凝器组件,用于发电厂的建模。
冷凝器组件中wall_2的默认传热面积为0.8*A_heat_tot
,A_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
限定符无关。
我正在使用 Modelon 的 Thermal Power Library。 Thermal Power Library 中有一个冷凝器组件,用于发电厂的建模。
冷凝器组件中wall_2的默认传热面积为0.8*A_heat_tot
,A_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
限定符无关。