Сгенерируйте код для модели экспорта функций с основанной на уровне моделью

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

Создайте модель экспорта функций с запланированными подсистемами

Создайте модель с вызовом функции и запланированными подсистемами.

  1. Начните путем создания основанной на уровне модели с запланированными подсистемами. В этом примере Sample time для Запланированной Подсистемы установлен в 0.01. Смотрите Создают Основанную на уровне Модель.

  2. Создайте модель экспорта функций с подсистемами вызова функций. Смотрите Создают Модель Экспорта функций.

  3. Включайте основанную на уровне модель в модель экспорта функций ссылкой от блока Model.

  4. Отобразите периодические порты события на блоке Model путем установки флажка Schedule rates.

    Соедините блоки Inport с периодическими портами события.

  5. В диалоговом окне блока Inport установите флажок параметра Output function-call и задайте Шаг расчета с тем же шагом расчета от запланированной подсистемы. В этом примере Sample time для блока function-call 10ms Inport установлен в 0.01

    .

Сгенерируйте код для экспортируемых функций

Сгенерируйте код из модели, которая содержит функции.

  1. Из меню выберите Simulation> Model Configuration Parameters.

  2. В панели Решателя, набор Solver Type к Fixed-step.

  3. В панели Генерации кода, набор System target file к ert.tlc. Требует лицензии Embedded Coder®.

  4. Из меню Simulink Выберите Code> C/C++ Code> Build Model. Ожидайте процесса создания кода, чтобы завершиться.

  5. Выберите Code> C/C++ Code> Code Generation Report

В сгенерированном коде каждый блок Inport вызова функции корневого уровня генерирует пустую пустотой функцию. Имя функции является именем выходного сигнала блока. Если нет никакого имени сигнала, то имя функции выведено с имени блока. В этом примере имя функции было выведено от имени блока.