How to programmatically distinguish between different block type?
Mostrar comentarios más antiguos
We can get the block type using
get_param(gcb,"BlockType")
However, several block types are returned as Subsystem or S-function for which we can look at ReferenceBlock parameter
get_param(gcb,"ReferenceBlock")
But the Delay block has different version such as Variable Integer Delay, Enabled Delay etc most of which returns Delay as the block type.
How do I distinguish between them?
Respuesta aceptada
Más respuestas (2)
Sulaymon Eshkabilov
el 28 de Dic. de 2021
Use instead this fcn command:
BlockPaths = find_system('MY_model','Type','Block') % MY_model.slx is Simulink model that contains model blocks including a different delay blocks
1 comentario
Sohil Shrestha
el 28 de Dic. de 2021
Well, it does appear that there are several blocks in the Discrete library that all have BlockType == 'Delay'
As far as I can tell, and I might be wrong, the only way to distinguish how each is configured is to interrogate other parameters of the block, like
get_param(gcb,'ShowEnablePort')
to determine which input ports are "active" (I can't think of a better word) and go from there.
The PortHandles property might also be of interest.
Categorías
Más información sobre Programmatic Model Editing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!