pagina in otwikkeling

simpele PID

errorLast:= 0
integral := 0
loop:
   error := setpoint − procesValue
   proportional := error;
   integral := integral + error × dt
   derivative := (error − errorLast) / dt
   output := Kp × proportional + Ki × integral + Kd × derivative
   errorLast:= error
   wait(dt)
goto loop

iets minder simpele PID

T0 := Kp + Ki*dt + Kd/dt
T1 := -Kp - 2*Kd/dt
T2 := Kd/dt
errorLastLast := 0 
errorLast     := 0 
error         := 0 
output        := 0  /or current
 
loop:
    errorLastLast := errorLast
    errorLast     := error
    error         := setpoint − procesValue
    output        := output + (T0 * error) + (T1 * errorLast) + (T2 * errorLastLast)
    wait(dt)
goto loop