Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python FMU模块方法获取状态列表()_Python_Fmi_Jmodelica - Fatal编程技术网

Python FMU模块方法获取状态列表()

Python FMU模块方法获取状态列表(),python,fmi,jmodelica,Python,Fmi,Jmodelica,我发现FMU模块方法get_states_list()有一个限制。这种方法似乎只列出连续时间状态,而不是离散时间状态。我通常会制作包含描述过程和控制系统的连续和离散时间子模型的模型,我非常有兴趣能够得到系统中所有状态的列表 一种可能是get_fmu_state(),但我得到异常文本“This fmu不支持get和set fmu state” 另一种可能是使用“fixed=true”声明中包含的变量,列出一个更大的所有变量列表,并对这些变量进行排序,但我不确定如何显示该属性,尽管可以显示其他属性,

我发现FMU模块方法get_states_list()有一个限制。这种方法似乎只列出连续时间状态,而不是离散时间状态。我通常会制作包含描述过程和控制系统的连续和离散时间子模型的模型,我非常有兴趣能够得到系统中所有状态的列表

一种可能是get_fmu_state(),但我得到异常文本“This fmu不支持get和set fmu state”

另一种可能是使用“fixed=true”声明中包含的变量,列出一个更大的所有变量列表,并对这些变量进行排序,但我不确定如何显示该属性,尽管可以显示其他属性,如min、max、nominal可能会有所帮助,但我只得到一些与变量相关的地址


该怎么办?

获取状态列表方法是一种映射回FMI规范的方法,该规范仅包括连续时间状态。因此,这是设计的。

在FMI上下文中离散状态的定义是什么?我想说,离散时间状态的定义与连续时间的定义相同。因此,类似于:编队需要预测系统如何随时间演化。如果有输入信号,当然需要知道这些信号。有关更多信息,请参阅:。在Modelica代码中,我为作为状态的变量(无论是连续时间还是离散时间)设置了属性fixed=true。通过这种方式,它们很容易识别。很难相信FMI是特定的我想解决的问题如下。我有一个Modelica模型,它包含连续时间内的过程和离散时间内的调节器。如果你想模拟一段时间,手动更改一些参数,然后继续模拟,你需要读取状态并保存,再次重新加载模型,输入上一次模拟的最终状态,并在再次运行模拟之前将其用作初始条件。今天,我有一个Python脚本,用于离散时间状态,需要为每个模型量身定制。要处理时间延迟(连续时间)正确地说,在上面的过程中,我也没有任何解决方案。我意识到这取决于所使用的数值积分程序。