Используйте команду 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 на коде обратного вызова или маске intialization код родительского блока ссылочного блока.
Используйте команду LockLinksToLibrary, чтобы заблокировать или разблокировать соединенный блок в библиотеке из командной строки. Когда вы устанавливаете значение LockLinksToLibrary к on, соединенные блочные ссылки на библиотеку заблокированы.
set_param('MyLibraryName', 'LockLinksToLibrary', 'on') %Lock linksset_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 может включить часть загрузки библиотеки и выполнения обратных вызовов.