信号名と Subsystem のポート名が一致して​いるか確認する方法は​ありますか?

조회 수: 28 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2017년 12월 11일
답변: MathWorks Support Team 2017년 12월 11일
信号名と Subsystem ブロックのポート名が一致しているか確認する方法があれば教えてください。
例えば、下図の Subsystem2 は、入力信号名と Subsystem のポート名が一致していないため、一致していないことを検出する方法があれば教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2017년 12월 11일
入力信号の名前は、ブロックプロパティの 'InputSignalNames' プロパティから取得できます。
Subsystem や ModelReference ブロックのポート名は、find_system 関数を使ってそのブロックの中にある Inport ブロックを検索し、検索できたブロックの 'Name' プロパティから取得できます。
 
%%check Subsystem port
subsys_name = 'sig_prop/Subsystem2';
% 信号名を取得
sig_name = get_param(subsys_name,'InputSignalNames')
% ブロックの入力ポートの名前を取得
inport_blk = find_system(subsys_name,'BlockType','Inport');
inport_order = sig_name;
for k = 1:length(inport_blk)
kk = eval(get_param(inport_blk{k},'Port'));
inport_order{1,kk} = get_param(inport_blk{k},'Name');
end
サブシステム 'sig_prop/Subsystem2' と Model Reference ブロック 'sig_prop/Subsystem4' について、信号名とブロックの入力ポート名を取得するサンプルファイルがダウンロード可能です。

추가 답변 (0개)

카테고리

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

태그

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

제품


릴리스

R2011b

Community Treasure Hunt

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

Start Hunting!