Variant control variable initialization

14 次查看(过去 30 天)
I have a variant subsystem where one of the controls is throttle_controller == 1.
My initFcn first clears the workspace, then runs a script where this variable throttle_controller gets initialized. If I run the stuff in the initFcn from the command line, this variable throttle_controller does show up so I know the initFcn works as intended.
When I run the simulation, I get an error
Variant control 'throttle_controller == 1' used by block 'Car/software/throttle_controller' should return a logical value.
Caused by:
  • Undefined function or variable 'throttle_controller'.
Then I check the workspace, it is blank. Apparently the initFcn didn't even run yet. Does the variant subsystem look for its necessary variables before callbacks are run?
How do I initialize the variable in the initFcn? I don't want to put it in postLoadFcn because I change the value of the variable and run the model many times after I load it once.
Capture.PNG
Capture2.PNG

回答(1 个)

Jesús Zambrano
Jesús Zambrano 2020-2-6
Hi Cheyenne,
Try to use the PreLoadFcn callback, which is executed before the model is loaded. The variable will be in the workspace, then you can change it before running a new variant. Also check some workflow here https://se.mathworks.com/help/simulink/ug/create-and-open-models.html#btozflu-1

类别

Help CenterFile Exchange 中查找有关 Component-Based Modeling 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by