Model objects that have decision or condition outcomes receive dead logic detection, as the following table shows. Click a link in the first column to get more detailed information about the outcomes for specific model objects.
The Abs block has decision outcomes based on:
Input to the block being less than zero.
Data type of the input signal.
For input to the block being less than zero, there are two decision outcomes:
Block input is less than zero, indicating a true decision.
Block input is not less than zero, indicating a false decision.
If the input data type to the Abs block is uint8
, uint16
,
or uint32
, the software sets the block output equal
to the block input without making a decision. If the input data type
to the Abs block is Boolean, an error occurs.
The Dead Zone block has decision outcomes based on these parameters:
Start of dead zone
End of dead zone
The Start of dead zone parameter specifies the lower limit of the dead zone. For the Start of dead zone parameter, there are two decision outcomes:
Block input is greater than or equal to the lower limit, indicating a true decision.
Block input is less than the lower limit, indicating a false decision.
The End of dead zone parameter specifies the upper limit of the dead zone. For the End of dead zone parameter, there are two decision outcomes:
Block input is greater than the upper limit, indicating a true decision.
Block input is less than or equal to the upper limit, indicating a false decision.
The Discrete-Time Integrator block has decision outcomes based on these parameters:
External reset
Limit output
If you set External reset to none
,
the software does not report decision outcomes. Otherwise, there are
two decision outcomes:
Block output is reset, indicating a true decision.
Block output is not reset, indicating a false decision.
If you do not select Limit output, the software does not report decision outcomes. Otherwise, the software reports decision outcomes for the Lower saturation limit and the Upper saturation limit.
For the Upper saturation limit, there are two decision outcomes:
Integration result is greater than or equal to the upper limit, indicating a true decision.
Integration result is less than the upper limit, indicating a false decision.
For the Lower saturation limit, there are two decision outcomes:
Integration result is less than or equal to the lower limit, indicating a true decision.
Integration result is greater than the lower limit, indicating a false decision.
The Enabled Subsystem block has two decision outcomes:
Block is enabled, indicating a true decision.
Block is disabled, indicating a false decision.
The Enabled Subsystem block has two condition outcomes only if the enable input is a vector:
Element of the enable input is true, indicating a true condition.
Element of the enable input is false, indicating a false condition.
The Enabled and Triggered Subsystem block has two decision outcomes:
Trigger edge occurs while the block is enabled, indicating a true decision.
Trigger edge does not occur while the block is enabled, or the block is disabled, indicating a false decision.
The software determines condition outcomes for the enable input and the trigger input separately.
For the enable input:
Input is true, indicating a true condition.
Input is false, indicating a false condition.
For the trigger input:
Trigger edge occurs, indicating a true condition.
Trigger edge does not occur, indicating a false condition.
The Fcn block has two condition outcomes based on input values or arithmetic expressions that are inputs to Boolean operators in the block:
Input to a Boolean operator is true, indicating a true condition.
Input to a Boolean operator is false, indicating a false condition.
The For Iterator block and For Iterator Subsystem have two decision outcomes:
Iteration value being at or below the iteration limit, indicated as true.
Iteration value being above the iteration limit, indicated as false.
The If blocks that causes an If Action Subsystem to execute has:
Decision outcomes for the if
condition
and all elseif
conditions
defined in the If block.
Condition outcomes if the if
condition
or any of the elseif
conditions
contains a logical expression with multiple conditions.
Simulink® blocks and Stateflow® charts that are linked to library objects receive the same dead logic detection that they would receive if they were not linked to library objects.
The Logical Operator block has two condition outcomes:
Input is true, indicating a true condition.
Input is false, indicating a false condition.
The following MATLAB Function block statements have decision outcomes:
Function header - Function or sub-function that is executed.
if
- Expression evaluates to true,
indicating a true decision. Expression evaluates to false, indicating
a false decision.
switch
- Decision outcomes corresponding
to every switch case path, including the fall-through case.
for
- Loop condition evaluates
to true, indicating a true decision. Loop condition evaluates to false,
indicating a false decision.
while
- Loop condition evaluates
to true, indicating a true decision. Loop condition evaluates to false,
indicating a false decision.
The following logical conditions have condition outcomes:
if
statement conditions
while
statement conditions
The MinMax block has decision outcomes based on passing each input to the output of the block.
For passing each input to the output of the block, there are two decision outcomes:
Input passed to block output, indicating a true decision.
Input not passed to block output, indicating a false decision.
The Model block itself does not have decision or condition outcomes. The model that the block references receive the decision or condition outcomes.
The Multiport Switch block has decision outcomes based on passing each input, excluding the first control input, to the output of the block.
For passing each input, excluding the first control input, to the output of the block, there are two decision outcomes:
Input passed to block output, indicating a true decision.
Input not passed to block output, indicating a false decision.
The Rate Limiter block has decision outcomes based on the Rising slew rate and Falling slew rate parameters.
For the Rising slew rate, there are two decision outcomes:
Block input changes more than or equal to the rising rate, indicating a true decision.
Block input changes less than the rising rate, indicating a false decision.
For the Falling slew rate, there are two decision outcomes:
Block input changes less than or equal to the falling rate, indicating a true decision.
Block input changes more than the falling rate, indicating a false decision.
The software does not have Falling slew rate outcomes for a time step when the Rising slew rate is true.
The Relay block has decision outcomes based on the Switch on point and the Switch off point parameters.
For the Switch on point, there are two decision outcomes:
Block input is greater than or equal to the Switch on point, indicating a true decision.
Block input is less than the Switch on point, indicating a false decision.
For the Switch off point, there are two decision outcomes:
Block input is less than or equal to the Switch off point, indicating a true decision.
Block input is greater than the Switch off point, indicating a false decision.
The software does not have Switch off point decision outcomes for a time step when the switch on threshold is true.
The Saturation block has decision outcomes based on the Lower limit and Upper limit parameters.
For the Upper limit, there are two decision outcomes:
Block input is greater than or equal to the upper limit, indicating a true decision.
Block input is less than the upper limit, indicating a false decision.
For the Lower limit, there are two decision outcomes:
Block input is greater than the lower limit, indicating a true decision.
Block input is less than or equal to the lower limit, indicating a false decision.
The software does not have Lower limit decision outcomes for a time step when the upper limit is true.
The Stateflow Chart block has decision outcomes:
Transition decision is evaluated as true, indicating a true decision.
Transition decision is evaluated as false, indicating a false decision.
The Stateflow Chart block has condition outcomes:
Condition is evaluated as true, indicating a true condition.
Condition is evaluated as false, indicating a false condition.
The Switch block has decision outcomes based on the control input to the block.
For the control input to the block, there are two decision outcomes:
Control input evaluates to true, indicating a true decision.
Control input evaluates to false, indicating a false decision.
The SwitchCase block and SwitchCase Action Subsystem have two decision outcomes:
Block evaluates to true, indicating a true decision.
Block does not evaluate to true, indicating a false decision.
The Triggered Models block has two decision outcomes:
Referenced model is triggered, indicating a true decision.
Referenced model is not triggered, indicating a false decision.
If the trigger input is a vector, then there are two condition outcomes:
Element of the trigger port is true, indicating a true condition.
Element of the trigger port is false, indicating a false condition.
The Triggered Subsystem block has two decision outcomes:
Block is triggered, indicating a true decision.
Block is not triggered, indicating a false decision.
If the trigger input is a vector, then there are two condition outcomes:
Element of the trigger edge is true, indicating a true condition.
Element of the trigger edged is false, indicating a false condition.
The While Iterator block and While Iterator Subsystem have two decision outcomes:
while
condition is satisfied, indicating
a true decision.
while
condition is not satisfied,
indicating a false decision.