Реализуйте блок FMU

Реализуйте блок и присвойте функциональный модуль макета (FMU) ему. Можно затем исследовать блок, чтобы видеть FMU. Этот пример использует блок FMU с автомобилем FMU.

  1. Создайте модель и добавьте блок FMU.

  2. В диалоговом окне блока введите путь для файла FMU в параметре FMU name и нажмите OK или Apply. Расширение файла .fmu является дополнительным.

    В первый раз, когда вы нажимаете OK или Apply, блок идентифицирует, которым обменивается режим FMU установить ваш FMU на, co-симуляция или модель.

    Блок также создает папку slprj/_fmu/fmu_name и распаковывает содержимое файла FMU в эту папку, которое опционально включает:

    • binaries — Двоичные файлы FMU

    • документация Файлы HTML документации FMU

    • resources — Исходные файлы FMU

    • sources — Исходные файлы FMU

    • Другие вспомогательные файлы, такие как маска блока и файлы описания

Значок блока FMU и метки порта обновляют к меткам соответствующего FMU. После того, как вы сопоставляете блок с FMU, если вы хотите изменить FMU, щелкните правой кнопкой по блоку FMU, и выберите Block Parameters и введите новое имя FMU в FMU name.

Исследуйте блок FMU

Дважды кликните блок. Предположим, что вы ввели FMU под названием slexCoSimMassSpringFMU от вашей текущей папки. Диалоговое окно блока FMU отражает параметры FMU, заданные в файле slexCoSimMassSpringFMU.

Вкладка параметров

Перечисляет параметры блоков FMU. Отредактируйте значения по мере необходимости. Можно отредактировать элементы параметра структуры путем расширения структурного вида.

Вкладка симуляции

Позволяет регистрировать и сопоставленные индивидуальные настройки.

  • Чтобы ввести относительный допуск, выберите Enable FMU tolerance и установите его.

  • Чтобы определить шаг расчета блока в модели, установите Communication step size. Чтобы наследовать размер шага от решателя Simulink®, установите на -1. Эта опция доступна, только если FMU является co-симуляцией FMU.

  • Чтобы позволить регистрировать, выберите Enable FMU Debug Logging.

  • В Redirect debug logs to выберите место назначения для журналов.

    • File, сохраненный в slprj\_fmu\_logs_modelname\modelname_blockname.txt

    • Display, отображенный в Командном окне MATLAB®.

    Если флажок Enable FMU Debug Logging устанавливается, и параметр Redirect debug logs to устанавливается на Display, вы не можете использовать блок FMU для co-симуляции. Для получения дополнительной информации о co-симуляции и нескольких ядрах, смотрите Компоненты Co-симуляции Выполнения на Нескольких Ядрах

  • В Filter logs by return status установите флажок для статуса возврата, который вы хотите.

Вкладки ввода и вывода

Эти две вкладки перечисляют объекты шины ввода и вывода, которые задает блок.

В параметре Bus Object Name можно поменять имена объектов шины, чтобы совпадать с объектами шины, заданными в рабочей области.

Чтобы создать шину возражают в рабочей области:

fmudialog.createBusType(gcb)

Измените вход блока, Вывод и структуры параметра

Можно изменить размещение входных портов блока FMU, выходных портов и параметров с этими параметрами:

ПараметрДействиеНастройки
FMUInputMappingИзмените иерархию входных портов.

Вход 'Flat' — Separates в отдельные сигналы.

Вход 'Structured' — Combines в структуру сигналов (шина).

FMUOutputMappingИзмените иерархию выходных портов.

'Flat' — Separates вывод в отдельные сигналы.

'Structured' — Combines вывод в структуру сигналов (шина).

FMUParamMappingИзмените иерархию параметров.

'Flat' — Разделяет параметры на отдельные параметры, перечисленные названием параметра и значением.

'Structured' — Параметры объединений в структуру значений параметров (struct).

Используйте get_param и функции set_param, чтобы установить эти значения. Например, примите вкладку параметров блоков с построением структуры:

Параметры содержатся в struct. Чтобы перечислить параметры индивидуально, установите свойство FMUParamMapping на 'Flat':

set_param(gcb,'FMUParamMapping', 'Flat')

Синхронизация факторов

Можно установить шаг расчета для блока FMU с параметром Communication step size. Эта установка шага расчета блока, tC, как все блоки Simulink, должна быть целочисленным кратным образцовый шаг расчета, tM. Simulink генерирует ошибку, если коммуникационный размер шага tC не является кратным образцовому размеру шага tM.

Локальный размер шага tL FMU, с другой стороны, является частью спецификации FMU и известен FMU только внутренне. Для правильного функционирования, коммуникационного размера шага, tC должен также быть целочисленным кратным tL. Если образцовый шаг расчета tM или шаг расчета блока, tC несовместим с локальным размером шага FMU tL, FMU, могут или не могут произвести ошибку во время выполнения, в зависимости от ее реализации.

Поиск и устранение проблем FMUs

Если существуют проблемы с использованием FMU:

  • Проверьте соответствие FMU со стандартом FMI. Используйте средство проверки соответствия FMU.

  • Установите флажок Enable FMU Debug Logging на вкладке Simulation блока FMU.

  • Свяжитесь с поставщиком FMU.

Смотрите также

Похожие темы

Внешние веб-сайты