Создайте подсистемы

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

Используя подсистемы:

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

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

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

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

Когда вы делаете копию подсистемы, та копия независима от исходной подсистемы. Чтобы снова использовать содержимое подсистемы через модель или через модели, считайте подсистемы, на которые ссылаются, модели, на которые ссылаются или подсистемы соединенными с блоком в пользовательской библиотеке. Для получения дополнительной информации смотрите, Выбирают Among Types of Model Components.

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

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

Совет

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

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

Тип подсистемыОписание
Atomic Subsystem

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

Enabled Subsystem

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

Triggered Subsystem

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

Function-Call Subsystem

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

Enabled and Triggered Subsystem

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

Resettable Subsystem

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

If Action Subsystem

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

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

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

For Iterator SubsystemПодсистема, которая повторяет выполнение во время шага времени симуляции для конкретного количества итераций.
For Each Subsystem

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

Создайте подсистемы

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

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

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

  • Перетащите блок Subsystem из Браузера Библиотеки.

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

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

От строки меню выберите тип подсистемы, которую вы хотите создать.

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

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

  • Чтобы заставить подсистему выполниться как модуль, кликните по блоку Subsystem. На вкладке Subsystem выберите Is Atomic Subsystem.

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

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

Добавьте порты в подсистемы

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

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

Подсистема содержит два блока Inport (In1 и In2) и один блок Outport (Out1) это соответствует портам на блоке Subsystem.

Добавить порты в подсистему:

  • Кликните по ребру блока Subsystem, затем выберите тип порта, чтобы создать.

  • Перетащите линию к ребру блока Subsystem.

  • Откройте подсистему путем двойного клика по блоку Subsystem, затем добавьте соответствующие блоки в подсистему.

    Тип портаСоответствующий блок
    Порт сигнала, входБлок Inport
    Порт сигнала, выходБлок Outport
    Вход шины, входБлок In Bus Element
    Вход шины, выходБлок Out Bus Element
    Порт управления, включенныйБлок Enable
    Порт управления, инициированныйБлок Trigger
    Порт управления, вызов функцииБлок Trigger с набором Trigger type к function-call
    Порт управления, сбросБлок Reset
    Порт управления, действиеБлок Action Port
    Порт подключенияБлок Connection Port (Simscape)

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

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

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

  1. Выберите блок Subsystem.

  2. На вкладке Format Панели инструментов Simulink выберите одну из опций маркировки в меню Port Labels. Для получения дополнительной информации смотрите, Показывают метки порта.

Сконфигурируйте подсистемы

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

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

  • Используйте коллбэки блока, чтобы выполнить действия в ответ на действия моделирования подсистемы, такие как обработка ошибки, удаление блока или линии в подсистеме или закрытия подсистемы. Для получения дополнительной информации о свойствах блока, таких как коллбэки, смотрите Specify Block Properties.

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

Параметр полномочий Чтения-записи средств управления блоком Subsystem уровень доступа допускал подсистему.

Примечание

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

Когда подсистема хранится в пользовательской библиотеке, можно использовать параметр Read/Write permissions на родительском библиотечном блоке, чтобы управлять доступом для соединенных экземпляров блока. Пока ссылка библиотеки остается неповрежденной, ограниченный доступ может препятствовать тому, чтобы люди просмотрели или изменили содержимое подсистемы, все еще позволяя им использовать ее в модели. Для получения дополнительной информации смотрите Соединенные Блоки.

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

Похожие темы