Name of Bus at input or output port of a block

7 visualizaciones (últimos 30 días)
Cory Dinkle
Cory Dinkle el 21 de Abr. de 2022
Editada: Cory Dinkle el 22 de Abr. de 2022
Hello! I am trying to determine the name of some busses at the input and output ports of a block. How could I do this programatically?
For example, I would like to enter a series of commands into the Command Window that would return the names "Inbus" and "Inbus2" for the inputs into 'SubsystemName' and "Outbus" for the output, returned as strings. The signals themselves are not named (and will not be named). I was hoping it was something that could be done with get_param(gcb,????), but there doesn't seem to be a function that returns the Bus names.
Thanks in advance!

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 22 de Abr. de 2022
Editada: Fangjun Jiang el 22 de Abr. de 2022
"Inbus" and "Inbus2" here are the tag names of the "From" block. They have nothing to do with the bus name, of curse except that you make it the same as the bus name. To get it
get(gcbh,'GotoTag')
To get the bus name, the bus needs to be named somewhere (preferably at its source), then at the line connecting the "From" block and the "SubsystenName" block, turn on signal name progpagation. Update the model, pass without any error.
Then follow this example
model='slexBusExample';
open_system(model)
block='slexBusExample/Subsystem5/Subsystem2';
lh=get_param(block,'LineHandles');
in1=lh.Inport(1);
set(in1,'SignalPropagation','on');% no need here in this example since this is the source of the bus name
BusName=get(in1,'Name')
BusName = 'sinusoidal'
% in case the bus name is not named here
sph=get(in1,'SrcPortHandle');
>> BusName=get(sph,'PropagatedSignals')
BusName =
'sinusoidal'
  8 comentarios
Fangjun Jiang
Fangjun Jiang el 22 de Abr. de 2022
Then it is not that hard. Start from the subsystem block, find its input and output line handles. Follow the line, find the source block handle or destination block handle and you will get it.
Cory Dinkle
Cory Dinkle el 22 de Abr. de 2022
Thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by