Используйте libinfo
команда для получения информации о связанных блоках в модели. libinfo
также содержит информацию о родительских библиотечных блоках связанного блока.
Например, вот модель со связанными блоками:
Когда вы выполняете libinfo(gcb)
команда на этом блоке:
Block: 'slexMaskVariantExample/VariantSubsystem2' %Linked block Library: 'slexMaskingVariants_libraryblock' %Parent library block ReferenceBlock: 'slexMaskingVariants_libraryblock/VariantSubsystem2' LinkStatus: 'resolved' %Link status
The ReferenceBlock
свойство задает путь к библиотечному блоку, с которым связан блок. Вы можете изменить этот путь программно с помощью set_param
команда. Для примера:
set_param('slexMaskVariantExample/VariantSubsystem2','ReferenceBlock','slexMaskVariantExample2/VariantSubsystem')
Здесь, slexMaskVariantExample/VariantSubsystem2
- путь и slexMaskVariantExample2/VariantSubsystem
исходного библиотечного блока - путь к новому библиотечному блоку.
Примечание
Изменять свойства ссылочного блока при помощи set_param
не рекомендуется команда в коде инициализации маски или коде коллбэка того же блока. Для таких шаблонов моделирования можно использовать блоки Variant (блоки варианта маскировки) или использовать
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
может включать загрузку части библиотеки и выполнение коллбэков.