
How to take the handles of simulink function block?
    4 views (last 30 days)
  
       Show older comments
    
I am facing an issue for finding the port handles of Simulink function block.in simulink function block i have placed inport block,after that i trying to get the handles.If command get_param(gcb, ’PortHandles’) is used then port handles are showing as Inport (as shown in figure) Instead of gcb if I use name it is showing as Outport(as showing in figure),is there any other way to get the port handles of the block.
Note:i think you can find the simulink function block in matlab 2016 or 2017
0 Comments
Answers (1)
  Riya
 on 25 Feb 2025
        Hi sk,  
I understand that you are facing an issue while finding port handles for “Simulink function” block. The issue arises because the “Simulink Function” block is treated as a callable function instead of a standard block, so its ports behave differently. If you use “gcb”, you will get the “internal Inport” and if you use the block name, it will give the “external Outport”. 
To solve this issue and get both “Inport” and “Outport” port handles, we can find port handles for internal Inport and Outport blocks, instead of directly querying “Simulink Function” block. For this, use the following code: 
subBlocks = find_system('function_block_name', 'SearchDepth', 1); 
for i = 1:length(subBlocks) 
    portHandles = get_param(subBlocks{i}, 'PortHandles'); 
    disp(portHandles); 
end 
This will return all the port handles for the internal blocks within the “Simulink Function” block. 
Here is a sample output of the above code for your reference:

For more information on finding the port handles in Simulink, please refer to the following documentation: 
Thanks!   
0 Comments
See Also
Categories
				Find more on Simulink Functions in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
