get Bus signal names

how to get the names of each signal of a bus signal using MATLAB commands ?

Answers (4)

Since R2010b I think, you can use the "SignalHierarchy" property of a port to get the names of each signal in a bus. fo example, with the demo model 'busdemo', you can do:
busdemo([],[],[],'compile')
ph = get_param('busdemo/Bus Creator', 'PortHandles');
sh = get_param(ph.Outport, 'SignalHierarchy')
See details here:

3 Comments

SHIVA
SHIVA on 9 Sep 2011
In R2009b??
Sebastian
Sebastian on 13 Sep 2016
This is awesome! You made my day! I unsuccessfully tried to figure out, how to find the names from the input signals, but this is just great!
One question: Is it possible that 'SignalHierarchy' is also working without updating/compiling the model? Your code also seems to work without it.
This Syntax is working for Simulink Model.
But for Library Model the 'SignalHierarchy' syntax is not executing. Because in Library model this option 'SignalHierarchy' is disabled.
Any way to get the Parameters of Input Port?
Thanks in advance.

Sign in to comment.

Fangjun Jiang
Fangjun Jiang on 8 Sep 2011

0 votes

How is the bus created? Do you want the signal name in MATLAB or Simulink. In Simulink, you can use the Bus Selector block to see the signal names. In MATLAB, maybe use Simulink.Bus.objectToCell
doc Simulink.Bus.objectToCell

1 Comment

SHIVA
SHIVA on 9 Sep 2011
Bus is created using a Bus creator and one of the input to Bus creater is again a bus signal. I want the signal names in MATLAB.

Sign in to comment.

pavan
pavan on 16 Mar 2018

0 votes

awesome ! Is there any way to get the 'compiled data types' of these signal hierarchy ? I want to know them so that Simulink object can be created from these children's info.
Please let me know if if I can apply >>get_param(ph.Inports, 'CompiledDataTypes')
this method to signals also.
MC
MC on 2 Apr 2021

0 votes

In 2020a if you have a bus selector block connected to the bus you can use its InputSignals parameter. The return value is a cell array with nested cell arrays for nested buses.

Asked:

on 8 Sep 2011

Answered:

MC
on 2 Apr 2021

Community Treasure Hunt

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

Start Hunting!