How to programmatically distinguish between different block type?
이전 댓글 표시
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?
채택된 답변
추가 답변 (2개)
Sulaymon Eshkabilov
2021년 12월 28일
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.
카테고리
도움말 센터 및 File Exchange에서 Programmatic Model Editing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!