Chapter 7. PID Built-In Function Block
GFK-2950C February 2018 363
7.7 PID Example
The following PID example has a sample period of 100ms, a Kp gain of 4.00 and a Ki gain of 1.500. The
set point is stored in %R0001, the control variable is output in %AQ0002, and the process variable is
returned in %AI0003. CV Upper and CV Lower Clamps must be set, in this case to 20000 and 4000,
and an optional small Dead Band of +5 and -5 is included. The 40-word reference array starts in
%R0100. Normally, user parameters are set in the reference array, but %M0006 can be set to
re-initialize the 14 words starting at %R0102 (word 3) from constants stored in logic (a useful
technique).
The block can be switched to Manual mode with %M1 so that the Manual Command, %R113, can be
adjusted. Bits %M4 or %M5 can be used to increase or decrease %R113 and the PID CV by 1 every
100ms solution. For faster manual operation, bits %M2 and %M3 can be used to add or subtract the
value in %R2 to/from %R113 every CPU sweep. The %T1 output is on when the PID is OK.
7.7.1 Reference Array Initialization using %M00006
For details on the contents of the reference array, refer to Reference Array for the PID Function.