Simulinkモデ​ルで、Lineが分岐​しているときに 分岐先のブロック名、ポート名 及び 分岐元のブロック名、​ポート名を見つける方​法はありますか?

20 ビュー (過去 30 日間)
Model Integrator
Model Integrator 2016 年 8 月 18 日
コメント済み: Yoko 2016 年 9 月 28 日
Simulink モデルで、Lineにどのようなブロックが接続されているかは、SrcBlock、DstBlockで見つめることが出来ますが、Lineが分岐している場合は、SrcBlock、DstBlockが空になってしまいます。Lineが分岐しているときに、分岐先のブロック名、ポート名、分岐元のブロック名、ポート名を見つける方法はありますか?

採用された回答

Yoko
Yoko 2016 年 9 月 28 日
Lineが分岐している場合に空になっている状況について把握できていませんが、R2016a でブロックに対し 'PortConnectivity' プロパティを取得することで、そのブロックの接続先・接続元のブロックハンドルが取得できています。
例えばデモモデル vdp にて、分岐のある線 x1 の元となる Integrator ブロックを選択した状態で下記コマンドを実行することで、接続先や接続元のブロックが確認できます。
pc=get_param(gcb,'PortConnectivity');
for k = 1:length(pc)
get_param(pc(k).DstBlock,'Name')
get_param(pc(k).SrcBlock,'Name')
end
上記コマンドを使ってもうまく取得できない場合、問題が簡単に再現できるファイル一式とMATLABバージョンと共にサポート窓口へお問い合わせ頂くことをお勧めします。
また、ポート名を取得したいということですが、これは Subsystem ブロックに表示されているポート名をとりたいということでしょうか?
  1 件のコメント
Yoko
Yoko 2016 年 9 月 28 日
サポート窓口へお問い合わせする際は、保守有効なライセンスを確認し、下記のリンクにある Webリクエストフォームまたは電話番号からご連絡下さい。
MATLAB Desktop からもお問い合わせが可能です。デスクトップにある 'サポートのリクエスト'アイコンをクリックして必要事項を記入して送信します。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

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

製品

Community Treasure Hunt

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

Start Hunting!

Translated by