Why can't find_system find IC block?

I would like to find all initial condition blocks in my Simulink model, yet the following returns an empty cell array,
thisBlock = find_system(bdroot, 'BlockType', 'IC')
Can you correct this call to find_system? When I click on the block, gcb returns 'myModel/IC', so I believe the block type is correct.

 Respuesta aceptada

Kaustubha Govind
Kaustubha Govind el 13 de Abr. de 2012

1 voto

The IC block's BlockType is 'InitialCondition', so you should be using find_system(bdroot, 'BlockType', 'InitialCondition'). I would recommend using find_system(bdroot, 'LookUnderMasks', 'on', 'BlockType', 'InitialCondition') if you want to search inside masked subsystems also.

2 comentarios

K E
K E el 16 de Abr. de 2012
Thanks as always! I had thought the block name (IC) was the same as block type (IntialCondition), so good to know that they are not. In case it is helpful to someone:
1) To find the block type,
get_param(gcb,'BlockType')
2) To highlight all such blocks,
thisBlock = find_system(bdroot, 'LookUnderMasks', 'on', 'BlockType', 'InitialCondition') ;
hilite_system(thisBlock, 'find') ; % Turn highlighting on
hilite_system(thisBlock, 'none') ; % Turn highlighting off
Kaustubha Govind
Kaustubha Govind el 16 de Abr. de 2012
Thanks for posting your complete solution!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

K E
el 13 de Abr. de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by