Get signal lines in a linked library in Simulink
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
[Simulink version 2019b]
I have a Simulink model called 'main.slx' with several linked library blocks (all resolved). One of these ilinked libraries is called 'link1'. I need to get all the signal lines inside 'link1'
Scenario 1:
I open link1.slx directly in Simulink and click on it. I get all the signals using find_system(gcb, 'FindAll', 'on', 'type', 'line'). This works well.
Scenario 2:
I open main.slx in Simulink and click on the link1 block. This time the same find_system command returns empty. I go deeper into link1 and try again, but still no result.
Is there a direct way to achieve this result? Do I need to get the pathname for link1, open it locally and then run the find_system command? That would be very time-consuming. Hopefully there's a better/faster way? TIA.
0 Commenti
Risposte (1)
Fangjun Jiang
il 26 Gen 2023
Not sure if "link1.slx" is a model/subsystem or a library, which results in a subsystem reference or a library link.
In any case, it sounds like you need to add one of these options
'FollowLinks','On'
'LookInsideSubsystemReference','On'
6 Commenti
Fangjun Jiang
il 30 Gen 2023
Modificato: Fangjun Jiang
il 30 Gen 2023
I don't understand the problem. I dragged a "PID Controller" library block (it is a masked block) to a new empty model "untitled" and ran below. It found 160 line handles. All are inside the library block.
lines=find_system('untitled','FindAll','On', 'FollowLinks','On','LookUnderMasks','All','type', 'line')
Vedere anche
Categorie
Scopri di più su Programmatic Model Editing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!