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