blockTrueFalseHold

Block that holds an output signal for at least a specified duration

Information

Block that holds a true or false signal for at least a defined time period.

Whenever the input u switches to true (resp. false), the output y switches and remains true for at least the duration specified by the parameter trueHoldDuration (resp. falseHoldDuration). After this duration has elapsed, the output will be y = u.

This block could for example be used to disable an economizer, and not re-enable it for 10 min, and vice versa.

Simulation results of a typical example with trueHoldDuration = falseHoldDuration = 1000 s.

Input and output of the block

Parameters

TypeNameDefaultDescription
RealtrueHoldDurationDuration of true hold
RealfalseHoldDurationtrueHoldDurationDuration of false hold

Connectors

TypeNameDefaultDescription
Buildings.Controls.OBC.CDL.Interfaces.BooleanInputuInput signal that is to be delayed
Buildings.Controls.OBC.CDL.Interfaces.BooleanOutputyOutput with delayed input signal

Revisions

  • January 13, 2025, by Antoine Gautier:
    Merge elsewhen clauses.
    This is for Buildings, issue 4082.
  • August 26, 2024, by Antoine Gautier:
    Resolved an issue with unit impulse signals.
    This is for Buildings, issue 3966.
  • June 13, 2024, by Antoine Gautier:
    Refactored with synchronous language elements.
    This is for Buildings, issue 3787.
  • November 12, 2020, by Michael Wetter:
    Reformulated to remove dependency to Modelica.Units.SI.
    This is for Buildings, issue 2243.
  • September 18, 2017, by Michael Wetter:
    Improved event handling.
  • July 14, 2017, by Michael Wetter:
    Corrected model to set output equal to input during initialization.
  • June 13, 2017, by Michael Wetter:
    Reimplemented model using a state graph to avoid having to test for equality within tolerance, and to correct a bug. This implementation is also easier to understand.
    This is for Buildings, issue 789.
  • May 24, 2017, by Milica Grahovac:
    First implementation.