diff --git a/Buildings/Controls/OBC/CDL/Logical/Sources/Pulse.mo b/Buildings/Controls/OBC/CDL/Logical/Sources/Pulse.mo index bedaa12cf29..10dc479d517 100644 --- a/Buildings/Controls/OBC/CDL/Logical/Sources/Pulse.mo +++ b/Buildings/Controls/OBC/CDL/Logical/Sources/Pulse.mo @@ -17,7 +17,12 @@ protected discrete Modelica.SIunits.Time pulseStart "Start time of pulse"; initial equation - pulseStart = startTime; + if time > startTime then + pulseStart = startTime + period * floor((time - startTime)/period); + else + pulseStart = startTime; + end if; + equation when sample(startTime, period) then pulseStart = time; @@ -74,6 +79,12 @@ The Boolean output y is a pulse signal: ", revisions="