Simulink - replace_block only works with SOME components?

4 visualizaciones (últimos 30 días)
Viren
Viren el 8 de En. de 2014
Comentada: Viren el 8 de En. de 2014
Hi all
I have a virtual subsystem with a mask. The mask allows the user to select either Enable or Disable for an option (see screenshot). Depending on the option chosen, I want the mask to replace a Constant with a Repeating Sequence or the other way around.
I have the following code:
switch get_param(gcb,'control')
case 'Enable'
replace_block([gcb,'/controlSequence'],'Constant','simulink/Sources/Repeating Sequence','noprompt');
case 'Disable'
replace_block([gcb,'/controlSequence'],'Repeating Sequence','Constant','noprompt');
end
This code works perfectly when I replace 'Repeating Sequence' with 'Inport', or 'Step' (which is in the SAME 'Sources' section!), just not with Repeating Sequence.
Any ideas why?
  2 comentarios
Duke
Duke el 8 de En. de 2014
If you put the Repeating Sequence in a model, and have it selected and go to the MatLab command window and type get_param(gcb, 'BlockType') you'll see it return that it's a subsystem. That's why it's not working for you, because there is no such block as a Repeating Sequence, it's just a masked subsystem.
You should be able to replace it with a subsystem and just use get_param and set_param with add_block to excatly relacate the block you need. I've done it with compare to constant blocks before.
Viren
Viren el 8 de En. de 2014
So, you suggest that I should create the Repeating Sequence block using it's constituents, and then set their values as necessary?
I think I can do that, but wouldn't it then be easier to just delete the constant and add_block the repeating sequence, and vice versa, depending on the user's input? Or is that what you were suggesting?

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Author Block Masks en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by