Variant control variable initialization

15 Ansichten (letzte 30 Tage)
Cheyenne Hua
Cheyenne Hua am 22 Apr. 2019
Beantwortet: Jesús Zambrano am 6 Feb. 2020
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

Antworten (1)

Jesús Zambrano
Jesús Zambrano am 6 Feb. 2020
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

Kategorien

Mehr zu Component-Based Modeling finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by