Simulinkのモデルファイル(.mdlファイル)からブロックの実行順序を求める方法はありますか?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 25 Okt. 2013
Beantwortet: MathWorks Support Team
am 25 Okt. 2013
Simulink のモデルファイル(.mdlファイル)からブロックの実行順序を求める方法を教えてください。
Akzeptierte Antwort
MathWorks Support Team
am 8 Dez. 2015
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 Kommentare
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!