OpenModelica含EnergyPlus_9_6_0的所有示例仿真失败求助
OpenModelica Buildings库EnergyPlus仿真问题排查与解决
问题描述
- 运行环境:64位Windows10,OpenModelica 1.22.1/1.23.0-dev,Buildings库10.0.0
- 故障表现:
- 执行
Buildings.ThermalZones.EnergyPlus_9_6_0下所有示例均进程崩溃,退出代码0xffffffffc0000135 - 翻译阶段报错:
[Buildings.BoundaryConditions.WeatherData.ReaderTMY3: 880:29-947:86]:作用域ReaderTMY3中未找到变量weaBus.TDryBul,但已确认TDryBul存在且连接正常 - 不涉及EnergyPlus的模型可正常运行
- 执行
排查与解决步骤
1. 修复系统依赖缺失(对应退出代码0xc0000135)
该错误是Windows系统缺失运行时库导致的,执行以下操作:
- 安装最新版x64位Visual C++ Redistributable for Visual Studio
- 确认EnergyPlus 9.6.0已正确安装,并配置OpenModelica路径:
打开OpenModelica选项 →Simulation→EnergyPlus,设置EnergyPlus安装目录(例:C:\EnergyPlusV9-6-0),确保路径下存在energyplus.exe及完整配套文件
2. 解决ReaderTMY3变量识别异常
- 重新安装Buildings库10.0.0,确保下载的是适配当前OpenModelica版本的官方包,避免手动修改库文件导致结构损坏
- 清理OpenModelica缓存:打开
Tools→Clean Modelica Libraries,清除旧编译缓存后重启软件,重新加载Buildings库 - 检查
ReaderTMY3代码合法性:
打开组件文本视图,确认weaBus声明与TDryBul引用处于同一作用域,示例正确结构如下:
若存在嵌套作用域错误,可手动修正后重新编译库(操作前建议备份官方库文件)Buildings.BoundaryConditions.WeatherData.Bus weaBus; weaBus.TDryBul = <正确的温度数据源>;
3. 验证EnergyPlus独立运行能力
- 直接运行EnergyPlus安装目录下的
energyplus.exe,确认能正常启动(无闪退或报错) - 使用EnergyPlus自带示例模型(例:
ExampleFiles\BasicFiles\ZoneAirCooled.idf)测试,确认EnergyPlus本身功能正常
4. 版本兼容性测试
- 尝试切换Buildings库版本:比如使用与EnergyPlus 9.6.0兼容的Buildings库9.0.0,或升级到最新版Buildings库(需匹配OpenModelica版本)
- 测试OpenModelica 1.21.0稳定版,部分新版本可能存在EnergyPlus接口兼容性问题
内容的提问来源于stack exchange,提问作者M.H
相关产品推荐
相关产品推荐

