model_step

Точка входа стандартной программы шага в сгенерированном коде для модели Simulink

Синтаксис

void model_step(void)
void model_stepN(void)

Вызов интерфейсов

Прототип функции значения по умолчанию model_step отличается в зависимости от Treat each discrete rate as a separate task (Simulink) (EnableMultiTasking) параметр, заданный для модели:

Значение параметровПрототип функции
Off
(один уровень или многоскоростной)
void model_step(void);
On
(многоскоростной)
void model_stepN (void);
(N является идентификатором задачи),

Интерфейс вызова, сгенерированный для этой функции также, отличается в зависимости от значения параметра модели Code interface packaging (Simulink Coder):

  • C++ class (значение по умолчанию для языка C++) — Сгенерированная функция инкапсулируется в метод класса C++. Необходимые данные модели инкапсулируются в атрибуты класса C++.

  • Nonreusable function (значение по умолчанию для языка C) — Сгенерированная функция передает (void). Структуры данных модели статически выделены, глобальная переменная, и получены доступ непосредственно в типовом кодексе.

  • Reusable function — Сгенерированная функция передает структуру данных модели реального времени, ссылкой, как входной параметр. Структура данных модели реального времени экспортируется с заголовочным файлом model.h.

    Для основанной на ERT модели можно использовать параметр Pass root-level I/O as, чтобы управлять, как аргументы ввода и вывода корневого уровня передаются функции. Они могут быть включены в структуру данных модели реального времени, передали в качестве отдельных аргументов или передали как ссылки на входную структуру и выходную структуру.

Примечание

Если у вас есть лицензия Embedded Coder®:

Описание

Сгенерированная функция model_step содержит код вывода и обновления для блоков в модели Simulink®. Функция model_step вычисляет текущее значение блоков. Если журналирование включено, переменные журналирования обновлений model_step. Если время остановки модели конечно, model_step сигнализирует о конце выполнения, когда текущее время равняется времени остановки.

При следующих условиях model_step не проверяет текущее время по времени остановки:

  • Время остановки модели установлено в inf.

  • Журналирование отключено.

  • Опция Terminate function required не выбрана.

Поэтому, если один или несколько из этих условий верен, программа запускается неопределенно.

Для GRT или основанной на ERT модели, программное обеспечение генерирует функцию model_step, когда параметр конфигурации Single output/update function выбран (значение по умолчанию) в диалоговом окне Configuration Parameters.

model_step разработан, чтобы быть названным на уровне прерывания от rt_OneStep, который принят, чтобы быть вызванным как ISR таймера. rt_OneStep вызывает model_step, чтобы выполнить обработку в течение одного периода часов модели. Для описания того, как вызовы model_step сгенерированы и запланированы, см. Факторы Планирования и rt_OneStep.

Примечание

Если параметр конфигурации Single output/update function не выбран, программное обеспечение генерирует следующие образцовые функции точки входа вместо model_step:

  • model_output: Содержит выходной код для блоков в модели

  • model_update: Содержит код обновления для блоков в модели

Представлено до R2006a