How to programmatically comment/uncomment a Simulink block?

Simulink blocks can be commented/uncommented using Ctrl+Shift+X.
Is there a way to do this programmatically in a Matlab script?

3 Comments

Yes. there is and I found it out just now after I explored your question :))) in 2015 I was 17 years old and today I am pursuinig my Masters in Engineering.... Wooh!! That was a long time ago!!!... ;-)
Well the answer is: The path value has to be passed as a string. So put the path in ' ' single inverted commas.
Detailed answer with example given below this question.
Answer:
Please let me know if it helps... Have a nice day! Thanks.
how to pogrammatically comment and uncomment all the blocks in the simulink model ?
@Akhilesh I am not sure if the following works:
ModelName = 'my_model.slx'; % here you put the name of your Simulink model
set_param(ModelName,'Commented','on')
set_param(ModelName,'Commented','off')
Because in documentation it only mentions about commenting out a block. But even so be the case, you can simply engulf your whole model into a Subsystem and simply comment out that Subsystem block.

Sign in to comment.

 Accepted Answer

Yes, you can do
set_param(blockName,'Commented','on')
set_param(blockName,'Commented','off')
... or if the block has 1 input and 1 output port, you can also comment through
set_param(blockName,'Commented','through')
Here, blockName is the name of the block, which you can obtain by selecting the block and typing gcs.
- Sebastian

3 Comments

Perfect! Thank you, again.
If it's in the docs I couldn't find it...
To add to this, it can save an additional step by selecting the block and typing "gcb" instead of "gcs".
Excellent. I was lost in the myriad parameters each block / component has.
set_param([gcs,'/L(',num2str(k),')'],'Commented','on')
selects L(k) from the current system and comments it out.

Sign in to comment.

More Answers (1)

The path value has to be passed as a string. So put the path in ' ' single inverted commas.
For e.g.
set_param('subsystempath','Commented','on')
set_param('subsystempath','Commented','off')
the 'subsystempath' is full path to that subsystem. For e.g. 'modelName/subsystemName...'
If it helps, please let me know...

Tags

Asked:

Joe
on 9 Dec 2015

Commented:

on 3 Oct 2024

Community Treasure Hunt

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

Start Hunting!