Simulink.f​indBlocksO​fType for Multiple Types

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?

 Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 28 Okt. 2019

0 Stimmen

vdp;
Option=Simulink.FindOptions('RegExp',true);
Simulink.findBlocks('vdp', 'BlockType','Gain|Outport',Option)

1 Kommentar

Gerrit
Gerrit am 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2018b

Gefragt:

am 28 Okt. 2019

Kommentiert:

am 1 Nov. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by