Управляйте соединенным блоком программно

Соединенная информация о блоке

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

Например, вот модель с соединенными блоками:

Маскирование различных блоков

Когда вы выполняете libinfo(gcb) команда на этом блоке:

 Block: 'slexMaskVariantExample/VariantSubsystem2' %Linked block
           Library: 'slexMaskingVariants_libraryblock' %Parent library block
    ReferenceBlock: 'slexMaskingVariants_libraryblock/VariantSubsystem2'
        LinkStatus: 'resolved' %Link status

ReferenceBlock свойство дает путь библиотечного блока, с которым соединяется блок. Можно изменить этот путь программно при помощи set_param команда. Например:

set_param('slexMaskVariantExample/VariantSubsystem2','ReferenceBlock','slexMaskVariantExample2/VariantSubsystem')

Здесь, slexMaskVariantExample/VariantSubsystem2 исходный путь к библиотечному блоку и slexMaskVariantExample2/VariantSubsystem новый путь к библиотечному блоку.

Примечание

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

Заблокируйте соединенные блоки

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

set_param('MyLibraryName', 'LockLinksToLibrary', 'on') %Lock links
set_param('MyLibraryName', 'LockLinksToLibrary', 'off') %Unlock links

Соедините состояние

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

Используйте get_param(gcb, 'StaticLinkStatus') запрашивать состояние ссылки, не обновляя соединенные блоки. Можно использовать StaticLinkStatus запрашивать состояние соединенного блока, который или активен или устарел.

Использование get_param отправить запрос, чтобы получить значение LinkStatus.

Получите значение LinkStatusОписание
none

Блок не является соединенным блоком.

resolved

Разрешенная ссылка.

unresolved

Неразрешенная ссылка.

implicit

Блок находится в библиотечном блоке и является самостоятельно не ссылкой на библиотечный блок. Предположим, что A является ссылкой на подсистему в библиотеке, которая содержит блок Gain. Если вы открываете A и выбираете блок Gain, get_param(gcb, 'LinkStatus') возвращает implicit.

inactive

Отключенная ссылка.

Использование set_param установить LinkStatus.

Установите значение LinkStatusОписание

none

Разрывает связь. Используйте none разорвать связь, например, set_param(gcb, 'LinkStatus', 'none').

breakWithoutHierarchy

Разрывает связи на месте, не повреждая вложенную родительскую иерархию ссылки. Например, set_param(gcb, 'LinkStatus', 'breakWithoutHierarchy').

inactive

Отключает ссылку. Используйте inactive отключить ссылку, например, set_param(gcb, 'LinkStatus', 'inactive').

restore

Восстанавливает неактивную или отключенную ссылку на библиотечный блок и отменяет любые изменения, внесенные в локальную копию библиотечного блока. Например, set_param(gcb, 'LinkStatus', 'restore') заменяет выбранный блок на ссылку на библиотечный блок того же типа. Это отменяет любые изменения в локальной копии библиотечного блока.

restore эквивалентно Restore Individual в инструменте ссылок.

propagate

Нажатия любые изменения, внесенные в отключенную ссылку на библиотечный блок и, восстанавливают его ссылку. propagate эквивалентно Push Individual в инструменте ссылок.

restoreHierarchy

Восстановления все отключенные ссылки в иерархии с их соответствующими библиотечными блоками. restoreHierarchy эквивалентно Restore в режиме иерархии в Инструменте ссылок.

propagateHierarchy

Нажатия все ссылки с изменениями в иерархии к их библиотекам. propagateHierarchy эквивалентно Push в режиме Hierarchy Инструмента ссылок. Смотрите Восстановление Отключенные Ссылки.

Примечание

  • Когда вы используете get_param чтобы запросить состояние ссылки блока, устаревшие ссылки блока также решают.

  • Используя StaticLinkStatus команда, чтобы запросить состояние ссылки, когда get_param используется в коде коллбэка дочернего блока, рекомендуется. StaticLinkStatus команда не разрешает устаревших ссылок.

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

Похожие темы