exponenta event banner

Изменение ссылочных моделей для условного выполнения

Условно выполняемая ссылочная модель, или условная модель, позволяет управлять её выполнением с помощью внешнего сигнала. Внешний сигнал, называемый управляющим сигналом, подключается к входному порту управления. Условные модели полезны при создании сложных иерархий моделей, содержащих компоненты, выполнение которых зависит от других компонентов.

Условные модели

Можно настроить ссылочные модели для выполнения условно, аналогично условным подсистемам. Сведения об условных подсистемах см. в разделе Обзор условно выполняемых подсистем.

Программное обеспечение Simulink ® поддерживает следующие типы условных моделей:

Условная модельОписание
Позволенный

Порт включения выполняет ссылочную модель на каждом этапе моделирования, для которого управляющий сигнал имеет положительное значение. Чтобы добавить порт enable в блок Model, вставьте блок Enable в ссылочную модель.

На этом изображении отображается содержимое модели с простой включенной ссылкой.

Пример включенной подсистемы см. в разделе Включенные подсистемы. Соответствующая включенная ссылочная модель использует те же блоки, что и в включенной подсистеме.

Вызванный

Порт триггера выполняет ссылочную модель каждый раз, когда происходит событие триггера. Чтобы добавить порт триггера к блоку модели, вставьте блок триггера в ссылочную модель.

На этом изображении отображается содержимое простой запускаемой ссылочной модели.

Пример запускаемой модели см. в разделе Введение в управление данными со ссылкой на модель.

Инициировано и включено

Блок модели может иметь как триггерные, так и разрешающие порты. Если управляющий сигнал разрешения имеет положительное значение на временном шаге, для которого происходит триггерное событие, то запускаемая и включенная модель выполняется один раз.

Вызов функции

Порт вызова функции выполняет ссылочную модель каждый раз, когда происходит событие вызова функции. Чтобы добавить порт вызова функции к блоку модели, вставьте блок триггера в ссылочную модель. Затем откройте диалоговое окно «Параметры блока» и установите тип триггера в function-call.

Диаграмма Stateflow ®, блок генератора вызовов функций, блок пересечения совпадений или настраиваемая S-функция могут обеспечивать события вызова функций. См. Использование подсистем вызова функций.

На этом изображении отображается содержимое модели, на которую ссылается простой вызов функции.

Пример модели вызова функции см. в разделе Ссылочный вызов функции модели.

Требования к условным моделям

Условные модели должны соответствовать требованиям к:

Условные модели также должны соответствовать требованиям, определенным для каждого типа условной модели.

Условная модельТребования
Позволенный
  • Многоскоростные модели не могут использовать многозадачные решатели. Использовать однозадачность.

  • Для моделей с разрешенными портами в корне, если модель использует решатель с фиксированным шагом, размер модели с фиксированным шагом не должен превышать скорость для любого блока в модели.

  • Атрибуты сигнала разрешающего порта в ссылочной модели должны соответствовать входу, который блок Model предоставляет этому разрешающему порту.

Вызванный

Атрибуты сигнала порта триггера в ссылочной модели должны соответствовать входу, который блок Model предоставляет этому порту триггера.

Инициировано и включеноСм. требования к запускаемым моделям и включенным моделям.
Вызов функции
  • Модель вызова функции не может иметь выходной порт, управляемый только блоками Ground, включая скрытые блоки Ground, вставленные Simulink. Для выполнения этого требования выполните следующие действия:

    1. Вставьте блок преобразования сигнала в сигнал, подключенный к выходному порту.

    2. Включите опцию оптимизации «Исключить этот блок из сокращения блока» вставленного блока.

  • Родительская модель должна запускать модель вызова функции со скоростью, указанной в разделе Параметры конфигурации > Решатель 'Fixed-step size' если модель function-call удовлетворяет обоим условиям:

    • Он определяет решатель с фиксированным шагом.

    • Он содержит один или несколько блоков, использующих абсолютное или прошедшее время.

    В противном случае родительская модель может запускать модель вызова функции с любой скоростью.

  • Модель вызова функции не должна иметь прямых внутренних соединений между портами ввода и вывода корневого уровня. Симулинк не чтит None и Warning параметры диагностики блоковых соединений Недопустимый корневой вход/выход для ссылочной модели вызова функции. Он сообщает о всех недопустимых соединениях корневых портов как об ошибках.

  • Если тип времени Sample имеет значение periodic, период времени выборки не должен содержать смещение.

  • Сигнал, подключенный к порту функционального вызова блока модели, должен быть скалярным.

Изменение ссылочной модели для условного выполнения

  1. На корневом уровне ссылочной модели вставьте один из следующих блоков:

    Тип моделиБлоки для вставки

    Позволенный

    Позволить

    Вызванный

    Спусковой механизм

    Инициировано и включено

    Запустить и включить

    Вызов функции

    Спусковой механизм

    Для включенной модели перейдите к шагу 3.

  2. Для блока Триггер (Trigger) задайте параметр Тип триггера (Trigger type):

    Тип моделиНастройка параметра типа триггера

    Вызванный

    Срабатывает и включается

    Одно из следующих:

    • rising

    • falling

    • either

    Вызов функции

    function-call

  3. Порты блока модели используются для подключения ссылочной модели к другим портам родительской модели.

    • В верхней части блока Модель (Model) отображается значок, соответствующий типу управляющего сигнала, ожидаемого ссылочной моделью. Для запускаемой модели этот значок отображается в верхней части блока «Модель».

См. также

Блоки

Связанные темы