我正在使用 FMPy 来模拟一些具有字符串输出变量的 FMU,但这些在模拟结果中不可用(由 Simulation_fmu(filename) 返回的对象)。
这些变量是否以不同的方式处理?如果是这样,我该如何访问它们?
谢谢你。
编辑1:
我使用具有字符串输出变量 ( ) 的values.fmu 运行string_out
了一个模拟。
最小的例子:
import fmpy
# fmu path
fmu_name = "C:\\fmusdk\\fmu20\\fmu\\cs\\x64\\values.fmu"
# Simulate
res = fmpy.simulate_fmu(fmu_name, stop_time=2., debug_logging=False)
# Results
print('Results names and types: ' + str(res.dtype))
注意:要运行示例,您必须下载并安装 fmusdk,它需要 Microsoft Visual Studio 2005 (VS8)、2008 (VS9)、2010 (VS10)、2012 (VS11)、2013 (VS12) 或 2015 (VS14) 之一.
输出:
Results names and types: [('time', '<f8'), ('int_out', '<i4'), ('bool_out', '?')]
预期的:
我期望它res
包含输出变量string_out
。
使用调试日志:
我意识到fmi2GetString
永远不会调用它,因此输出不可能具有string_out
. 因此,我不确定 FMPy 是否支持 TypeDefinitions String。
系统详情:
Python version: 3.7.3
FMPy version: 0.2.10