Точка входа стандартной программы шага в сгенерированном коде для модели Simulink
voidmodel_step(void) voidmodel_stepN(void)
Прототип функции значения по умолчанию отличается в зависимости от Treat each discrete rate as a separate task (Simulink) (model_stepEnableMultiTasking) параметр, заданный для модели:
| Значение параметров | Прототип функции |
|---|---|
Off(один уровень или многоскоростной) | |
On (многоскоростной) | ( является идентификатором задачи), |
Интерфейс вызова, сгенерированный для этой функции также, отличается в зависимости от значения параметра модели Code interface packaging:
C++ class (значение по умолчанию для языка C++) — Сгенерированная функция инкапсулируется в метод класса C++. Необходимые данные модели инкапсулируются в атрибуты класса C++.
Nonreusable function (значение по умолчанию для языка C) — Сгенерированная функция передает (void). Структуры данных модели статически выделены, глобальная переменная, и получены доступ непосредственно в типовом кодексе.
Reusable function — Сгенерированная функция передает структуру данных модели реального времени, ссылкой, как входной параметр. Структура данных модели реального времени экспортируется с заголовочным файлом .model.h
Для основанной на ERT модели можно использовать параметр Pass root-level I/O as, чтобы управлять, как аргументы ввода и вывода корневого уровня передаются функции. Они могут быть включены в структуру данных модели реального времени, передали в качестве отдельных аргументов или передали как ссылки на входную структуру и выходную структуру.
Если у вас есть лицензия Embedded Coder®:
Для упаковки интерфейса Nonreusable function кода можно использовать диалоговое окно Configure C Step Function Interface, чтобы настроить интерфейс ступенчатой функции C. Смотрите, что Значение по умолчанию Переопределения C Интерфейс Ступенчатой функции (Embedded Coder) Настраивает Сгенерированные Интерфейсы Функции C (Embedded Coder).
Для упаковки интерфейса C++ class кода можно использовать кнопку Configure C++ Class Interface и связанные средства управления на панели Interface диалогового окна Configuration Parameters. Для получения дополнительной информации смотрите, Настраивают Сгенерированные Интерфейсы Класса C++ (Embedded Coder).
Сгенерированная функция содержит код вывода и обновления для блоков в модели Simulink®. model_stepФункция вычисляет текущее значение блоков. Если журналирование включено, model_stepпеременные журналирования обновлений . Если время остановки модели конечно, model_step сигнализирует о конце выполнения, когда текущее время равняется времени остановки.model_step
При следующих условиях не проверяет текущее время по времени остановки:model_step
Время остановки модели установлено в inf.
Журналирование отключено.
Опция Terminate function required не выбрана.
Поэтому, если один или несколько из этих условий верен, программа запускается неопределенно.
Для GRT или основанной на ERT модели, программное обеспечение генерирует функцию , когда параметр конфигурации Single output/update function выбран (значение по умолчанию) в диалоговом окне Configuration Parameters.model_step
разработан, чтобы быть названным на уровне прерывания от model_steprt_OneStep, который принят, чтобы быть вызванным как ISR таймера. rt_OneStep вызывает , чтобы выполнить обработку в течение одного периода часов модели. Для описания того, как вызовы model_step сгенерированы и запланированы, см. rt_OneStep и Факторы Планирования (Embedded Coder).model_step