Можно сгенерировать код из модели, которая включает как подсистемы вызова функций, так и запланированные подсистемы. Создайте модель на основе скорости с запланированными подсистемами, а затем добавьте модель к модели экспорта функций путем ссылки из блока Model.
Чтобы открыть завершенную модель, смотрите ex_export_function_model04
.
Создайте модель с function-call и запланированными подсистемами.
Начните с создания модели на основе скорости с запланированными подсистемами. В этом примере для Sample time Scheduled Subsystem задано значение 0.01
. См. «Создание модели на основе скорости».
Создайте модель export-function с подсистемами вызова функций. См. Создание модели экспорта функций.
Включите модель, основанную на скорости, в модель экспорта функций путем ссылки из блока Model.
Отобразите периодические порты событий на блоке Model, установив флажок Schedule rates.
Соедините Inport блоки с портами периодических событий.
В диалоговом окне Inport блока установите флажок Output function-call параметра и укажите шаг расчета с тем же шагом расчета из запланированной подсистемы. В этом примере Sample time для function-call 10ms
Inport блока задано значение 0.01
.
Сгенерируйте код из модели, которая содержит функции.
На вкладке Simulation и из раздела Prepare выберите Model Settings.
На панели « Решателе» задайте Solver Type Fixed-step
. На панели Генерация кода задайте System target file ert.tlc
. Требуется Embedded Coder® лицензия.
Отобразите вкладку C Code, выбрав вкладку Apps, а затем в разделе Apps выберите Embedded Coder. На вкладке C Code выберите Generate Code. Дождитесь завершения процесса создания кода.
На вкладке C Code выберите Open Latest Report.
В сгенерированном коде каждый function-call Inport блок корневого уровня генерирует функцию void-void. Имя функции является именем выходного сигнала от блока. Если имени сигнала нет, то имя функции происходит от имени блока. В этом примере имя функции было получено из имени блока.