コマンドで、System Composerのコンポーネント(Component)のポート名を取得し、変更する方法はありますか?
4 ビュー (過去 30 日間)
古いコメントを表示
MathWorks Support Team
2024 年 9 月 16 日
回答済み: MathWorks Support Team
2024 年 9 月 16 日
コマンドを使って、System Composerのコンポーネント(Component)のポート名を取得し、変更したいです。
採用された回答
MathWorks Support Team
2024 年 9 月 17 日
下記は、InBus/OutBusポートとConn(物理ポート)の例になります。
1)InBus/OutBusポート
%モデルを開く
open_system('test')
%'test/Component'のInportとOutportを検索
inports = Simulink.findBlocksOfType('test/Component', 'Inport');
Outports = Simulink.findBlocksOfType('test/Component', 'Outport');
%Inportの名前を変更
name = get_param(inports(1), 'PortName')
set_param(inports(1), 'PortName','AA')
%Outportの名前を変更
name = get_param(Outports(1), 'PortName')
set_param(Outports(1), 'PortName','BB')
2)Conn(物理ポート)
%モデルを開く
open_system('test')
% 指定したコンポーネント内のPMIOPortブロックを検索
phyPorts = Simulink.findBlocksOfType( 'test/Component1', 'PMIOPort');
% 各ブロックのポート名を取得
portNames = cell(length(phyPorts), 1); % セル配列を初期化
for i = 1:length(phyPorts)
% ブロックのポート名を取得
portNames{i} = get_param(phyPorts(i), 'Name'); % 丸かっこ()でインデックス
end
% 結果を表示
disp(portNames);
%ポート名を変更する場合、portNamesのインデックス指定で行う必要があります。
set_param(phyPorts(1), 'Name','port_1')
set_param(phyPorts(2), 'Name','port_2')
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ビッグ データの処理 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!