Create control variables, define variant conditions, and export control variables.
Create control variables in the global workspace or a data dictionary.
FUEL=2; EMIS=1;
Use the control variables to define the control condition using a
Simulink.Variant
object.
LinearController=Simulink.Variant('FUEL==2 && EMIS==1');
Note
Before each simulation, define Simulink.Variant
objects representing the variant conditions.
If you saved the variables in the global workspace, select the control variables to export. Right-click and click Save As to specify the name of a MAT-file.
If you want to reuse common variant conditions across models, specify variant
control conditions using Simulink.Variant
objects.
Reuse Simulink.Variant
objects to change the model hierarchy
dynamically to reflect variant conditions by changing the values of the control
variables that define the condition expression.
The example model AutoSSVar
shows the use of
Simulink.Variant
objects to define variant control
conditions.
Note
You must use Simulink.Variant
objects to define variant
control conditions for AUTOSAR workflows.
Use enumerated types to give meaningful names to integers used as variant control values.
In the MATLAB® Editor, define the classes that map enumerated values to meaningful names.
classdef sldemo_mrv_CONTROLLER_TYPE < Simulink.IntEnumType enumeration NONLINEAR (1) SECOND_ORDER (2) end end
classdef sldemo_mrv_BUILD_TYPE < Simulink.IntEnumType enumeration PROTOTYPE (1) PRODUCTION (2) end end
Define Simulink.Variant
objects for these classes in the
global workspace.
VE_NONLINEAR_CONTROLLER = Simulink.Variant... ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.NONLINEAR') VE_SECOND_ORDER_CONTROLLER =Simulink.Variant... ('E_CTRL==sldemo_mrv_CONTROLLER_TYPE.SECOND_ORDER') VE_PROTOTYPE =Simulink.Variant... ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PROTOTYPE') VE_PRODUCTION =Simulink.Variant... ('E_CURRENT_BUILD==sldemo_mrv_BUILD_TYPE.PRODUCTION')
Using enumerated types simplifies the generated code because it contains the names of the values rather than integers.