主要内容

以编程方式控制链接块

链接块信息

使用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并选择增益块,“LinkStatus”get_param (gcb)返回隐式的

不活跃的

禁用链接。

使用set_param设置LinkStatus

设置LinkStatus值 描述

没有一个

优惠链接。使用没有一个例如,要断开一个链接,set_param(gcb, 'LinkStatus', 'none')

breakWithoutHierarchy

在不破坏链接的嵌套父层次结构的情况下,就地中断链接。例如,set_param(gcb, 'LinkStatus', 'breakWithoutHierarchy')

不活跃的

禁用链接。使用不活跃的例如,要禁用一个链接,set_param(gcb, 'LinkStatus', 'inactive')

恢复

恢复到库块的非活动或禁用链接,并丢弃对库块的本地副本所做的任何更改。例如,set_param(gcb, 'LinkStatus', 'restore')将所选块替换为指向相同类型的库块的链接。它会丢弃库块的本地副本中的任何更改。

恢复等于恢复个人在链接工具中。

传播

将对禁用链接所做的任何更改推入库块并重新建立其链接。传播等于推动个人在链接工具中。

restoreHierarchy

使用相应的库块恢复层次结构中所有禁用的链接。restoreHierarchy等于恢复在链接工具的层次模式。

propagateHierarchy

将层次结构中更改的所有链接推到它们的库中。propagateHierarchy等于层次结构链接工具的模式。看到恢复禁用链路

请注意

  • 当你使用get_param查询块的链路状态时,过期的块链路也会被解析。

  • 使用StaticLinkStatus查询链路状态get_param建议在子块的回调代码中使用。StaticLinkStatus命令不会解析任何过期的链接。

如果你打电话get_param在库链接内的一个块上,Simulink金宝app®在任何需要的地方解析链接。执行get_param可能涉及加载部分库和执行回调。

相关的话题