Find model references within model references

Hello,
I'm trying to find a model reference within a large simulink model which contains multiple model references, often also model references within model references.
Given the name of the model referenced, how do I get the path (within the simulink model) to that model block?
I know the function
[models,blocks] = find_mdlrefs(system)
but it doesn't connect the model name to the model block.
I also tried
modelBlock = find_system(sysName, 'BlockType', 'ModelReference');
but it only returns the highest level model references but not those within other model references.
Can you help me?
thanks!

1 Kommentar

Find system has several options. Since you said it only returns the highest model references, you can change the SearchDepth of the find_system function.
Also you can change LookUnderMask, Variants properties of the find_system function to find your model. I haven't tried 'FindAll" option but maybe it solves your problem.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Suraj
Suraj am 2 Mär. 2023
Bearbeitet: Suraj am 2 Mär. 2023

0 Stimmen

It is my understanding that you would like to get the path names of a particular model reference in your large Simulink model.
I’d suggest to use the find_mdlrefs() method, which returns all the model reference blocks in the hierarchy. Further, you may iterate through the array to find the required model.
getfullname(), get_param() and getSimulinkBlockHandle() can prove useful for your issue.

Kategorien

Produkte

Version

R2021a

Gefragt:

am 20 Feb. 2023

Bearbeitet:

am 2 Mär. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by