Create and Manage Conditionals
You can use conditionals to monitor when simulation data meets specified criteria and as a trigger for faults. Conditionals use workspace variables, signals, or parameter values to evaluate a Boolean expression. During each major time step, Simscape™ evaluates the conditional after the simulation data is generated. Each fault can use one conditional as the trigger. After simulating models with conditionals, you can view when conditionals trigger in the Simulation Data Inspector.
Create Conditionals
To create a conditional:
Open a model or create and save a new model.
Open the Fault Table pane. Select a Simscape block and, in the Simscape Block tab, in the Faults section, click Fault Table.
In the Conditional tab, click the Create new conditional button .
Modify the properties of the conditional by selecting the conditional and click the Property Inspector button . The properties open in the Property Inspector.
Conditionals evaluate the Boolean expression in the Condition
property at each time step. The expression must evaluate to a logical
true
or false
. The conditional triggers the
fault when the expression is true
.
You can use these MATLAB® operations and functions:
Relational operations:
>
,<
,>=
,<=
,==
,~=
, and~
Logical operations:
&
,&&
,|
, and||
Arithmetic operations:
+
,-
, and*
MATLAB functions:
abs
,logical
,int8
,int16
,uint16
,int32
,uint32
,int64
,uint64
,single
,double
, andhalf
For more information, see MATLAB Operators and Special Characters and Logical (Boolean) Operations. The data types in the expression must match, and must be explicitly defined. Using unsupported functions, operators, and inconsistent data types produces an error at compilation.
To retrieve the simulation time at each time step, enter t
into the
expression. For example, to create a conditional expression that is true where the
simulation time is greater than 6
, enter t > 6
into the expression.
To save the conditional and updates to its properties, save the model or, in the Fault Table pane, click the Save fault information button (since R2024a). If you attempt to close the model without saving, Simulink® displays a dialog box that allows you to save the fault information file before closing.
Assign Symbols to Expressions or Model Elements
To use simulation or workspace data in your conditionals, define symbols. When you add unprotected symbols to an expression, Simscape automatically adds them to the Symbols table.
After defining the symbol names, you must assign the symbols to a value. In the
Symbols table, double-click the cell in the
Mapped To column to choose the symbol assignment type. You
can set Mapped To to Expression
or
Model Element
.
Note
Symbols must evaluate to a real scalar.
If you select Expression
, you must set the
Value cell to a variable defined in the model or base
workspace, or to a literal real scalar. See Specify Source for Data in Model Workspace.
If you select Model Element
, the model opens bind mode.
To select the model element, click a signal and select a model element. You can
select one block output signal per symbol. Exit bind mode by clicking the exit icon
in the top-right corner of the model canvas. The
Value column shows the path of the selected model
element.
Clicking the Value cell highlights the associated signal in the model.
Assign Conditionals to Fault Triggers
To assign a conditional to a fault trigger:
Open the Fault Table pane.
Open the Property Inspector to view the fault properties. In the Fault tab, right-click the fault and click Properties.
Set the Trigger Type property to Conditional.
Set the Select conditional from model property to the conditional.
After you create and assign the conditional to a fault, you can view the conditional assigned to the fault in the Fault Table pane by selecting the fault in the Property Inspector and clicking View conditional.
If you open a conditional in the Property Inspector, the Associated Faults section displays the assigned faults. Click the fault to open the fault properties in the Property Inspector, and click the model element to highlight the model element in the model.
You can adjust how the fault triggers due to the conditional with the Trigger stays on once activated property. If you enable this property, the fault injects when the conditional first satisfies, then continues to inject until simulation ends. If you disable this property, the fault injects only when the conditional expression is satisfied.
Log Conditional Information
When you simulate the model, you can log the conditional trigger status. To log a conditional, in the Fault Table pane, in the Conditional tab, select Log Activity. You can also select the property in the Property Inspector.
When you simulate the model, Simulink records the conditional status as either true
or
false
at the end of each time step. Consequentially, the fault
evaluates the state of the conditional in the following time step. You can view the
results in the Simulation Data Inspector. To open the Simulation Data
Inspector, in the Fault Analyzer tab, in the
Review Results section, click Data
Inspector. After simulating the model, select the conditional to view
the conditional status throughout the simulation.
If you run additional simulations, you can overlay the results by selecting the conditionals in each run and adjusting the layout. For more information on the available layouts, see Inspect Simulation Data.
Delete Conditionals
To delete a conditional, right-click the conditional in the Fault
Table pane and select Delete. If the
conditional is assigned to a fault, the assigned trigger of the fault reverts back to
Always On
.
Additionally, deleting the fault information file associated with the model deletes the conditionals. Use this option to permanently delete the model faults and conditionals.