BuildingSystems.Fluid.HeatPumps.ModularReversible.Controls.Safety.OnOff

# .BuildingSystems.Fluid.HeatPumps.ModularReversible.Controls.Safety.OnOff

Controlls if the Safety constraints for on-time, off-time, and cycle rate

## Information

Checks if the `ySet` value is legal by checking if the device can either be turned on or off, depending on which state it was in.

The output `yOut` equals `ySet`, if the device

- is on and `ySet` is greater than `ySet_small`
- or is off and `ySet` is 0
- or is on and should turn off, and exceeds the minimal on-time (if active)
- or is off and should turn on, and does neither exceed the maximal cycle rate (if active) nor violates the minimal off-time (if active).

If the device is on and should turn off, but does not exceed the minimal on-time (if active), `yOut` equals `min(ySet, ySetMin)`.

If the device is off and should turn on, but exceeds the maximal cycle rate (if active) or violates the minimal off-time (if active), `yOut` equals 0.

## Revisions

- October 2, 2022 by Fabian Wuellhorst:
  Adjusted based on the discussion in this issue #1576)
- November 26, 2018 by Fabian Wuellhorst:
  First implementation (see issue AixLib #577)

Generated at 2026-05-12T20:19:03Z by OpenModelicaOpenModelica 1.26.7 using GenerateDoc.mos