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

А conditionally executed referenced model, или conditional model, позволяет управлять его выполнением с помощью внешнего сигнала. Внешний сигнал, называемый control signal, присоединен к control input port. Условные модели полезны, когда вы создаете сложные иерархии модели, которые содержат компоненты, выполнение которых зависит от других компонентов.

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

Можно настроить модели-ссылки, чтобы они выполнялись условно, подобно условным подсистемам. Для получения информации об условных подсистемах смотрите Обзор условно выполненных подсистем.

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

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

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

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

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

Вызванный

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

Это изображение отображает содержимое простой срабатывающей модели-ссылки.

Для примера срабатывающей модели см. Введение в управление данными с помощью Модели-ссылки.

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

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

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

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

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

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

Для примера модели вызова функции см. Модель-ссылка Function-Call.

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

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

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

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

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

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

Вызванный

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

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

    1. Вставьте Signal Conversion блок в сигнал, соединенный с портом выхода.

    2. Включите блок Исключить из опции оптимизации 'Block' вставленного блока.

  • Родительская модель должна запускать модель вызова функции со скоростью, заданной Configuration Parameters > Solver 'Fixed-step size' опция, если модель вызова функции удовлетворяет обоим следующим условиям:

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

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

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

  • Модель вызова функции не должна иметь прямых внутренних соединений между ее входом уровня корня и выходными портами. Simulink не чтит None и Warning настройки для диагностики Invalid root Inport/Outport block connection для модели вызова функции, на которую ссылается. Он сообщает об ошибках всех недопустимых корневых портов.

  • Если Sample time type periodicпериод шага расчета не должен содержать смещение.

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

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

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

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

    Позволенный

    Enable

    Вызванный

    Trigger

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

    Триггер и активация

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

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

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

  2. Для блока Trigger установите параметр Trigger type:

    Тип моделиУстановка параметра типа триггера

    Вызванный

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

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

    • rising

    • falling

    • either

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

    function-call

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

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

См. также

Блоки

Похожие темы