get Bus signal names

82 views (last 30 days)
SHIVA
SHIVA on 8 Sep 2011
Answered: MC on 2 Apr 2021
how to get the names of each signal of a bus signal using MATLAB commands ?

Answers (4)

Guy Rouleau
Guy Rouleau on 8 Sep 2011
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
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.
Kanava Pitchai
Kanava Pitchai on 16 Mar 2020
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
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
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
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.

Community Treasure Hunt

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

Start Hunting!