Simulink モデル内で、ブロックごとに接続されている Line にアクセスする方法はありますか?

조회 수: 20 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2010년 1월 15일
Simulink モデル内で、ブロックごとに接続されている Line にアクセスし、その接続情報を得る方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2010년 1월 15일
Line の接続情報に直接アクセスする方法はありませんが、次のような方法で、ある Line がどのようなブロック間に接続されているかを知ることができます。
FIND_SYSTEM コマンドで全 Line オブジェクトのハンドルを取得し、任意の Line に対して、'SrcBlockHandle'、'DstBlockHandle' プロパティを取得することで、それぞれ入力側、出力側のブロックのハンドル番号として得ることができます。
また、これらが -1 を示す場合は、その Line オブジェクトの入力側、または出力側には、ブロックが接続されていないことを示します。
例えば、実際の使用例は次のようになります。
%Simulinkモデル vdp.mdl を開きます
open_system('vdp')
%全Lineのハンドル番号を取得します
h = find_system('vdp','FindAll','On','type', 'line');
k = 15; % 15番目のLineに対して...
%入力側、出力側に接続されているブロックのハンドル番号を取得します
hblkSrc = get_param(h(k),'SrcBlockHandle');
hblkDst = get_param(h(k),'DstBlockHandle');
% (結果の表示)
sprintf('LineName: %s Source Block : %s Destination Block: %s', ...
get_param(h(k),'name'),get_param(hblkDst,'Name'), ...
get_param(hblkSrc,'Name'))

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 プログラムによるモデル編集에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!