How to programmatically distinguish between different block type?
Afficher commentaires plus anciens
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?
Réponse acceptée
Plus de réponses (2)
Sulaymon Eshkabilov
le 28 Déc 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
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.
Catégories
En savoir plus sur Programmatic Model Editing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!