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

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

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

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

    В первый раз, когда вы нажимаете ОК или Применяетесь, блок идентифицирует, которым обменивается режим 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.

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

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

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

Перечисляет параметры блока FMU. Отредактируйте значения по мере необходимости.

Настройки FMU (Co-моделирование) вкладка

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

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

  • В журналах отладки Перенаправления к выберите место назначения для журналов.

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

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

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

  • В журналах Фильтра статусом возврата установите флажок для статуса возврата, который вы хотите.

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

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

Введите вкладку

Перечисляет объекты входной шины, что блок задает.

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

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

fmudialog.createBusType(gcb)

Выведите вкладку

Перечисляет объекты входной шины, что блок задает.

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

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

fmudialog.createBusType(gcb)

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

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

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

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

'Structured' — Объединения вводятся в структуру сигналов (шина).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие темы

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

Была ли эта тема полезной?