Subsystem にある信号名を直接コマンドで取得できますか?
25 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2013 年 10 月 25 日
回答済み: MathWorks Support Team
2013 年 10 月 25 日
Subsystem 内のInportブロックの名前ではなく、Subsystemに表示されている文字列を直接取得する方法があれば教えてください。
採用された回答
MathWorks Support Team
2013 年 10 月 25 日
Subsystem のブロックプロパティには、ポートの名前を文字列として持っているプロパティはありません。ブロックプロパティに 'ShowPortLabels'というプロパティがあり、デフォルトでは'FromPortIcon' となっていることから、ポートから情報を取得して表示しています。そのため、Inport・Outportブロックから文字列を取得することで、Subsystem にあるポート名が取得できます。
デモモデル f14 の Subsystemブロック(Controller)について、ポートに表示される文字列を取得するコマンドの一例を紹介します。下記コマンドを実行することで動作が確認できます。
subsys = 'f14/Controller';
open_system('f14')
in_bh = find_system(subsys,'BlockType','Inport');
for l = 1:length(in_bh)
in_name = get_param(in_bh(l),'Name')
end
out_bh = find_system(gcb,'BlockType','Outport');
for l = 1:length(out_bh)
out_name = get_param(out_bh(l),'Name')
end
0 件のコメント
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!