Add simscape blocks programmatically

Hello,
I tried to add a simscape block programmatically, using 'add_block()' function.
add_block('Simscape/Foundation Library/Electrical/Electrical Sources/Controlled Current Source',[gcb,'/Current Load'])
The following error occured:
There is no block named 'Simscape/Foundation Library/Electrical/Electrical Sources/Controlled Current Source'
I check if there is no mistake in path definition, also the simulink and simscape has been loaded using 'load_system()' function. Using simple command to built-in library works fine:
add_block('built-in/Gain',[gcb,'/Current Load'])
Thanks for help.

1 Comment

I have the same problem and have not found a solution. I am interested if you know the solutions.

Sign in to comment.

Answers (2)

Salman
Salman on 14 Nov 2025
Here is the definite solution
⑴ Manually import the Simscape block into Simscape Model
⑵ Select the Model and then go to command line and enter the following
  • gcb
⑶ Dont bother what it gives you. But it must give you something like
  • 'my_model/Solver Configuration'
⑷ Next use the following Command
  • get_param(gcb, 'ReferenceBlock')
⑸ I got the following output, so should you.
  • ans = 'nesl_utility/Solver Configuration'
⑹ This gives us everything we need.
⑺ Instead of using add_block('Simscape/..., use the following command
  • add_block('nesl_utility/Solver Configuration', [model '/Solver Configuration 1']);
⑻ The End 🤓

Products

Release

R2022b

Asked:

on 20 Dec 2022

Answered:

on 14 Nov 2025

Community Treasure Hunt

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

Start Hunting!