Установка начальных значений в блоке инструментов FMI с помощью Matlab

(Этот вопрос похож на предыдущий вопрос, который я опубликовал, но ситуация изменилась ...)

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

Вызов моделирования в m-файле:

simOut_itr = sim(model, model_cs);

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

Однако, когда я запускаю свой код, значения инициализации не устанавливаются в модели, и результаты моделирования показывают, что выходные данные модели сбрасываются до исходных значений при каждом запуске моделирования. Такое поведение указывает мне на то, что состояния не инициализируются с использованием значений переменных рабочего пространства, но во время моделирования не устанавливается никаких ошибок. Я подтвердил, что загрузка и выгрузка модели для каждой итерации не помогает.

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


person E Heller    schedule 24.04.2013    source источник


Ответы (2)


Блок панели инструментов FMI в Simulink не устанавливает значения инициализации из вызова модели (sim), а скорее из отдельного набора функций, специфичных для набора инструментов FMI. В руководстве по набору инструментов FMI есть более подробная информация.

person E Heller    schedule 02.05.2013

fmuSetValueSimulink () - это функция, которую нужно использовать. Это используется для установки значений параметров и начальных значений для переменных состояния. Раздел справки для функции достаточно информативен, поэтому я не буду здесь вдаваться в подробности.

person Peter Sundström    schedule 07.05.2013