Не удается запустить fmu.get_fmu_state() в библиотеке pyfmi

Я пытаюсь понять, как метод get_fmu_state работает на простом fmu в примере режима косимуляции, таком как прыгающий мяч, с использованием предварительно предоставленных fmu PyFMI(2.7.3). Я установил его через miniconda на ubuntu-docker и пытаюсь выполнить следующие команды, когда получаю сообщение об ошибке. Я понимаю, что этот fmu может не поддерживать команду, но есть ли другой пример, который мог бы ее поддержать?

In [1]: from pyfmi import load_fmu

In [2]: fmu_model = load_fmu('/home/developer/miniconda3/envs/modelicagym/lib/ \
python3.8/site-packages/pyfmi/examples/files/FMUs/CS2.0/bouncingBall.fmu')

In [3]: fmu_model
Out [3]:<pyfmi.fmi.FMUModelCS2 at 0x55a515a1b180>

In [4]: fmu_model.get_fmu_state()
---------------------------------------------------------------------------
FMUException                              Traceback (most recent call last)
<ipython-input-9-580b849d2146> in <module>
----> 1 fmu_model.get_fmu_state()

src/pyfmi/fmi.pyx in pyfmi.fmi.FMUModelBase2.get_fmu_state()

FMUException: This FMU does not support get and set FMU-state

Остальные команды, такие как fmu_model.simulate(), fmu_model.initialize(), fmu_model.simualte(), работают без каких-либо проблем, а fmu_model.get_fmu_state() - нет. Такая же ошибка возникает, если я использую fmu в режиме ModelExchage.

1 ответ

Поддержка возможности "получить состояние FMU" зависит от инструмента экспорта, который создает FMU. Если инструменты экспорта не поддерживают эту возможность, я боюсь, что инструмент импорта (здесь PyFMI) ничего не может сделать.

Если вам нужна эта возможность, вам нужно вернуться к инструменту экспорта и убедиться, что они включают эту возможность.

Другие вопросы по тегам