Инициализация Димола FMU в Симулинке

Я столкнулся с проблемой при попытке смоделировать модель с помощью файла fmu в Simulink:

Я использую панель инструментов Modelon FMI для интерфейса Dymola / Simulink для импорта файла fmu типа Model-Exchange (версия 1.0) в модель Simulink. У меня есть m-файл Matlab, который программно моделирует модель последовательно, сохраняя конечные внутренние состояния модели для инициализации в следующем моделировании. Первая итерация моделирования выполняется без ошибок, но на второй итерации Matlab возвращает следующие ошибки при вызове моделирования:

module =partal_run_sim2 / BasicModels.System_model_final_Sim, уровень журнала = ОШИБКА: [] [Состояние FMU: Ошибка] fmiInitialize: ошибка dsblock_, QiErr = 1

module =partal_run_sim2 / BasicModels.System_model_final_Sim, уровень журнала = ОШИБКА: [] [Состояние FMU: Ошибка] Возможные ошибки (не исчерпывающие): 1. Файл лицензии не найден. Использовать переменную средыDYMOLA_RUNTIME_LICENSE» указать свой файл лицензии Dymola. 2. Модель ссылается на внешние данные, которых нет на целевом компьютере, по крайней мере, в другом месте. Ошибка, сообщенная S-функцией 'sfun_fmu_me_1_0' в 'partial_run_sim2 / BasicModels.System_model_final_Sim»: fmiInitialize возвращается с ошибкой в initialize_fmu_model_first_time. См. Командное окно для получения дополнительной информации, напечатанной моделью FMU.

Я знаю, что мои лицензии на Dymola и инструментарий FMI актуальны.

Вызов симуляции в m-файле:

simOut_itr = sim(model, model_cs); 

Куда "модель» это файл модели Simulink .slx и «model_cs» переменная настройки конфигурации Simulink Я установил конфигурацию так, чтобы модель загружала начальные состояния из рабочей области, и я сохранил конечные состояния предыдущих итераций в этой переменной рабочей области. Это действие происходит и для первой итерации, хотя начальные состояния совпадают с начальными состояниями по умолчанию в файле fmu. Я подозреваю, что первая итерация выполняется без проблем, потому что инициализация совпадает со значением по умолчанию, но последующая итерация имеет другое значение инициализации, которое не согласуется с блоком fmu.

Мне известна возможность имитировать файл fmu в Matlab с использованием функций fmi, но эти методы не обеспечивают такой прозрачности состояний системы, которая затрудняет последовательное моделирование. Однако я открыт для любых методов, которые допускают такого рода симуляцию.

Будем очень благодарны за любые предложения относительно инициализации системных состояний в файлах fmu в Matlab / Simulink. Спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос