# control::IRamp

    sys::Obj
      sys::Virtual
        sys::Component
          control::IRamp

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

Ramp

      Triangle wave between min & max
      Slope is "delta" per "secs" seconds
      'max' must be configured greater than 'min'

delta

  `public property int delta [min=1, config]`

  delta is added or subtracted from out every "secs" seconds

max

  `public property int max [config]`

  max out value of the ramp object. Once max is reached, out will start ramping down

min

  `public property int min [config]`

  min out value of the ramp object. Once min is reached, out will start ramping up

out

  `public property int out [readonly]`

secs

  `public property long secs [min=1, config, unit="second"]`

  determines how often delta is added/subtracted from out

execute

  `public virtual override void execute()`

  Execute is called once every scan.

start

  `public virtual override void start()`

  Start initializes the output