使用pyFMI获取/设置FMU字符串

2024-10-03 04:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

比如说,从系统模型到其他模型。在

我们试图获取和设置string类型的输入,但似乎不支持它。 我们在说明.xml文件:

<ScalarVariable name="clock_timescale" valueReference="0" description="timescale of the internal clock manager" causality="parameter" variability="fixed" initial="exact">
    <String start ="NS" />
</ScalarVariable>
<ScalarVariable name="clock_period" valueReference="4" description="period of the internal clock manager" causality="parameter" variability="fixed" initial="exact">
    <Integer start ="20" />
</ScalarVariable>

在这个例子中,clock_period是一个整数,clock_timescale是一个字符串。快速查看一下FMI日志:

^{pr2}$

我们可以看到,getter-to-clock_周期在fmi2doStep之前被正确调用,而不是clock_时间刻度。在

另外,如果尝试设置字符串,则会得到以下错误:

Traceback (most recent call last):
  File "coordinator.py", line 56, in <module>
    model.set_string([0],['MS'])
  File "fmi.pyx", line 3555, in pyfmi.fmi.FMUModelBase2.set_string (src/pyfmi/fmi.c:31090)
    NotImplementedError

有人知道为什么它看起来不受支持吗?或者是否计划得到支持?有什么诀窍让它成功吗?在

谢谢


Tags: ofthename模型stringmanagerdescriptionperiod
1条回答
网友
1楼 · 发布于 2024-10-03 04:31:18

如您所见,使用PyFMI(version<;=2.2)设置和获取字符串是不受支持的,不幸的是,没有任何技巧可以让它正常工作。在

在下一个版本中,它将被支持。如果使用开发版本(从源代码构建),这些特性已经实现并可用。在

相关问题 更多 >