Main Content

Check Static Upper Bound

Check that signal is less than (or optionally equal to) static upper bound

  • Check Static Upper Bound block

Libraries:
Simulink / Model Verification
HDL Coder / Model Verification

Description

The Check Static Upper Bound block checks if an input signal is less than (or optionally equal to) a specified lower bound at each time step and executes an assertion after comparison. The Upper bound parameter defines the upper bound. If the input signal is less than the upper bound, the assertion is true (1) and the block does nothing. If not, the block halts the simulation and returns an error message by default.

The input signal and bound can be scalars, vectors, or matrices. The input and the bound must be the same data type. The block compares the value of the input to the bound differently depending on the signal.

  • When comparing scalars to vectors or matrices, the block compares the scalar to each element of the non-scalar input signal or bound.

  • When comparing a vector or matrix signal to a vector or matrix upper bound, the block compares the input signal to the bound element-by-element.

  • For models with an input signal and bound that are both vectors or matrices, the input signal and bound must have the same dimensions.

Examples

expand all

Using the Check Static Upper Bound block, you can check if an input signal exceeds a defined value.

In this example, the Check Static Upper Bound block compares the value of a Sine Wave block to the value entered in the Upper bound parameter, which is 0.5. The Constant block, labeled Bound, illustrates this parameter in the Scope block but does not affect the parameter value. The Check Static Upper Bound block checks if the value of the input signal is less than the Upper bound. If it is, the block asserts true (1). Because the Output assertion signal parameter of the block is selected, the block outputs the assertion value. Run the simulation to observe the model output.

At the start of the simulation, the Check Static Upper Bound block outputs 1 because the value of the Sine Wave block is less than the bound. At a time of 0.52, the sine wave exceeds 0.5. The Check Static Upper Bound block recognizes this change and outputs 0. When the time reaches 2.62, the sine wave falls below the bound and the assertion is true. This pattern repeats until the simulation end time.

Ports

Input

expand all

Input signal checked against the upper bound specified by the Upper bound parameter.

Data Types: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated

Output

expand all

Output signal that is true (1) if the assertion succeeds and false (0) if the assertion fails. If, in the Configuration Parameters window, in the Math and Data Types section, under Advanced parameters, you select Implement logic signals as Boolean data, then the output data type is Boolean. Otherwise, the data type of the signal is double.

Dependencies

To enable this output port, select the Output assertion signal parameter check box.

Data Types: double | Boolean

Parameters

expand all

Specify the upper bound on the range of amplitudes that the input signal can have.

Programmatic Use

Parameter: max
Type: string scalar or character vector
Default: "0"

Select this check box to make the range of valid input amplitudes include the upper bound.

Programmatic Use

Parameter: max_included
Type: string scalar or character vector
Values: "on" | "off"
Default: "on"

Clearing this parameter disables the block and causes the model to behave as if the block does not exist. To enable or disable all verification blocks, regardless of the setting of this option, go to the Configuration Parameters window, click Diagnostics > Data Validity, expand the Advanced parameters section, and set Model Verification block enabling to Enable all or Disable all.

Programmatic Use

Parameter: enabled
Type: string scalar or character vector
Values: "on" | "off"
Default: "on"

Specify a MATLAB® expression to evaluate when the assertion fails. Because the expression is evaluated in the MATLAB workspace, define all variables used in the expression in that workspace.

Dependencies

To enable this parameter, select Enable assertion.

Programmatic Use

Parameter: callback
Type: string scalar or character vector
Default: ""

Select this parameter to stop the simulation when the check fails. Clear this parameter to display a warning and continue the simulation.

Programmatic Use

Parameter: stopWhenAssertionFail
Type: string scalar or character vector
Values: "on" | "off"
Default: "on"

Select this parameter to enable the output port.

Programmatic Use

Parameter: export
Type: string scalar or character vector
Values: "on" | "off"
Default: "off"

Specify the style of the block icon. The graphic option displays a graphical representation of the assertion condition on the icon. The text option displays a mathematical expression that represents the assertion condition.

Programmatic Use

Parameter: icon
Type: string scalar or character vector
Values: "graphic" | "text"
Default: "graphic"

Block Characteristics

Data Types

Boolean | double | enumerated | fixed point | half | integer | single

Direct Feedthrough

no

Multidimensional Signals

yes

Variable-Size Signals

no

Zero-Crossing Detection

no

Extended Capabilities

PLC Code Generation
Generate Structured Text code using Simulink® PLC Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Version History

Introduced before R2006a