Subsystem にある信号名を直接コマンドで取得できますか?

25 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
Subsystem 内のInportブロックの名前ではなく、Subsystemに表示されている文字列を直接取得する方法があれば教えてください。

採用された回答

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

カテゴリ

Help Center および File ExchangeSimulink 入門 についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2011b

Community Treasure Hunt

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

Start Hunting!