The precise pid algorithm, Error calculation, Proportional action – National Instruments PID Control Toolkit 371685C-01 User Manual

Page 13: The precise pid algorithm -4, Error calculation -4 proportional action -4

Advertising
background image

Chapter 2

PID Algorithms

LabWindows/CVI PID Control Toolkit User Manual

2-4

ni.com

The Precise PID Algorithm

This section describes how the PID Control Toolkit functions implement the precise PID
algorithm.

Error Calculation

The current error used in calculating integral action for the precise PID algorithm is shown in
the following formula:

where SP

range

is the range of the SP and L is the linearity factor that produces a nonlinear gain

term in which the controller gain increases with the magnitude of the error. If L is 1, the
controller is linear. A value of 0.1 makes the minimum gain of the controller 10% K

c

. Use of

a nonlinear gain term is referred to as a precise PID algorithm.

The error for calculating proportional action for the precise PID algorithm is shown in the
following formula:

where

β is the setpoint factor for the Two Degree of Freedom PID algorithm described in the

Proportional Action

section. The formula used to calculate derivative action for the precise

PID algorithm is the same formula used to calculate derivative action for the fast PID
algorithm.

Proportional Action

In applications, SP changes are usually larger and faster than load disturbances, while load

disturbances appear as a slow departure of the controlled variable from the SP. PID tuning for
good load-disturbance responses often results in SP responses with unacceptable oscillation.
However, tuning for good SP responses often yields sluggish load-disturbance responses.
β, when set to less than one, reduces the SP response overshoot without affecting the
load-disturbance response, indicating the use of a Two Degree of Freedom PID algorithm.
β is an index of the SP response importance, from zero to one. For example, if you consider
load response the most important loop performance, set

β to 0.0. Conversely, if you want the

PV to quickly follow the SP change, set

β to 1.0.

e(k) = (SP PV

f

)(L+ 1 L

(

)*

SP PV

f

SP

range

-------------------------

)

eb k

( )

(

β* SP PV

f

)(L+ 1 L

(

)*

βSP PV

f

SP

range

----------------------------

)

=

u

P

k

( )= K

c

* eb k

( )

(

)

Advertising