Variant Subsystems control by Model Workspace variables?

Dear Community,
does there exist a way to use Model Workspace variables instead of Base Workspace variables for variant control?
I would like to avoid using callbacks for variant override.
I wonder why hierarchical symbol resolution ( http://blogs.mathworks.com/seth/2009/02/15/where-does-that-variable-come-from/ ) does not apply for variant control ...
Best regards,
Tilman

4 Comments

I would like to bump this question as I have just come across the same problem. In R2016b when trying to use Simulink.Variant in the model workspace variable the error is "...must be a condition expression or name of a Simulink.Variant object in the global scope workspace of the model."
Unfortunately, this just ends up with more bloat in the base workspace.
I have exactly the same problem in R2017b. I would like to hide the Simulink.Variant variables from the global workspace...
I agree to the above. I would also prefer to have Simulink Variant objects in the model workspace.
Where is this limitation even mentioned in the documentation? I don't understand why variables referenced by variant control conditions would need to be present in a specific workspace. Furthermore, even after moving said variables into the base workspace, Simulink throws an error as it's still unable to evaluate logical expressions such as 'and' or '|' or 'not'

Sign in to comment.

Answers (2)

Any updates on this? i would also like to use the Model Workspace to manage the variants control variables.

1 Comment

Same here. These make more sense in the model workspace anyway.
Any update from a staff member?

Sign in to comment.

Jonas
Jonas on 25 Jun 2020
Edited: Jonas on 25 Jun 2020
You can create a Simulink.Variant variable and put it inside a Data Dictionary, and then link this Data Dictionary to the model.

Categories

Products

Asked:

on 31 Aug 2014

Commented:

Lee
on 25 Jan 2022

Community Treasure Hunt

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

Start Hunting!