Simulink.f​indBlocksO​fType for Multiple Types

1 view (last 30 days)
The function Simulink.findBlocksOfType finds blocks of one type (e.g. 'Mux') in a Simulink subsystem or model. Is there a direct way to find a set of blocks of multiple types (e.g. 'Mux' and 'Demux') in a model? I tried passing a cell array with two values:
blockhandles = Simulink.findBlocksOfType(sys, {'Mux', 'Demux'});
However, this resulted, as was to be expected based on the Simulink.findBlocksOfType help, in an error message:
Error using Simulink.internal.findBlocksOfType
Invalid input for argument 2 (rhs2):
Value must be a character vector or string scalar.
Thus, is there a way to do a single search for multiple block types in the spirit of the attempt above, or do I need to repeat the search for each individual block type?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 28 Oct 2019
vdp;
Option=Simulink.FindOptions('RegExp',true);
Simulink.findBlocks('vdp', 'BlockType','Gain|Outport',Option)
  1 Comment
Gerrit
Gerrit on 1 Nov 2019
I see you're having me look into 'regular expressions' now; every day is a school day. It works well, so thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Programmatic Model Editing in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!