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] http://www.mathworks.it/help/simulink/ug/controlling-and-displaying-the-sorted-order.html#f13-91943
1 件のコメント
Nesredin Mahmud
2017 年 1 月 17 日
hello,
Unfortunately, I am also like you, looking for a similar functionality. Thank you for raising the question :)
Best, /Nas
回答 (1 件)
Mark Lin
2018 年 4 月 11 日
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 件のコメント
Jianfei
2024 年 3 月 29 日
Strange. Some of the output handles are not valid ...
Mukund Iyer
2026 年 7 月 3 日 20:15
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');
カテゴリ
ヘルプ センター および File Exchange で Programmatic Model Editing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!