Subsystem にある信号名を直接コマンドで取得できますか?

Subsystem 内のInportブロックの名前ではなく、Subsystemに表示されている文字列を直接取得する方法があれば教えてください。

 Risposta accettata

MathWorks Support Team
MathWorks Support Team il 25 Ott 2013

0 voti

Subsystem のブロックプロパティには、ポートの名前を文字列として持っているプロパティはありません。ブロックプロパティに 'ShowPortLabels'というプロパティがあり、デフォルトでは'FromPortIcon' となっていることから、ポートから情報を取得して表示しています。そのため、Inport・Outportブロックから文字列を取得することで、Subsystem にあるポート名が取得できます。
デモモデル f14 の Subsystemブロック(Controller)について、ポートに表示される文字列を取得するコマンドの一例を紹介します。下記コマンドを実行することで動作が確認できます。
subsys = 'f14/Controller';
open_system('f14')
in_bh = find_system(subsys,'BlockType','Inport');
for l = 1:length(in_bh)
in_name = get_param(in_bh(l),'Name')
end
out_bh = find_system(gcb,'BlockType','Outport');
for l = 1:length(out_bh)
out_name = get_param(out_bh(l),'Name')
end

Più risposte (0)

Categorie

Scopri di più su Simulink 入門 in Centro assistenza e File Exchange

Prodotti

Release

R2011b

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!