我有一个调用其他函数的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()
加载文件,但它不起作用。
每个文件都在同一目录中。
如何加载文件以解决问题?
答案 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")