Загрузка FMU-модуля OpenModelica (с шумовым модулем MSL) в среде Python с PyFMI не работает.
Я попытался запустить экспортированные FMU-модули из OpenModelica в PyFMI-среде. Детерминированные модели отлично работают.
Однако, когда я включаю модели шума, используя блок MSL Modelica.Blocks.Noise.NormalNoise, тогда я получаю FMU, у которого возникают проблемы при загрузке в PyFMI-среду. Текст ошибки заканчивается на:
FMUException: Ошибка загрузки двоичного файла. Не удалось загрузить DLLL: libModelicaExternalC.so.0: невозможно открыть файл общего объекта: нет такого файла или каталога.
Само собой разумеется, но в OpenModelica система с шумом работает хорошо. Тот же код в JModelica, скомпилированный и загруженный в среде Python с PyFMI, также хорошо работает. Однако случайная шумовая последовательность различна для одного и того же начального числа в OpenModelica и JModelica, что указывает на некоторую разницу.
В этом примере я запускаю JModelica и PyFMI версии 2.1 в Docker Linux, а OpenModelica также запускается в среде Linux. С Linux в обоих я могу перенести FMU-модель. И JModelica, и OpenModelica поддерживают стандарт Modelica 3.2.2 и соответствующий MSL.
Я также только что протестировал пример с JModelica и PyFMI версии 2.4 (или, по крайней мере, 2.2), используя образ Docker Linux из mclab. Я получаю тот же текст ошибки, что и для 2.1 (и без блока шума он работает, как это было для 2.1).
-
Мой вопрос: описанная ошибка на стороне PyFMI или OpenModelica или, возможно, на обоих? Или при экспорте FMU из OpenModelica с блоком помех можно сделать что-то еще, что должно заставить все это работать?