# func::LP

    sys::Obj
      sys::Virtual
        sys::Component
          func::LP

`public class LP` `[niagaraIcon="module://icons/x16/control/numericPoint.png"]`

Pid Loop object

bias

  `public property float bias [config, precision=6]`

  bias is applied directly to output if ki equals 0

cv

  `public property float cv [precision=3]`

  process feedback

direct

  `public property bool direct [config]`

  direct acting or reverse acting process

enable

  `public property bool enable [config]`

  loop enable. If false, output is held constant at previous value

exTime

  `public property int exTime [min=0, config, unit="millisecond"]`

  loop is executed every exTime ms

kd

  `public property float kd [min=0.0, config, unit="second", precision=6]`

  derivative constant

ki

  `public property float ki [min=0.0, config, unit="per_minute", precision=6]`

  integral constant

kp

  `public property float kp [min=0.0, config, precision=6]`

  proportional constant

max

  `public property float max [config, precision=6]`

  max out value

maxDelta

  `public property float maxDelta [min=0.0, config, precision=6]`

  the max amount out is allowed to change in exTime ms A setting of 0 disables this function

min

  `public property float min [config, precision=6]`

  min out value

out

  `public property float out [readonly]`

  out value, constrained to be between min and max

sp

  `public property float sp [summary, config]`

  setpoint

changed

  `public virtual override void changed(Slot slot)`

  Behavior to execute when a property is changed externally

execute

  `public virtual override void execute()`

  Execute is called once every scan.

start

  `public virtual override void start()`

  Callback when component is first started in an app.