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

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

Используйте команду 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 является исходным блоком path библиотеки, и slexMaskVariantExample2/VariantSubsystem является новым блоком path библиотеки.

Примечание

Не рекомендуется изменить свойства блока, на который ссылаются, при помощи команды 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 может включить часть загрузки библиотеки и выполнения коллбэков.

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

|

Для просмотра документации необходимо авторизоваться на сайте