开发者

Enumerate inports and outports of a block in Simulink

How would one enumerate the inport and outport handles of a block problematically in Simulink? So far I have tried using the following, where 'sfunc' has already been set to the block handle:

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

Which returns a two dimensional array where its size is equal to the number of specified ports. But when I run the following (with either 'inports' or 'outports')

get_param(inports, 'Handle')

It states that the array must be a vector. Am I going about this the right way? And if so, how do I convert an array into a ve开发者_JAVA技巧ctor? Essentially what I am trying to do is get the handle of the lines connected to the block so I can link them up later after replacing the current block with a new one. Any help on this would be appreciated.


Try using the parameter PortHandles, this will give you a structure with fields like Inport, Outport, EnablePort, etc. The fields Inport and Outport will be an array of handles, the size of the number of ports.

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜