为什么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 将尝试(但失败)对其进行区分。如果您在连接器中将其声明为参数,它将不会被传播(因为连接两个参数会导致断言)。
THE END
二维码