How to find a variable in Simulink Model

181 Ansichten (letzte 30 Tage)
nkumar
nkumar am 8 Jul. 2015
Bearbeitet: dc am 3 Jun. 2023
I want to know the variable uses in demo sldemo_mdlref_datamngt.mdl.here assume in counter2 ,right click and if u see Model Reference Parameter there are two variables Params, ICs under Model argument values (for this instance).Can I know what it is and what are its values.I read help in Simulink but could not get relevant answer .On what basis these variables arte passed

Akzeptierte Antwort

Sebastian Castro
Sebastian Castro am 10 Jul. 2015
The most general answer to your question is to use the Model Explorer. It's a great tool that lets you navigate through a model hierarchy and look at all the variables defined in different places.
You can also
  1. Search for variables within the Model Explorer.
  2. Right-click a variable in Model Explorer and select "Find where used".
  3. Right-click any Simulink model or block and select "Find referenced variables".
  4. Use the Simulink.findVars function to do search variables programmatically. [Example here]
- Sebastian
  1 Kommentar
Alexander Guth
Alexander Guth am 7 Mai 2019
Hi,
I know this is kind of an outdated thread, but I have a follow-up question. All of your above points work, however it is a different story if I am looking for a nested variable (in a struct) as also asked by the original author. If I use "Find referenced variables" it just tells me that the generic struct (where I store all of my parameters) is used - which is of no help at all. Also findVars did not work following this approach:
Simulink.findVars('Wind_Turbine','Name','WT_Params.Generator.frequency')
% 0×0 VariableUsage array with properties: (...)
How can I find these usages of these nested variables?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Omid Saber
Omid Saber am 23 Jan. 2020
You can do what Sebastian said to find where the parameters are used. But if you're looking for the valuesor how that parameter is initiated, you should look under the mask. For this, if the mask is linked to a library either got to the library block or break the link to library and work locally on the mask. Right click on the mask and click on Mask>Edit Mask. In the opened window go to the Initilization tabThat's where the parameters are locally defined and you can edit them.

dc
dc am 3 Jun. 2023
Bearbeitet: dc am 3 Jun. 2023
wondful answer,to search under reference,i modified like this:
varObj = Simulink.VariableUsage(varNames,'base workspace');
unusedVars = Simulink.findVars(modelname,varObj,...
'FindUsedVars','off','SearchReferencedModels','on');

Kategorien

Mehr zu Subsystems finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by