blockMaxRisingFrequency

In every true condition phase, the frequency of the check rising edges is limited

Extends from Modelica_Requirements.Interfaces.PartialCheck (Interfaces and icon for check block).

Information

Syntax

property = MaxRisingFrequency(condition=..., check=..., freqHzMax=...).y;

Description

In every duration where the Boolean input condition is true, the frequency of the rising edges of Boolean input check is limited by freqHzMax. Therefore, in every true condition phase the constraint shall hold:

1/T ≤ freqHzMax

where T is the time duration between two rising edges of check. The frequency 1/T is also provided as additional output signal freqHz. Once the frequency cannot be computed (outside of the true condition phase, or before the second rising edge of check in a true condition phase), it is set to freqHz = 0. If the frequency is not larger as freqHzMax, property output y is set to Satisfied. If the limit is violated, y = Violated. In all other cases, y = Undecided.

Violated, Undecided, and Satisfied are elements of enumeration Property.

Example

This block is demonstrated with the following example where the check signal has first a frequency of 2 Hz, then of 4 Hz, and then again of 2 Hz and the maximum allowed frequency is 3 Hz:

results in

simulation result

Parameters

TypeNameDefaultDescription
Modelica.Units.SI.FrequencyfreqHzMaxMaximum frequency of rising edges in true condition phase

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputcondition (from PartialCheck)Boolean input condition signal
Modelica_Requirements.Interfaces.PropertyOutputy (from PartialCheck)Property output signal
Modelica.Blocks.Interfaces.RealOutputfreqHzCheck rising edge frequency in true condition phase, otherwise zero

Components

TypeNameDefaultDescription
Booleancheck (from PartialCheck)Boolean to check