This block is a synchronous version of Modelica.Blocks.Math.BooleanChange.
It uses previous
instead of the implicit
pre
of change
to set the Boolean output
y
to true
when the boolean input
u
changed. Thus, it's logic is:
if firstTick() then y = false; else y = not (u == previous(u)); end if;
This block might be superfluous and replaced by
Modelica.Blocks.Math.BooleanChange
when the
semantics of change
are relaxed and
well-defined for clocked discrete-time partitions.