Simulinkモデルで、Lineが分岐しているときに 分岐先のブロック名、ポート名 及び 分岐元のブロック名、ポート名を見つける方法はありますか?
20 views (last 30 days)
Show older comments
Simulink モデルで、Lineにどのようなブロックが接続されているかは、SrcBlock、DstBlockで見つめることが出来ますが、Lineが分岐している場合は、SrcBlock、DstBlockが空になってしまいます。Lineが分岐しているときに、分岐先のブロック名、ポート名、分岐元のブロック名、ポート名を見つける方法はありますか?
0 Comments
Accepted Answer
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
on 28 Sep 2016
サポート窓口へお問い合わせする際は、保守有効なライセンスを確認し、下記のリンクにある Webリクエストフォームまたは電話番号からご連絡下さい。
MATLAB Desktop からもお問い合わせが可能です。デスクトップにある 'サポートのリクエスト'アイコンをクリックして必要事項を記入して送信します。
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!