Create a Simple Variant Model
Create a model that contains variant blocks. For example, seeVariant Subsystemsthat contains a Variant Subsystem block (
Controller
).Define variant control variables that determine the condition under which a variant choice is active.
Right-click the variant block and clickBlock Parameters. The Block Parameters dialog box for the variant block opens.
To choose the active Variant based on the evaluation of the Variant conditions, use the
Expression
mode else selectLabel
mode. When you select theVariant control modeasLabel
,Label mode active choiceoption is available. InLabel
mode, Variant control need not be created in the global workspace. You can select an active Variant choice fromLabel mode active choiceoptions.Use the options available on the Block Parameter dialog box to add variant controls and its corresponding variant condition.
A sample screenshot for
Expression
mode:A sample screenshot for
Label
mode:Note
The variables used to specify the variant control and variant condition must be defined in the global workspace, model workspace, mask workspace or data dictionary for the model.
Specify a default variant condition to be used when there is no active variant choice. Use theVariant controllist to specify the default.
To activate a variant choice, type the variant choice in MATLAB®command window. For example, type
VSS_MODE = 2
.To simulate the model, on the toolstrip, clickRun. The model simulates for the specified active choice.
修改活动ve choice and simulate the model again, if necessary.
Generate code for the variants model with preprocessor conditionals.
Note
You must have an Embedded Coder®license to generate code.
In the Block Parameters dialog box, from theVariant activation timelist, select
code compile
.Open the Subsystem Block Parameters dialog boxes. Select theTreat as atomic unitparameter.
In theCode Generationsection of Configuration Parameters dialog box, specify theSystem target fileas
ert.tlc
.In Model Explorer, define the variables used to specify the variant choice as a MATLAB variable or as a
Simulink.Parameter
. The data type of theSimulink.Parameter
can be of typeInteger
,Boolean
, orEnumerated
and the storage class can be eitherimportedDefine(Custom)
,Define(Custom)
, orCompilerFlag
.
For the variants that are defined in the global workspace, export the control variables to a MAT-file. For example, type the following in the MATLAB command window:
-
save
-
PostLoadCallback > load
-
Note
To update or refresh active models that containVariant Subsystemblocks, on theModelingtab, clickUpdate Model(Ctrl + D) in Simulink®.
Related Examples
- Define, Configure, and Activate Variant Choices in a Variant Subsystem Block
- Create and Validate Variant Configurations
- Create Variant Controls Programmatically
- 代表Subsystem and Variant Models in Generated Code(Embedded Coder)
- 出口工作空间变量