Get SrcPortName from only line handle (without block handle)

4 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Ayush Modi
Ayush Modi il 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!

Categorie

Scopri di più su General Applications in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by