model_step

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

Описание

пример

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

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

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

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

  • Время остановки модели установлено на 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. Чтобы изменить сгенерированный интерфейс вызова, установите параметры Language и Code interface packaging. Для получения дополнительной информации см. раздел «Упаковка интерфейса кода».

Чтобы предворительно просмотреть и настроить имя и аргументы сгенерированной функции точки входа на 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. Сконфигурируйте параметры. В диалоговом окне Параметров конфигурации установите параметры Single output/update function, Treat each discrete rate as a separate task, Language и Code interface packaging. В этом примере параметры установлены для вас.

  4. (Только для Embedded Coder) Настройте функцию. Используя Embedded Coder, можно настроить имя и аргументы функции step entry-point.

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

    • Щелкните на вкладке Functions.

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

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

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

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

свернуть все

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

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

свернуть все

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

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте