# control::Ramp

    sys::Obj
      sys::Virtual
        sys::Component
          control::Ramp

`public class Ramp` `[niagaraIcon="module://icons/x16/control/util/sine.png"]`

Ramp

      Triangle or sawtooth wave between min & max.
      New value calculated every execute cycle (does not rely on execution rate).

SAWTOOTH

  `public static const define bool SAWTOOTH`

TRIANGLE

  `public static const define bool TRIANGLE`

max

  `public property float max [config]`

  Maximum value

min

  `public property float min [config]`

  Minimum value

out

  `public property float out [readonly]`

  Ramp output

period

  `public property float period [min=0, config, unit="second", precision=0]`

  Ramp period If rampType is true (triangle) then this is the time it takes to complete up/down cycle. If rampType is false (sawtooth) then this is the time it takes to complete up cycle. A value of 0 forces output to min value.

periodInNanos

  `public long periodInNanos`

rampType

  `public property bool rampType [config, falseText="sawtooth", trueText="triangle"]`

  Specifies whether ramp is sawtooth (min to max and repeat), or triangle (min to max/max to min and repeat) Defaults to triangle.

range

  `public float range`

changed

  `public virtual override void changed(Slot slot)`

  recompute internal constants if ramp parameters change

execute

  `public virtual override void execute()`

  Execute is called once every scan.

start

  `public virtual override void start()`

  compute internal constants at startup