Используйте команду 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, |
inactive | Отключенная ссылка. |
Используйте set_param
, чтобы установить LinkStatus
.
Установите значение LinkStatus | Описание |
---|---|
| Разрывает связь. Используйте |
| Разрывает связи на месте, не повреждая вложенную родительскую иерархию ссылки. Например, |
| Отключает ссылку. Используйте |
| Восстанавливает неактивную или отключенную ссылку на блок библиотеки и отменяет любые изменения, внесенные в локальную копию блока библиотеки. Например,
|
| Нажатия любые изменения, внесенные в отключенную ссылку на библиотеку, блокируются, и восстанавливает ее ссылку. |
| Восстановления все отключенные ссылки в иерархии с их соответствующими блоками библиотеки. |
| Нажатия все ссылки с изменениями в иерархии к их библиотекам. |
Когда вы используете get_param
, чтобы запросить состояние ссылки блока, устаревшие ссылки блока также решают.
Используя команду StaticLinkStatus
, чтобы запросить состояние ссылки, когда get_param
используется в коде коллбэка дочернего блока, рекомендуется. команда StaticLinkStatus
не разрешает устаревших ссылок.
Если вы вызываете get_param
на блоке в ссылке библиотеки, Simulink® разрешает ссылку везде, где необходимо. Выполнение get_param
может включить часть загрузки библиотеки и выполнения коллбэков.