Перечислите входы и выходы блока в Симулинке - PullRequest
0 голосов
/ 07 апреля 2011

Как можно проблематично перечислить входной и выходной дескрипторы блока в Simulink?До сих пор я пытался использовать следующее, где 'sfunc' уже был установлен для дескриптора блока:

inports = get_param(sfunc, 'Inport')
outports = get_param(sfunc, 'Outport')

, который возвращает двумерный массив, размер которого равен количеству указанных портов.Но когда я запускаю следующее (с 'inports' или 'outports')

get_param(inports, 'Handle')

Это говорит о том, что массив должен быть вектором.Я иду об этом правильным путем?И если да, то как мне преобразовать массив в вектор?По сути, я пытаюсь получить дескриптор линий, подключенных к блоку, чтобы я мог связать их позже после замены текущего блока новым.Буду признателен за любую помощь в этом.

1 Ответ

2 голосов
/ 08 апреля 2011

Попробуйте использовать параметр PortHandles, это даст вам структуру с полями, такими как Inport, Outport, EnablePort и т. Д. Поля Inport и Outport будут массивом дескрипторов, размером количества портов.

>> ph = get_param(sfunc, 'PortHandles')
>> inportHandles = ph.Inport;
% Get the 2nd input port handle
>> input_2 = inportHandles(2);
>> line = get_param(input_2, 'Line');
...