参照モデルブロックの​Inport/Out​portの座標を求め​たい

3 次查看(过去 30 天)
ちょいさぶろ
ちょいさぶろ 2020-7-17
回答: Yoko 2020-7-23
モデル参照しているブロックの入出力ポートの座標を求めたく、コマンドをご教授いただけませんか。
<知りたいこと>
モデル参照ブロックのInportの端子位置を求めたい。
<やりたいこと>
モデル参照ブロックのInport端子と、Inportブロックを、add_linkコマンドで結線したい。
そのとき、Inportブロックの座標位置を、モデル参照ブロックのInport端子位置に合わせ平行に並ばせたい。
モデル参照ブロック・Inportブロックの端子位置は、横限定で考えています。
Before → After

回答(1 个)

Yoko
Yoko 2020-7-23
ブロックの端子の座標を取得するには、ブロックの 'PortConnectivity' プロパティを取得します。ブロックを選択した状態で、下記コマンドを実行してみてください。
>> pc = get_param(gcb,'PortConnectivity')
pc =
フィールドをもつ 6×1 struct 配列:
Type
Position
SrcBlock
SrcPort
DstBlock
DstPort
pc の中の Position フィールドに、ポートの座標が格納されています。実行すると、下記のように出力されます。Inport と Outport の両方の座標が出力されます。
>> pc.Position
ans =
300 125
ans =
300 170
ans =
300 215
ans =
420 125
ans =
420 170
ans =
420 215
Inport は最初の3つなので、この座標を使って調整してみてください。
他のブロックプロパティを組み合わせることで、Inport との接続も自動化できると思います。
ブロックに関するプロパティのリストと、取得できる情報に関して、ドキュメントページを参照しつつ、試してみてください。ブロックプロパティの情報は、下記コマンドを実行することでページが開きます。
>> web(fullfile(docroot, 'simulink/slref/common-block-parameters.html'))

类别

Help CenterFile Exchange 中查找有关 一般分野への適用 的更多信息

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!