PID Regulator
Simple, robust (works also poorly config. ) the most widely used
Setpoint Process Variable
SP + CV(k) = f(e(k)) PV Value
e R Process
- Control Variable
( manipulating variable )
1 de(t )
CV (t ) Kp e(t ) e(t )dt Td
P
Ti dt ideal non-interacting PID algorithm
coefficient
I D Basics: [Link]
part part
e(t) D
Regulator output (CV ) is computed from error
P
signal present and past values and future
I
tendency
t
Google: „Control Engineering A guide for beginners“
Process Variable transient
PV(t)
Overshoot
+
SP
-
offset
t t
PV(0)
tsettling
1
PID controller
P - Proportional action CV (k ) Kp e(k )
bigger Kp (narrow PB) gives faster response, CV(k)
P alone leaves offset error
100%
VisiLogic Help > Ladder > FBs Library > PID FB + Auto-tune
> General Background > Inside the PID Function
> Proportional Band / Integral / Derivative Action 0% 0
e
Proportional
band
I - integral action, reset action [%] of PV range
removes static deviation, can add oscillations and “wind-up”
CV = const. when e = 0
CV const. when e 0
Ti - integral time
larger corresponds to reduced I component
D - derivative, rate action Td - rate time
larger corresponds to increased D component
responds to the rate and direction of change in the e
preventing the overshooting and oscillations
allowing to choose stronger P and I
Integral „wind up“
CV output at 100%, a condition called saturation, can take place
VisiLogic Help > Ladder > FBs Library > PID FB + Auto-tune
> General Background > Inside the PID Function
> Integral Action
2
V200-18-E2B Analog I/O
Control output 0-10V (#0 - 4096)
= heating 32|40...70 C°
0-10V (#0 - 1023) from
Rin >100k RU_load > 1k (Iload < 10mA)
temperature control kit RI_load < 500
Umax < 15V
= 0...100 C° degrees error < 0,2% error < 0,2%
Analog I/O Configuration
Before you can use an analog input/output in your program, you must link it
to an operand. An analog input value can be contained in an MI, ML, or DW.
See VisiLogic Help > Hardware Configuration > Snap-in I/O Expansion Modules
A input0
PID: Control Value – the PID Output
3
Temperature control kit components
LM35DZ – 2...100 Centigrade Temperature Sensor
(linear 10mV/C°, 1.5°C accuracy)
LM358N – Low-power dual operational amplifiers DIP8
L7812CV – 12V voltage regulator - generates heat flow
(w. thermal overload protection)
A transistor amplifies control signal and modulates heating current
+4…30V +(3)..11,5…30V +15…25V ≤ 35V
0,33F
VOUT 11,4…12,6V
LM35 VOUT 0…1V
VOUT 0…10V
L7812
Rin CV
DZ
T ≤ 125°C
Control
output 0…10V
Umax ≤ 32V
OUTPUT
INPUT
T ≤ 175°C
BOTTOM VIEW GROUND
C B
Power On Process Self Heating
Analog Input0 value – Temperature sensor
34°C
30°C
time [s]
Analog Output0 value = 0; CV =0
4
Write to Data Tables
Open example M:\Andres Rahni\PLC\ A input for [Link]
0...1023
0...1000
0...1000
0...1000
0...1000
Read
row #; 0...299 from
Read Table
Read from
from Table Linearization
Table
0...1000
cur-3
cur-2
cur-1
current row
Store Process Data to Tables
0. Read Structure and Values from PLC
1. Select Cells –
2. Copy
3. Paste in Excel
or Export to
5
PID Configuration
350
Run PID
Reset to
stop PID loop
MB 0 ?
6
PID Auto-Tune Stages
Reset if
AT does
not ends
PID Auto-Tune Stages
PID FB collects process data
T(0)+12°C
40°C
CV=4096 100%
=10V
Control
variable
CV=2048
= 5V
Temperature
sensor
T(0)=29°C 0%
time [s]
7
PID FB Status Integer
PID error indications are given in the Status Messages MI
See VisiLogic Help > Ladder > FBs Library > PID FB + Auto-tune
0 FB status OK
1, 2, 3 Auto-tune in progress
4 PID running
5, 6 Setpoint change in progress
7 Integral-wind up
8 integral-wind down
9 Pause mode, Integral and Derivative values are not currently being calculated
10, 11 PV exceeds proportional band, no calculation performed
…
ISS0089 ADVANCED PROGRAMMABLE LOGIC CONTROLLERS
autumn 2018
Homework 3 – Vision 230 and PID regulator
Plant
Vision 230 controller and Temperature control process kit
Tasks:
Program a process PID control algorithm for temperature control in controller.
Program must be able to stop the PID control (CV = 0),
adjust the temperature setpoint between reasonable limits and run it again.
On controller display User Interface show temperature current value (and short
history), control variable (CV) current value, PID current mode
and all (manual mode) commands choices: STOP, RUN AT | PID.
In your report list the program, PID controller configuration, user interface
manual and a setpoint change response (from self heated temperature level to
45..55°C level) graph. To draw graph, program must be able to store CV, (SP)
and PV values for approx. 5 minutes.