【发布时间】:2019-02-01 16:14:31
【问题描述】:
我尝试使用 python 模拟我的库的简单模型:
dymola.translateModel("path.to.model")
output = dymola.simulateExtendedModel('path.to.model')
log = dymola.getLastErrorLog()
print(log)
print(output)
输出是:
翻译 = 真
输出 =
Failed
Not possible to open file "dsres.mat": No such file or directory
= false, {}
[False, []]
似乎模型翻译得很好,但没有完成/开始模拟。
编辑:
- 许可证状态正确
- 使用 DymolaInterface(showwindow=False) 表明已加载正确的模型及其所有依赖项
- 很多警告(F.e. 使用了错误的单位),但模型使用 dymola 模拟得很好
错误信息:
还有:
我正在使用Modelica.Utilities.Files.loadResource(modelica://ProjectFolder/Data/Files/file.csv) 将一些文件加载到模型中。
编辑2:
- 在项目中,我有两个包,一个包含模拟中使用的所有模型,另一个用于实际模拟的模型。
- 使用基本模型模拟第一个包中的检查模型可以正常工作。
- 将第二个包中的内容移到第一个包中并不能解决同样的错误
- 模拟真实模型不起作用。为什么模拟第二个包中的模型不起作用?
【问题讨论】:
-
file:///C:/Program%20Files/Dymola%202019%20FD01/Modelica/Library/python_interface/doc/index.html有一些文档,其中包含示例。这些对你有用吗?此外,如果上面的示例完整,即包括导入语句、使用 MSL 中的模型而不是 path.to.model 等,那么对您的帮助会更容易。 -
用 MSL 模拟工作!将在星期一编辑我的问题..
-
Python 支持字符串的单引号和双引号,所以这不是问题。听起来您从 Python 开始的 Dymola 缺少许可证。使用
dymola = DymolaInterface(showwindow=True)启动Dymola 窗口并在GUI 中检查或使用函数RequestOption("Standard")。 -
自 Dymola 2018 FD01 起,您可以使用提到的函数
RequestOption()来执行此操作,该函数可用作 python 函数并在 DymolaCommands 库中的 Dymola 中提供。 -
尝试创建一个最小的示例并将其发布在此处。以目前的信息很难提供帮助。