Programmatically change user defined Library objects in Simulink model
4 ビュー (過去 30 日間)
古いコメントを表示
Dear Sirs,
I have made a plain Simulink model consisting of Current Sensor/Scope/Switch etc. There are also two subsystems (Load and Battery) that are user defined Library objects. Links looks fine. The model works and simulation results are correct.
Now I want to programmatically (from Matlab command window) change the Library objects. Say from Load_RLC to Load_R. Both exists as Library objects. I have tried commandos like:
open_system('LowVoltageSystem')
add_block('Load_R','LowVoltageSystem')
pos=get_param('Load_RLC/LowVoltageSystem,'position')
delete_block('Load_RLC/LowVoltageSystem’)
set_param('Load_R','position',pos)
But the ‘Load_R’ can not be found (There is no block named 'Load_R')
I have also tried things like:
replace_block('LowVoltageSystem,'Load_RLC','Load_R')
Here the ‘Load_R’ is invalid block type.(Invalid NewBlock (<Load_R>) passed to REPLACE_BLOCK. Try built-in/BLOCKTYPE or a valid block name.)
The replace_block command, however, works with the built-in library blocks.
If I change the library components ‘manually’ everythings works, so there is nothing wrong with the components themselves.
What am I doing wrong here?
Best//Gert
0 件のコメント
採用された回答
Fangjun Jiang
2021 年 5 月 27 日
編集済み: Fangjun Jiang
2021 年 5 月 27 日
In the first part of your code, add_block() is not used properly. You need to specify the full path of both the source and destination blocks. Look at examples in "doc add_block".
replace_block() is the ideal function to use for your task. Again, you need to specify the full path of the source and desination blocks, e.g. 'CustomLibraryFile/LibraryBlock', 'ModelFile/ModelSystem/BlockName'. For custom library, you also need to open the library first using open_system() or load_system()
4 件のコメント
Fangjun Jiang
2021 年 5 月 27 日
To suppress the dialog box from being displayed, add the 'noprompt' argument as the last argument in the command.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Programmatic Model Editing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!