Измените модели, на которые ссылаются, для условного выполнения

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

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

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

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

Условная модельОписание
Enabled

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

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

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

Инициированный

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

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

Для примера инициированной модели смотрите образцовый sldemo_mdlref_datamngt.

Инициированный и Enabled

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

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

Порт вызова функции выполняет модель, на которую ссылаются, каждый раз, когда событие вызова функции имеет место. Чтобы добавить порт вызова функции к Блоку модели, вставьте блок Trigger в модель, на которую ссылаются. Затем откройте диалоговое окно Block Parameters и установите Триггерный тип на function-call.

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

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

Для примера модели вызова функции смотрите образцовый sldemo_mdlref_fcncall.

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

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

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

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

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

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

Инициированный

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

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

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

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

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

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

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

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

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

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

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

Измените модель, на которую ссылаются, для условного выполнения

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

    Тип моделиБлоки, чтобы вставить

    Enabled

    Включить

    Инициированный

    Триггер

    Инициированный и Enabled

    Инициируйте и включите

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

    Триггер

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

  2. Для блока Trigger, установленного Триггерный параметр типа:

    Тип моделиИнициируйте установку параметра типа

    Инициированный

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

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

    • rising

    • falling

    • either

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

    function-call

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

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

Смотрите также

Блоки

Похожие темы

Была ли эта тема полезной?