Get SrcPortName from only line handle (without block handle)

5 views (last 30 days)
How can I obtain the SrcPortName from line handle?
line_handle = find_system(gcs,'SearchDepth', 1, 'FindAll', 'on', 'type', 'line');
handleSourcePort = get_param(line_handle, 'SrcPortHandle')
portname = get(handleSourcePort,'Name')
I got empty variable portname =[], but it should be 'Out1'.
Thank you in advance for help.

Answers (1)

Ayush Modi
Ayush Modi on 7 Mar 2024
Hi Ewela,
The provided code works for me and I am able to get the value in portname. However, playing around with it, I found out that "portname" would be returned empty if:
  • simulation model is closed - "gcs" returns the path name of the current system. If the simulation model is not open, gcs will return Null. Thus, portname will be empty.
  • simulation model is not saved - Ensure that the latest model is saved where the line name is set.
Furthermore, If there are multiple connections in the simulation model, brace indexing would be needed to get the name of a particular Source port handle. Here is the code to demonstrate the same:
line_handle = find_system(gcs,'SearchDepth', 1, 'FindAll', 'on', 'type', 'line');
handleSourcePort = get_param(line_handle, 'SrcPortHandle')
portname = get(handleSourcePort{1},'Name')
Hope this helps!

Categories

Find more on Simulink 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!