以编程方式控制链接块
链接块信息
使用libinfo
命令获取关于模型中链接块的信息。libinfo
还提供有关链接块的父库块的信息。
例如,下面是一个带有链接块的模型:
当您执行libinfo (gcb)
在此块上的命令:
Block: 'slexMaskVariantExample/VariantSubsystem2' %链接块Library: 'slexMaskingVariants_libraryblock' %父库块ReferenceBlock: 'slexMaskingVariants_libraryblock/VariantSubsystem2' LinkStatus: 'resolved' %链接状态
的ReferenceBlock
属性提供块链接到的库块的路径。方法可以以编程方式更改此路径set_param
命令。例如:
set_param(‘slexMaskVariantExample / VariantSubsystem2’、‘ReferenceBlock’,‘slexMaskVariantExample2 / VariantSubsystem’)
在这里,slexMaskVariantExample / VariantSubsystem2
原来的库块路径和slexMaskVariantExample2 / VariantSubsystem
是新的库块路径。
请注意
方法更改引用块的属性,建议不要使用set_param
命令在掩码初始化代码或回调代码的同一块中。对于这样的建模模式,您可以使用Variant块(屏蔽变量块)或使用ReferenceBlock
参数的回调代码或引用块的父块的掩码初始化代码。
锁定链接块
使用LockLinksToLibrary
命令从命令行锁定或解锁库中的链接块。的值时LockLinksToLibrary
来在
,被链接的块链接到库被锁定。
set_param('MyLibraryName', 'LockLinksToLibrary', 'on') %锁定链接
set_param('MyLibraryName', 'LockLinksToLibrary', 'off') %解锁链接
链接状态
所有的方块都有一个LinkStatus
参数和StaticLinkStatus
参数指示该块是否为链接块。
使用“StaticLinkStatus”get_param (gcb)
查询链路状态,不更新已链接的块。你可以使用StaticLinkStatus
查询处于活动状态或已过期的链接块的状态。
使用get_param
的值发送查询LinkStatus
.
获取LinkStatus值 | 描述 |
---|---|
没有一个 |
块不是链接块。 |
解决 |
联系解决。 |
未解决的 |
未解决的链接。 |
隐式的 |
块位于库块中,本身不是到库块的链接。类库中的子系统的链接获得块。如果你打开A并选择增益块, |
不活跃的 |
禁用链接。 |
使用set_param
设置LinkStatus
.
设置LinkStatus值 | 描述 |
---|---|
|
优惠链接。使用 |
|
在不破坏链接的嵌套父层次结构的情况下,就地中断链接。例如, |
|
禁用链接。使用 |
|
恢复到库块的非活动或禁用链接,并丢弃对库块的本地副本所做的任何更改。例如,
|
|
将对禁用链接所做的任何更改推入库块并重新建立其链接。 |
|
使用相应的库块恢复层次结构中所有禁用的链接。 |
|
将层次结构中更改的所有链接推到它们的库中。 |
请注意
当你使用
get_param
查询块的链路状态时,过期的块链路也会被解析。使用
StaticLinkStatus
查询链路状态get_param
建议在子块的回调代码中使用。StaticLinkStatus
命令不会解析任何过期的链接。
如果你打电话get_param
在库链接内的一个块上,Simulink金宝app®在任何需要的地方解析链接。执行get_param
可能涉及加载部分库和执行回调。