Сгенерированная функция точки входа C/C + +, содержащая код выполнения для каждого шага в модели Simulink
- функция выполнения, содержащая код вывода и обновления для блоков в модели Simulink ®.void model_step(void)
- функция выполнения с идентификатором задачи, который содержит код вывода и обновления для блоков в модели Simulink.void model_step_N(void)
Пошаговая функция точки входа вычисляет текущие значения блоков. Если ведение журнала включено, функция шага обновляет переменные ведения журнала. По конструкции пошаговая функция вызывается на уровне прерывания из rt_OneStep (вызывается как таймер ISR). rt_OneStep функция вызывает model_step выполнение обработки в течение одного тактового периода модели. Дополнительные сведения см. в разделе Вопросы rt_OneStep и планирования (встроенный кодер).
Если модель имеет конечное время остановки, функция шага сигнализирует об окончании выполнения, когда текущее время равно времени остановки. В противном случае, если одно или несколько из этих условий являются истинными, функция шага не проверяет текущее время относительно времени остановки и программа работает бесконечно долго:
Время остановки модели устанавливается равным inf.
Ведение журнала отключено.
Не выбрана требуемая функция завершения параметра.
Сгенерированный вызывающий интерфейс функции начального уровня шага для модели отличается в зависимости от следующих параметров:
Чтобы создать пошаговую функцию начального уровня, выберите параметр Single output/update function. Если удалить этот параметр, model_output и model_update вместо функции шага генерируются функции точки входа.
Чтобы создать одношаговую функцию с настраиваемыми аргументами, очистите параметр Обработать каждую дискретную скорость как отдельный параметр задачи. Чтобы создать отдельные пошаговые функции на основе требований синхронизации, выберите этот параметр. Дополнительные сведения см. в разделе Обработка каждой дискретной скорости как отдельной задачи.
| Значение параметра | Прототип функции |
|---|---|
Off(односкоростная или многоскоростная однозадачная модель) | void model_step(void); |
On
(многозадачная многозадачная модель) | void model_step_N (void);( N - идентификатор задачи) |
Чтобы изменить сгенерированный вызывающий интерфейс, установите параметры упаковки интерфейса языка и кода. Дополнительные сведения см. в разделе Упаковка интерфейса кода.
Для предварительного просмотра и настройки имени и аргументов созданной функции начального уровня C или C++ требуется лицензия Embedded Coder ®. Чтобы просмотреть пошаговую функцию начальной точки, откройте редактор Сопоставления кодов (Code Mappings) и перейдите на вкладку Функции (Functions). Чтобы настроить имя функции, в столбце Имя функции (Function Name) щелкните и отредактируйте электронную таблицу напрямую. Чтобы настроить имя функции и аргументы, в столбце Предварительный просмотр функции щелкните гиперссылку функции и настройте пошаговую функцию в открывшемся диалоговом окне. Чтобы настроить функцию с помощью шаблона, в столбце Шаблон адаптации функции выберите шаблон для применения к функции. Дополнительные сведения см. в разделах Настройка имени и аргументов для отдельных ступенчатых функций (встроенный кодер), Интерактивная настройка интерфейса C++ (встроенный кодер) и Настройка генерации кода по умолчанию для функций (встроенный кодер).
Чтобы просмотреть сгенерированную пошаговую функцию начальной точки, откройте представление Код (Code) или Отчет о создании кода (Code Generation Report) и просмотрите исходный код модели. Дополнительные сведения см. в разделе Анализ сгенерированного интерфейса кода (встроенный кодер).
model_initialize | model_terminate | model_reset (встроенный кодер)