exponenta event banner

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.

  • Ведение журнала отключено.

  • Не выбрана требуемая функция завершения параметра.

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

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

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

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

  3. Чтобы изменить сгенерированный вызывающий интерфейс, установите параметры упаковки интерфейса языка и кода. Дополнительные сведения см. в разделе Упаковка интерфейса кода.

Для предварительного просмотра и настройки имени и аргументов созданной функции начального уровня C или C++ требуется лицензия Embedded Coder ®. Чтобы просмотреть пошаговую функцию начальной точки, откройте редактор Сопоставления кодов (Code Mappings) и перейдите на вкладку Функции (Functions). Чтобы настроить имя функции, в столбце Имя функции (Function Name) щелкните и отредактируйте электронную таблицу напрямую. Чтобы настроить имя функции и аргументы, в столбце Предварительный просмотр функции щелкните гиперссылку функции и настройте пошаговую функцию в открывшемся диалоговом окне. Чтобы настроить функцию с помощью шаблона, в столбце Шаблон адаптации функции выберите шаблон для применения к функции. Дополнительные сведения см. в разделах Настройка имени и аргументов для отдельных ступенчатых функций, Интерактивная настройка интерфейса C++ и Настройка генерации кода по умолчанию для функций.

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

Примеры

свернуть все

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

  1. Откройте модель. Для этого примера используйте rtwdemo_irt_base модель.

  2. Выберите кодер. В коллекции «Приложения» выберите «Кодер Simulink» или «Внедренный кодер».

  3. Сконфигурируйте параметры. В диалоговом окне Параметры конфигурации (Configuration Parameters) установите функцию Одиночный вывод/обновление (Single output/update), Рассматривать каждую дискретную скорость как отдельную задачу, Язык (Language) и Параметры упаковки интерфейса кода (Code interface packaging). В этом примере параметры задаются пользователем.

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

    • Откройте редактор сопоставлений кода.

    • Перейдите на вкладку Функции.

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

  5. Создать код.

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

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

свернуть все

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

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

свернуть все

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

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