exponenta event banner

Развернуть содержимое подсистемы

Для перемещения содержимого подсистемы в содержащую ее систему можно развернуть подсистему.

Например, sldemo_enginewc модель включает подсистему сжигания.

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

Зачем расширять подсистему?

Разверните подсистему, если требуется выровнять иерархию модели, подняв содержимое подсистемы на один уровень.

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

Какие подсистемы можно расширить?

Можно развернуть виртуальные подсистемы, которые не маскируются, не связаны и не комментируются. При попытке развернуть подсистему с масками, связями или комментариями с помощью Simulink ® Editor появляется сообщение о том, что Simulink может изменить подсистему таким образом, чтобы ее можно было развернуть.

Тип подсистемыМодификация

Маскированная подсистема

Удаляет все сведения о маскировании

Ссылки на библиотеки

Разрыв ссылки

Подсистема с комментариями

Раскомментирует подсистему

Невозможно развернуть следующие подсистемы:

  • Атомные подсистемы

  • Условные подсистемы

  • Конфигурируемые подсистемы

  • Вариационные подсистемы

  • Подсистемы с параметром разрешения на чтение/запись, равным ReadOnly или NoReadWrite

  • Подсистемы с InitFcn, StartFcn, PauseFcn, ContinueFcn, или StopFcn отзыв

  • Подсистемы со связанными требованиями (с использованием программного обеспечения Simulink Requirements™)

Развернуть подсистему

Для интерактивного развертывания подсистемы щелкните правой кнопкой мыши блок «Подсистема» и в контекстном меню выберите «Подсистема и ссылка на модель» > «Развернуть подсистему».

Чтобы программно развернуть подсистему, используйте Simulink.BlockDiagram.expandSubsystem функция.

Совет

Расширение подсистемы относится к текущему выбранному уровню подсистемы. Simulink не расширяет другие подсистемы в иерархии вложенных подсистем.

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

Результаты расширения подсистемы

При развертывании подсистемы Simulink:

  • Удаление блока подсистемы

  • Удаляет корневые блоки Inport, root Outport и Simscape™ Connection Port, которые находились в подсистеме

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

  • Распределяет блоки и маршрутизирует сигналы для удобочитаемости.

Контуры блоков

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

Имена и свойства сигналов

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

  • Входной порт подсистемы, Simulink использует имя и свойства сигнала в системе, в которой существует подсистема

  • Выходной порт подсистемы, Simulink использует имя сигнала и свойства подсистемы

Отобразить слои

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

Порядок выполнения и приоритеты блоков

При компиляции модели Simulink сортирует блоки по порядку выполнения блоков. Расширение подсистемы может изменить имена путей блоков, что в редких случаях может повлиять на порядок выполнения блоков.

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

Хранилища данных

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

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