Get the Model's Sorted Execution Order Programmatically

Hello, I can display the Sorted Execution Order of a model as described at [1]. Is there a way to obtain the very same information programmatically from the command line in some "manipulable" form (e.g., cell array of strings in sorted order notation [2], etc.)?
get_param(gcs,'SortedOrder') is not what I want, because it enables the display of the sorted order on the diagram.
The sldebug/slist combination [3] displays the answer on the Matlab's console (basically at this point, I'd need to redirect the output to a variable to read/interpret it; any hint?).
Any other idea/approach?

1 Comment

hello,
Unfortunately, I am also like you, looking for a similar functionality. Thank you for raising the question :)
Best, /Nas

Sign in to comment.

Answers (1)

Can we try using:
sortedlist = get_param(bdroot, 'SortedList');
While this will not give the s:b format as displayed in the model. It will return a vector of block handles with b - 1 as indices.
If you want to inspect the sort order of an Atomic Subsystem in your bdroot then give the handle of that subsystem instead of bdroot:
sortedlist_of_asys = get_param(gcbh, 'SortedList');

2 Comments

Strange. Some of the output handles are not valid ...
You can use ishandle command to remove invalid block handles.
sortedList = sortedList(ishandle(sortedList));
However, beware! 'SortedList' property is present only for SubSystems and not for any block types including Virtual Subsystems. Also make sure to run this once on the model:
set_param(bdroot,'SimulationCommand','update');

Sign in to comment.

Categories

Asked:

on 3 Nov 2014

Commented:

about 18 hours ago

Community Treasure Hunt

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

Start Hunting!