exponenta event banner

Создание подсистем

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

Использование подсистем:

  • Устанавливает иерархическую блок-схему, где блок подсистемы находится на одном уровне, а блоки, составляющие подсистему, находятся на другом.

  • Сохраняет функционально связанные блоки вместе.

  • Помогает уменьшить количество блоков, отображаемых в окне модели.

  • Устанавливает интерфейс с входами и выходами.

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

Типы подсистем

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

Совет

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

Simulink ® классифицирует невиртуальные подсистемы по следующим типам:

Тип подсистемыОписание
Атомная подсистема

Подсистема, которая выполняется как один блок.

Включенная подсистема

Подсистема, выполнение которой включено внешним входом.

Срабатывающая подсистема

Подсистема, выполнение которой инициируется внешним входом.

Подсистема вызова функций

Подсистема, выполнение которой управляется внешним входом вызова функции.

Включенная и запускаемая подсистема

Подсистема, выполнение которой включено и инициировано внешними входами.

Сбрасываемая подсистема

Подсистема, состояние блока которой сбрасывается с помощью внешнего триггера.

Если подсистема действий

Подсистема, выполнение которой разрешено блоком If.

Подсистема действий переключения вариантовПодсистема, выполнение которой управляется блоком Switch Case.
Подсистема итератора

Подсистема, повторяющая выполнение на этапе моделирования, когда логическое условие является истинным.

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

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

Создание подсистем

Чтобы создать подсистему, можно:

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

  • В редакторе Simulink перетащите рамку выбора, чтобы наметить подсистему, которую требуется создать, и выберите тип подсистемы.

  • Перетащите блок «Подсистема» из обозревателя библиотеки.

  • Скопируйте и вставьте блок подсистемы из модели.

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

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

Когда выбор содержит блоки, соответствующие портам ввода и вывода, новая подсистема включает копии этих блоков. Новая подсистема не содержит копий блоков, соответствующих портам управления.

После создания можно изменить тип подсистемы.

  • Чтобы выполнить подсистему как единицу, щелкните блок Подсистема. На вкладке Подсистема (Subsystem) выберите Атомная подсистема (Is Atomic Subsystem).

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

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

Добавление портов к подсистемам

Порты блока подсистемы соответствуют блокам внутри подсистемы.

Например, этот блок подсистемы имеет два входных порта и один выходной порт.

Подсистема содержит два блока ввода (In1 и In2) и один блок исходящего порта (Out1), которые соответствуют портам в блоке подсистемы.

Для добавления портов в подсистему:

  • Щелкните кромку блока «Подсистема», затем выберите тип создаваемого порта.

  • Перетащите линию к краю блока «Подсистема».

  • Откройте подсистему, дважды щелкнув по блоку «Подсистема», затем добавьте соответствующие блоки в подсистему.

    Тип портаСоответствующий блок
    Сигнальный порт, входБлок ввода
    Сигнальный порт, выходБлок аутпорта
    Порт шины, входВ блоке элементов шины
    Порт шины, выходБлок Out Bus Element
    Порт управления, включенВключить блок
    Порт управления, срабатываетТриггерный блок
    Порт управления, функциональный вызовТриггерный блок с типом триггера, равным function-call
    Порт управления, сбросСброс блока
    Порт управления, действиеБлок порта действия
    Порт подключенияБлок порта подключения (Simscape)

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

A port is dragged from the left side of the block to the top side of the block.

По умолчанию Simulink маркирует порты в блоке подсистемы. Чтобы указать, как Simulink маркирует порты подсистемы:

  1. Выберите блок «Подсистема».

  2. На вкладке «Формат» панели инструментов Simulink выберите один из параметров маркировки в меню «Метки портов». Дополнительные сведения см. в разделе Отображение меток портов.

Конфигурирование подсистем

Можно изменить имя блока «Подсистема» и изменить блок так, как это делается с любым другим блоком. Например, можно:

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

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

Ограничение доступа к подсистеме

Параметр разрешения на чтение/запись блока подсистемы управляет уровнем доступа, разрешенным для подсистемы.

Примечание

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

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

См. также

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