model_step

Сгенерированная функция точки входа C/C++, которая содержит код выполнения для каждого шага в модели Simulink

Описание

пример

void model_step(void) функция выполнения, которая содержит код выхода и обновления для блоков в модели Simulink®.

void model_step_N(void) функция выполнения с идентификатором задачи, который содержит код выхода и обновления для блоков в модели Simulink.

Функция точки входа шага вычисляет текущие значения блоков. Если логгирование включено, переменные логгирования обновлений ступенчатой функции. Проектом ступенчатая функция называется на уровне прерывания от rt_OneStep (вызванный как ISR таймера). rt_OneStep вызовы функции model_step функция, чтобы выполнить обработку в течение одного периода часов модели. Дополнительные сведения см. в Факторах Планирования и rt_OneStep.

Если модель имеет конечное время остановки, ступенчатая функция сигнализирует о конце выполнения, когда текущее время равняется времени остановки. В противном случае, если один или несколько из этих условий верен, ступенчатая функция не проверяет текущее время по времени остановки, и программа запускается неопределенно:

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

  • Логгирование отключено.

  • Параметр Terminate function required не выбран.

Сгенерированный интерфейс вызова функции точки входа шага для модели отличается в зависимости от этих параметров:

  1. Чтобы сгенерировать функцию точки входа шага, выберите параметр Single output/update function. Если вы очищаете этот параметр, model_output и model_update функции точки входа сгенерированы вместо ступенчатой функции.

  2. Чтобы сгенерировать одну ступенчатую функцию с конфигурируемыми аргументами, очистите параметр Treat each discrete rate as a separate task. Чтобы сгенерировать отдельные ступенчатые функции на основе синхронизации требований, выберите этот параметр. Для получения дополнительной информации смотрите Обработку каждый дискретный уровень как отдельную задачу.

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

  3. Чтобы изменить сгенерированный интерфейс вызова, установите параметры Code interface packaging и Language. Для получения дополнительной информации смотрите, что интерфейс Code группирует.

Чтобы предварительно просмотреть и настроить имя и аргументы сгенерированного C или функции точки входа шага C++, лицензия Embedded Coder® требуется. Чтобы предварительно просмотреть функцию точки входа шага, откройте редактор Отображений Кода и кликните по вкладке Functions. Чтобы настроить имя функции, в столбце Function Name кликают и отредактировали электронную таблицу напрямую. Чтобы настроить имя функции и аргументы, в столбце Function Preview кликают по функциональной гиперссылке и конфигурируют ступенчатую функцию от открытого диалогового окна. Чтобы настроить функцию с помощью шаблона, в столбце Function Customization Template выбирают шаблон, чтобы примениться к функции. Для получения дополнительной информации смотрите, Конфигурируют Имя и Аргументы для Отдельных Ступенчатых функций, В интерактивном режиме Конфигурируют Интерфейс C++ и Конфигурируют Генерацию кода По умолчанию для Функций.

Чтобы просмотреть сгенерированную функцию точки входа шага, откройте представление Code или Отчет Генерации кода и просмотрите исходный код для вашей модели. Для получения дополнительной информации смотрите, Анализируйте Интерфейс Сгенерированного кода.

Примеры

свернуть все

Этот пример показывает основной рабочий процесс для того, как сконфигурировать, настроить, сгенерируйте и исследуйте функцию точки входа шага. Этот определенный пример генерирует функцию завершения C одноразового использования для модели rtwdemo_irt_base.

  1. Откройте модель. В данном примере используйте rtwdemo_irt_base модель.

  2. Выберите кодер. В галерее Apps нажмите Simulink Coder или Embedded Coder.

  3. Сконфигурируйте параметры. В диалоговом окне Configuration Parameters, набор Single output/update function, Treat each discrete rate as a separate task, Language и параметры Code interface packaging. В этом примере параметры устанавливаются для вас.

  4. (Только Embedded Coder), Настраивают функцию. Используя Embedded Coder, можно настроить имя и аргументы функции точки входа шага.

    • Откройте редактор Отображений Кода.

    • Нажмите на вкладку Functions.

    • Настройте имя и аргументы. В столбце Function Preview кликните по функциональной гиперссылке, чтобы открыть диалоговое окно Configure C Step Function Interface. Сконфигурируйте имя и аргументы.

  5. Сгенерируйте код.

  6. Исследуйте сгенерированный код. В представлении Code проверьте, что сгенерированная функция завершения появляется с ожидаемым именем и параметрами.

Входные параметры

свернуть все

Точка входа шага C или функция C++ обеспечивают интерфейс к коду выполнения модели. По умолчанию сгенерированная функция обеспечивает void-void интерфейс, который не имеет аргументов. Чтобы сконфигурировать входные параметры для ступенчатой функции C, используйте Code Mappings Editor. Чтобы сконфигурировать входные параметры для ступенчатой функции C++, используйте Code Mappings- C++ Editor.

Выходные аргументы

свернуть все

Точка входа шага C или функция C++ обеспечивают интерфейс к коду выполнения модели. По умолчанию сгенерированная функция обеспечивает void-void интерфейс, который не имеет аргументов. Чтобы сконфигурировать выходные аргументы в пользу ступенчатой функции C, используйте Code Mappings Editor. Чтобы сконфигурировать выходные аргументы в пользу ступенчатой функции C++, используйте Code Mappings- C++ Editor.

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