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