如何在OMPython中使用ModelicaSystem加载文件?

时间:2017-11-17 18:22:10

标签: python openmodelica

我有一个调用其他函数的Modelica模型,用其他文件编写以进行调制。当我使用OMPython使用以下内容创建ModelicaSystem对象时:

from OMPython import ModelicaSystem  
model = ModelicaSystem("MyModel.mo", "MyModel")

我收到以下错误:

Error: Class MyFunction not found in scope MyModel (looking for a function or record).

MyModel在他的一些方程式中使用其他类和函数,例如MyFunction,但我不知道如何加载MyFunction以及模型使用的其他文件以便MyModel被实例化。

我首先尝试在函数上使用ModelicaSystem对象构造函数,但我得到:

Cannot instantiate MyFunction due to class specialization FUNCTION.

我尝试使用OMCSession()加载文件,但它不起作用。 每个文件都在同一目录中。

如何加载文件以解决问题?

1 个答案:

答案 0 :(得分:0)

您可以尝试按以下方式进行编码:

from OMPython import OMCSessionZMQ
omc = OMCSessionZMQ()
model_path=omc.sendExpression("getInstallationDirectoryPath()") + "<Modelica file path>"
from OMPython import ModelicaSystem
mod=ModelicaSystem(model_path + "FileName.mo","ModelName")