Find variable in Simulink blocks

In a Simulink model 'myModel', I would like to find all blocks that use the variable 'myVariable', even before the variable's value exists in the workspace. The variable appears in several constant blocks, which I want to highlight. But the following approach produces the error below. What am I doing wrong?
Simulink.findVars('myModel', 'Name', 'myVariable')
Model 'myModel' failed to successfully compile, any cached results may be incomplete.
Caused by: Error evaluating expression 't_total' for 'Stop time' specified in the Configuration Parameters dialog for block diagram 'myModel': Undefined function or variable 't_total'.

 Accepted Answer

Kaustubha Govind
Kaustubha Govind on 7 Mar 2012
The particular error that you are seeing is about t_total being undefined, but in general, you do need to define all variables being used in the model (including 'myVariable'). Simulink attempts to compile the model (equivalent to Ctrl+D) in the algorithm used to find the variables, and Ctrl+D will fail if you have not defined the required variables.

2 Comments

Thanks. I did have to create all variables in the workspace before being able to find myVariable. Here is how to highlight the blocks containing the variable, in case someone finds it useful:
thisVar = Simulink.findVars('myModel', 'Name', 'myVariable')
hilite_system(thisVar.UsedByBlocks,'find')
And this demo was helpful, http://www.mathworks.com/videos/simulink/find-variables-used-by-a-simulink-model.html
And to turn off highlighting,
hilite_system(thisVar.UsedByBlocks,'none')

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!