Можно сгенерировать код из модели, которая включает обе подсистемы вызова функций и запланированные подсистемы. Создайте основанную на уровне модель с запланированными подсистемами, и затем добавьте модель в модель экспорта функций ссылкой от блока Model.
Создайте модель с вызовом функции и запланированными подсистемами.
Начните путем создания основанной на уровне модели с запланированными подсистемами. В этом примере Sample time для Запланированной Подсистемы установлен в 0.01
. Смотрите Создают Основанную на уровне Модель.
Создайте модель экспорта функций с подсистемами вызова функций. Смотрите Создают Модель Экспорта функций.
Включайте основанную на уровне модель в модель экспорта функций ссылкой от блока Model.
Отобразите периодические порты события на блоке Model путем установки флажка Schedule rates.
Соедините блоки Inport с периодическими портами события.
В диалоговом окне блока Inport установите флажок параметра Output function-call и задайте Шаг расчета с тем же шагом расчета от запланированной подсистемы. В этом примере Sample time для
блока function-call 10ms
Inport установлен в 0.01
.
Сгенерируйте код из модели, которая содержит функции.
Из меню выберите Simulation> Model Configuration Parameters.
В панели Решателя, набор Solver Type к Fixed-step
.
В панели Генерации кода, набор System target file к ert.tlc
. Требует лицензии Embedded Coder®.
Из меню Simulink Выберите Code> C/C++ Code> Build Model. Ожидайте процесса создания кода, чтобы завершиться.
Выберите Code> C/C++ Code> Code Generation Report
В сгенерированном коде каждый блок Inport вызова функции корневого уровня генерирует пустую пустотой функцию. Имя функции является именем выходного сигнала блока. Если нет никакого имени сигнала, то имя функции выведено с имени блока. В этом примере имя функции было выведено от имени блока.