Расширение подсистемы

Что такое расширение подсистемы?

Расширение подсистемы включает перемещение содержимого виртуальной подсистемы в содержание системы.

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

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

Почему расширяют подсистему?

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

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

Подсистемы, которые можно расширить

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

Подсистемы, которые можно автоматически изменить, чтобы включить расширение

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

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

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

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

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

Разрывает связь

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

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

Подсистемы, которые вы не можете расширить

Вы не можете расширить эти подсистемы:

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

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

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

  • Различные подсистемы

  • Подсистемы в модели, на которую ссылаются,

  • Подсистемы с набором параметра Read/Write permissions к ReadOnly или NoReadWrite

  • Подсистемы с InitFcn, StartFcn, PauseFcn, ContinueFcn или коллбэком StopFcn

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

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

Когда вы расширяете подсистему, Simulink:

  • Удаляет блок Subsystem

  • Удаляет корневой Inport, корневой Выходной порт и блоки Порта подключения Simscape™, которые были в подсистеме

  • Соединяет сигнальные линии, которые перешли к портам ввода и вывода подсистемы непосредственно к портам блоков в модели, которая соединилась с подсистемой

Блокируйте пути

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

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

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

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

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

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

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

Отсортированные приоритеты порядка и блока

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

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

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

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

Похожие темы