Simulinkのモデルファイル(.mdlファイル)からブロックの実行順序を求める方法はありますか?
조회 수: 10 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2013년 10월 25일
답변: MathWorks Support Team
2013년 10월 25일
Simulink のモデルファイル(.mdlファイル)からブロックの実行順序を求める方法を教えてください。
채택된 답변
MathWorks Support Team
2015년 12월 8일
Simulink モデルの実行順序はモデルファイル(.mdlファイル)には記述されていません。
実行順序はモデルをコンパイルした時点で決定されます。
なお、モデルメニューからは、
[書式] -> [ブロックの表示] -> [ソート順序] (R13.x 以前は、[書式]→[ソート順序])
でモデルの実行順序を表示させることができます。
これと同じことが次のコマンドでも行えます。
% モデル名: f14.mdl の場合
load_system('f14');
set_param(gcs,'DisplaySortedLists','on');
f14([],[],[],'compile');
f14([],[],[],'term');
実行順序をテキストで保存するには、SLDEBUGを使います。
SLDEBUGのSLISTでSimulinkモデル内のブロックの実行順序リストを表示させることができます。
SLISTの結果をワークスペース上に保存することができませんので、diaryをつかって、テキストとして保存します。
下記は、sf_carモデルを使用した例になります。
sf_car
sldebug(bdroot)
Simulink Debugger が起動するので、下記コマンドを1行ずつ実行します。
(sldebug @0): >> diary('test.txt');
(sldebug @0): >> slist
(sldebug @0): >> diary off
(sldebug @0): >> quit
diaryコマンド以外にも、下記のようなfopen,fwrite,fcloseを使用する方法があります。
sf_car
warning off
out = evalc('sim(bdroot, ''debug'', {''slist'' ''quit''})');
warning on
fileID = fopen('test.txt','w');
fwrite(fileID,out);
fclose(fileID);
댓글 수: 0
추가 답변 (0개)
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!