How to get all parameters for a Simulink masked system at once?

144 views (last 30 days)
I wonder if there is a way to obtain all parameters in a Simulink masked system. For example, assuming a given masked system with parameters "otype" for "Output data type", "omode" for "Output data mode", and many more. The current to see what parameters existing is right-click the subsystem and select "Edit Mask" to see all parameters and their options.
But this is inconvenient for scripting a Simulink System. It would be handy that if I can use get_param command (or some other commands) to pull all parameters and available options.
The same solution may be applied to built-in blocks, not only masked subsystem. I just happen to encounter the subsystem problem.
Thanks
  3 Comments
Kaustubha Govind
Kaustubha Govind on 13 Nov 2012
According to the documentation, get_param('model/sub_block', 'DialogParameters') should return the "List of names/attributes of block-specific parameters for an unmasked block, or mask parameters for a masked block." - could you please explain why this is not sufficient?
Steven Huang
Steven Huang on 14 Nov 2012
If you try get_param('model/sub_block', 'DialogParameters'), you will see that there is no current value is set to. And if there are options, the options won't show either unless combined with other parameters. In short, scripting is difficult to be automatic.

Sign in to comment.

Answers (1)

Kaustubha Govind
Kaustubha Govind on 16 Nov 2012
I'm assuming that you want to do is get the list of dialog parameters and their values? In that case, you need to write something like:
dialogPrms = get_param('model/sub_block', 'DialogParameters');
dialogPrmNames = fieldnames(dialogPrms);
for idx = 1:numel(dialogPrmNames)
dialogPrmValue = get_param('model/sub_block', dialogPrmNames{idx})
end

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!