Get list of libraries blocks that have "changes" in a model

Hello,
I have a Simulink model with libraries blocks inside. I have modified some of those libraries (from my model) using "set_param". Now those modified blocks are still linked (LinkStatus = resolved) but have "changes". I mean that the blocks have now a "sheriff star" icon on bottom-left, like that :
LibraryIcon.PNG
There is also a new context menu on those blocks : "Library Link\View changes...".
My question is : how can I get a list of all those blocks in my model? (those blocks = libraries blocks with changes)
I thought I would use 'LinkStatus' parameter in a "find_system" command, but as they are still "resolved" it doesn't work... Is there an other modified parameter to look for?
Thanks!

 Accepted Answer

That is called parameterized library links. I couldn't find a way to get the list using find_system(). You could run Model Advisor, search "parameterized" and find and run the check "Identify parameterized library links". It will give a list.
I also tried a=ModelAdvisor.run('model','mathworks.design.ParameterizedLibLinks'). The list is in the returned result but it is hard to parse.

2 Comments

Great! In fact, I was just missing the term "parameterized library links". With a Google search I found how to find thoses blocks:
Chapter "Find parameterized links in a model".
Thank you very much!
Thank you! I am glad to learn this parameter. For whatever reason, it was not included in get(gcbh).
It's good to know the weblink for the example too!

Sign in to comment.

More Answers (1)

Similar question. My system model 'SYS' has several linked libraries such as LL1, LL2, LL3, which are in LL1.slx, LL2.slx, etc. in the SYS window, I change the name of a signal or port in LL3. So now LL3 is changed and I'd like to push/propagate these changes back to the original source file LL3.slx.
In general, I'd like to push all such changes back to the source files of the libraries .slx files. The ModelAdvisor.run command output is not particularly useful for scripting.
What I want to do is:
1) Get a list of all the 'changed' libraries in SYS
2) set_param(<library-file-path>, 'LinkStatus', 'propagate')
TIA for any advice.
JR

Categories

Find more on Modeling in Help Center and File Exchange

Products

Release

R2018b

Asked:

on 28 Feb 2019

Answered:

on 22 May 2023

Community Treasure Hunt

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

Start Hunting!