Main Content

Simulink.findBlocks

Simulink 模型中查找模块

说明

示例

bl = Simulink.findBlocks(sys) 返回模型或子系统 sys 中所有模块的句柄。

示例

bl = Simulink.findBlocks(sys,options) 查找与 Simulink.FindOptions 对象指定的条件匹配的模块。

示例

bl = Simulink.findBlocks(sys,Param1,Value1,...,ParamN,ValueN) 查找其模块参数具有指定值的模块。

示例

bl = Simulink.findBlocks(sys,Param1,Value1,...,ParamN,ValueN,options) 查找参数具有指定值且匹配 FindOptions 对象所指定条件的模块。

示例

全部折叠

获取模型中所有模块的句柄和名称。

打开示例。然后,加载 vdp 模型。

h=load_system('vdp')
h = 152.0007

获取 vdp 模型中所有模块的句柄。

b=Simulink.findBlocks(h)
b = 12×1

  154.0031
  155.0018
  305.0021
  308.0018
  312.0020
  315.0022
  326.0026
  330.0020
  334.0015
  357.0018
      ⋮

获取 vdp 模型中所有模块的名称。

names=getfullname(b)
names = 12x1 cell
    {'vdp/Callback Button'}
    {'vdp/Constant'       }
    {'vdp/Mu'             }
    {'vdp/Product'        }
    {'vdp/Scope'          }
    {'vdp/Square'         }
    {'vdp/Sum'            }
    {'vdp/Sum1'           }
    {'vdp/x1'             }
    {'vdp/x2'             }
    {'vdp/Out1'           }
    {'vdp/Out2'           }

按名称搜索模块

打开示例。然后,加载 vdp 模型。

open_system('vdp')

获取名为 x1 的模块的句柄。

Simulink.findBlocks('vdp','Name','x1')
ans = 361.0037

搜索特定类型的模块

获取 vdp 模型中所有 Sum 模块的句柄。

Simulink.findBlocks('vdp','BlockType','Sum')
ans = 2×1

  333.0045
  357.0040

搜索具有特定参数值的模块

获取 vdp 模型中 Saturate On Integer Overflow 参数的值为 'on' 的所有模块的句柄。

Simulink.findBlocks('vdp','SaturateOnIntegerOverflow','on')
ans = 4×1

  315.0037
  330.0043
  333.0045
  357.0040

该函数返回 vdp 模型中两个 Sum 模块、Product 模块和 Square 模块的句柄。

搜索具有特定参数值的特定类型的模块

获取 vdp 模型中 List of Signs 参数值为 '+-' 的所有 Sum 模块的句柄。

Simulink.findBlocks('vdp','ListofSigns','+-','BlockType','Sum')
ans = 357.0040

该函数返回名为 Sum1 的 Sum 模块的句柄。

输入参数

全部折叠

在其中查找模块的模型或子系统,指定为字符向量或字符串数组。

示例: 'vdp' "f14/Aircraft Dynamics Model"

搜索约束,指定为 Simulink.FindOptions 对象。

输出参量

全部折叠

搜索结果,以句柄数组形式返回。

版本历史记录

在 R2018a 中推出