为什么Dymola/Modelica中Controlbus组件连接的模型之间无法识别参数?

我正在制作可以在仿真循环中输入模型参数的接口包。为了连接接口包和仿真模型,我使用了 Standard Modelica Library Ver. 中的 Controlbus。3.2.2.

检查模型没问题,但是如果我模拟模型,则会弹出如下图所示的错误。

这是与这个模型相关的方程

Omega_e = Omega_d * N_t[N];
Alpha_d = der(Omega_d);

为了求解微分方程,我认为求解器需要 N_t 的特定参数。所以我把来自接口模型的参数放入并使用标准 Modelica 库中的 Controlbus 组件发送参数。

如上图,我肯定把参数。(参数的具体值被删除,因为它是机密)

我找不到这个错误的问题是什么。请帮帮我。

非常感谢。

回答

基于不完整的模型,要说发生了什么有点棘手,但是:

通过控制总线(或一般的连接器)发送参数有点复杂,不鼓励。

应该可以通过将“计算参数”声明为parameter Integer N(fixed=false); initial equation N=myBus.N;,而不是parameter在连接器中使用它。

如果您不将其声明为参数,Dymola 将尝试(但失败)对其进行区分。如果您在连接器中将其声明为参数,它将不会被传播(因为连接两个参数会导致断言)。


以上是为什么Dymola/Modelica中Controlbus组件连接的模型之间无法识别参数?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>