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!