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

7 views (last 30 days)
Model Integrator
Model Integrator on 18 Aug 2016
Commented: Yoko on 28 Sep 2016
Simulink モデルで、Lineにどのようなブロックが接続されているかは、SrcBlock、DstBlockで見つめることが出来ますが、Lineが分岐している場合は、SrcBlock、DstBlockが空になってしまいます。Lineが分岐しているときに、分岐先のブロック名、ポート名、分岐元のブロック名、ポート名を見つける方法はありますか?

Accepted Answer

Yoko
Yoko on 28 Sep 2016
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 Comment
Yoko
Yoko on 28 Sep 2016
サポート窓口へお問い合わせする際は、保守有効なライセンスを確認し、下記のリンクにある Webリクエストフォームまたは電話番号からご連絡下さい。
MATLAB Desktop からもお問い合わせが可能です。デスクトップにある 'サポートのリクエスト'アイコンをクリックして必要事項を記入して送信します。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!