Simulinkのモ​デルファイル(.md​lファイル)からブロ​ックの実行順序を求め​る方法はありますか?

조회 수: 10 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2013년 10월 25일
답변: MathWorks Support Team 2013년 10월 25일
Simulink のモデルファイル(.mdlファイル)からブロックの実行順序を求める方法を教えてください。

채택된 답변

MathWorks Support Team
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개)

카테고리

Help CenterFile Exchange에서 Simulink 入門에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

제품

Community Treasure Hunt

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

Start Hunting!