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

조회 수: 5 (최근 30일)
langrg
langrg 2019년 2월 28일
답변: Joe Rustan 2023년 5월 22일
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!

채택된 답변

Fangjun Jiang
Fangjun Jiang 2019년 2월 28일
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
langrg
langrg 2019년 2월 28일
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!
Fangjun Jiang
Fangjun Jiang 2019년 2월 28일
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!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Joe Rustan
Joe Rustan 2023년 5월 22일
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

카테고리

Help CenterFile Exchange에서 Custom Libraries에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by