如何解决JModeli中“找不到或无法连接到现有MATLAB会话”的错误

2024-05-16 02:02:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在JModelica中使用Simulink生成的FMU模型。 当我使用load_fmu函数时,我在日志文件中得到下一个错误:

FMIL: module = Model, log level = 2: [logStatusError][FMU status:Error] Cannot find available MATLAB session open for co-simulation.

FMIL: module = Model, log level = 2: [logStatusError][FMU status:Error] fmi2Instantiate: Cannot find or connect to existing MATLAB session.

我首先使用this为Python安装了Matlab引擎API。
然后,我在Matlab中开始Matlab会话:

shareMATLABForFMUCoSim

我在JModelica中以管理员“pylab64”的身份运行并执行:

import matlab.engine 
eng=matlab.engine.connect_matlab()

最后,我尝试使用以下方法加载FMU模型:

from pymodelica import compile_fmu
from pyfmi import load_fmu
model=load_fmu(fmufile)

然后我得到一个错误:

FMUException: Failed to instantiate the model. See the log for possibly more information.

以及上面解释的日志文件。你知道吗

我认为Matlab连接是正确创建的,因为我可以执行eng.sqrt(4.0),并且得到了正确的答案(2.0)。你知道吗

是否有任何问题我没有考虑,以便我可以加载JModelica中的FMU模型?你知道吗


Tags: 文件模型importlogmodel错误loadlevel