Universal Remote User Manual

Example PID Algorithm Listings 491Appendix G
Appendix G
Example PID Algorithm Listings
This appendix includes listings of the built-in PIDA and PIDB, as well as the
more advanced PIDC which can be downloaded as a custom algorithm.
PIDA Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 491
PIDB Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 493
PIDC Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . page 500
PIDA Algorithm
Figure G-1 shows the block diagram of the PIDA algorithm.
PIDA algorithm implements the classic PID controller. This implementation
was designed to be fast. In order to be fast, this algorithm provides no
clipping limit, alarm limits, status management or CVT/FIFO
communication (History Modes). The algorithm performs the following
calculations each time it is executed:
Error = Setpoint - <inp_chan>
I_out = I_out + I_factor * Error
<outp_chan> = P_factor * Error + I_out + D_factor * (Error - Error_old)
Error_old = Error.
Setpoint
Variable
+
+
+
+
-
<outp_chan>
channel
<inp_chan>
channel
process
P_factor
Variable
D_factor
Variable
I_factor
Variable
Σ
Σ
I_out
variable
Error
variable
Figure G-1. The Simple PID Algorithm "PIDA"