温度控制和PID控制器简介
过程控制系统
自动过程控制系统是指把温度、压力、流量、成份等相关的过程变量保持在要求的运行值的一类系统。过程实际上是动态的。变化总是时时在发生的,此时如果不采取相应的措施,那些与安全、产品质量和生产率有关的工艺参数就不能满足设计要求。
为了理清思路,让我们来看一下热交换器,流体在这个过程中被过冷凝蒸汽加热,过程如图1所示。
图1热交换器
这一装置的目的是将流体由入口温度Ti(t)加热到某一期望的出口温度T(t)。如前所述,加热介质是冷凝蒸汽。
只要周围没有热损耗,即热交换器和管道间的隔热性都很好,过程流体获得的热量就等于蒸汽释放的热量。
在这个过程中很多变量会发生变化,导致出口温度偏离期望值。如果出现这种情况,就应该采取一些措施来校正温度偏差,目的是控制出口温度至期望值。
实现该目的的一种方法是首先设定初始温度T(0),然后与期望值相比较,由比较结果决定如何校正偏差。蒸汽的流量可用于偏差的校正。就是说,如果温度高于期望值,就关小蒸汽阀来减小进入热交换器的蒸汽流量;若温度低于期望值,就开大蒸汽阀来增加进入换热器的蒸汽流量。所有这些操作都可由操作员手动完成,操作很简单,不会出现什么问题。但是,由于多数过程对象都有很多变量需要保持为某一期望值,这个校正过程就需要许多的操作员来进行。因此,我们想自动完成这种控制。就是说,我们需要一种无需操作人员介入就可以控制变量的设备。这就是所谓的自动过程控制。
为了实现上述目标,就需要设计一个可行的控制系统。图2为一个可行的控制系统及其基本构件。
图2热交换器的控制回路
首先要做的是测量过程流体的出口温度,这一任务由传感器(热电偶、热电阻等)完成。传感器连接到发射器上,发射器将传感器的输出信号转换为足够大的信号传送给控制器。控制器接收与温度相关的信号并与期望值进行比较。根据比较的结果,控制器决定如何保持温度为期望值。基于这一结果,控制器再发一信号给执行机构来轮流控制蒸汽流量。
以上的叙述表明整个控制系统有四个基本组成部分,分别是:
(1)传感器,也称为一次元件。
(2)发射器,也称二次元件。
(3)控制器,控制系统的“大脑”。
(4)执行机构,通常是一个控制阀,但并不全是。其他常用的执行机构有变速泵、传送装置和电动机。
这些元件的重要性在于它们执行每个控制系统中都必不可少的3个基本操作,即:
(1)测量:被控量的测量通常由传感器和发射器共同完成。
(2)决策:根据测量结果,控制器必须决定如何进行操作维持输出为期望值。
(3)操作:根据控器的处理,系统必须执行某种操作,这通常由执行机构来完成。
如上所述,每个控制系统都必须有M,D和A这三种操作。
PID控制器可以是独立控制器(也可以叫做单回路控制器),可编程控制器(PLCS)中的控制器,嵌入式控制器是用VB或C#编写的计算机程序软件。
PID控制器是过程控制器,它具有如下特征:
(1)连续过程控制;
(2)模拟输入(也被称为“测量量”或“过程变量”或“PV”);
(3)模拟输出(简称为“输出”);
(4)基准点(SP);
(5)比例、积分以及微分常数;
“连续过程控制”的例子有温度、压力、流量及液位控制。例如:控制一个容器的热量。对于简单的控制,你需要两个具有温度限定功能的传感器(一个温度下限,一个温度上限)。当低温限定传感器接通时就会打开加热器,当温度升高到高温限定传感器时就会关闭加热器。这类似于大多数家庭使用的空调及供暖设备的温度自动调节器。
反过来,PID控制器能够接受像实际温度这样的输入,来控制阀门,这个阀门能够控制进入加热器的气体流量。PID控制器自动地找到加热器中气体的合适流量,这样就保持了温度在基准点稳定。温度稳定了,就不会在高低两点间上下跳动了。如果基准点降低,PID控制器就会自动降低加热器中气体的流量。如果基准点升高,PID控制器就会自动的增加加热器中气体的流量。同样地,对于高温,晴朗的天气(当外界温度高于加热器时)及阴冷,多云的天气,PID控制器都会自动调节。
模拟输入(测量量)叫做“过程变量”或“PV”。你希望PV能够达到你所控制过程参数的高精确度。例如,如果我们想要保持温度为+1度或—1度,我们至少要努力使其精度保持在0.1度。如果是一个12位的模拟输入,传感器的温度范围是从0度到400度,我们计算的理论精确度就是400除以44096 ,即0.097656度。我们之所以说这是理论上的因为我们假设温度传感器,电线及模拟转换器上没有噪音和误差。还有其他的假定,如线性等等。即使是有大量的噪音和其他问题,按理论精确度的1/10计算,1度精确度的数值应该很容易得到的。
模拟输出经常被简称为“输出”。经常在0%到100%之间给出。在这个热量的例子中阀门完全关闭(0%),完全打开(100%)。
基准点(SP)很简单,即你想要什么样的过程量。在这个例子中你想要该过程处于怎样的温度。
PID控制器的任务是维持输出在某一个程度上,这样在过程变量(PV)和基准点(SP)上就没有偏差(误差)。
在图3中,阀门用来控制进入加热器的气体,冷却器的制冷,水管的压力,水管的流量,容器的水位或其他的过程控制系统。PID控制器所观察的是PV和SP之间的偏差(或误差)。它观察绝对偏差和偏差变换率。绝对偏差就是'PV和SP之间偏差是大还是小。偏差变换率就是——PV和SP之间的偏差随着时间的变化是越来越小还是越来越大。
SETPOINT P,I,&D
CONSTANTS
Difference error PID control
algorithm
process output
variable
图3 PID控制器
如果存在过程扰动,即过程变量或基准点迅速变化时,PID控制器就要迅速改变输出,使过程变量快速返回到基准点。如果你有一个PID控制的可进入的冷冻装置,某个人打开门进入,温度(过程变量)将会迅速升高。因此,PID控制器不得不提高冷却(输出)来补偿这个温度的升高。
一旦过程变量等同于基准点,一个好的PID控制器就不会改变输出。你所要的输出是非常稳定的(不会改变)。如果阀门(发动机或其他控制器件)不断改变,而不是维持恒量,这将造成控制元件更多的磨损。
这样就有了两个矛盾的目标。当有“过程扰动”时能够快速反应(快速改变输出)。当PV接近基准点时就缓慢反应(平稳输出)。
我们注意到输出量经常超过稳定状态输出使过程变量回到基准点。比如,一个制冷器通常打开它的制冷阀门的34%,就可以维持在零度(在制冷器关闭和温度降低后)。如果某人打开制冷器,走进去,四处走,找东西,然后再走出来,再关上制冷器的门,PID控制器会非常活跃,因为温度可能将上升20度。这样制冷阀门就可能打开50%,75%甚至100%,目的是赶快降低制冷器的温度,然后慢慢关闭制冷阀门回到它的34%。
让我们来考虑一下如何设计一个PID控制器。
我们主要集中在过程变量(PV)和基准点(SP)之间的偏差(误差)上。有三种定义误差的方式。
绝对偏差
他说明的是PV和SP之间的偏差有多大。如果PV和SP之间偏差小,那我们就在输出时作一个小的改变。如果PV和SP之间偏差大——那我们就在输出时作一个大的改变。绝对偏差就是PID控制器的比例环节。
累积误差
给我们点时间,我们将会明白为什么仅仅简单地观察绝对偏差(比例环节)是一个问题。累积误差是很重要的,我们把它称为是PID控制器的积分环节。每次我们运行PID算法时,我们总会把最近的误差添加到误差总和中。换句话说,累积误差,误差1+误差2+误差3+误差4+……
滞后时间
滞后时间指的是PV引起的变化由发现到改变之间的延时。典型的例子就是调整你的烤炉在合适的温度。当你刚刚开始加热,烤炉热起来需要一定时间,这就是滞后时间。如果你设置一个初始温度,等待烤炉达到这个初始温度,然后你认为你设定了错误的温度,烤炉达到这个新的温度基准点还需要一段时间。这也被认为是PID控制器的微分环节。这就抑制了某些将来的变化因为输出值已经发生了改变,但并不是受过程变量的影响。
本文摘译自:http://ieeexplore.ieee.org/
Introductions to temperature control
and PID controllers
Process control system.
Automatic process control is concerned with maintaining process variables temperatures pressures flows compositions, and the like at some desired operation value. Processes are dynamic in nature. Changes are always occurring, and if actions are not
taken, the important process variables-those related to safety, product quality, and production rates-will not achieve design conditions.
In order to fix ideas, let us consider a heat exchanger in which a process stream is heated by condensing steam. The process is sketched in Fig.1
Fig. 1 Heat exchanger
The purpose of this unit is to heat the process fluid from some inlet temperature, Ti(t), up to a certain desired outlet temperature, T(t). As mentioned, the heating medium is condensing steam.
The energy gained by the process fluid is equal to the heat released by the steam, provided there are no heat losses to surroundings, that is, the heat exchanger and piping are well insulated.
In this process there are many variables that can change, causing the outlet temperature to deviate from its desired value. If this happens, some action must be taken to correct for this deviation. That is, the objective is to control the outlet process temperature to maintain its desired value.
One way to accomplish this objective is by first measuring the temperature T(t) , then comparing it to its desired value, and, based on this comparison, deciding what to do to correct for any deviation. The flow of steam can be used to correct for the deviation. This is, if the temperature is above its desired value, then the steam valve can be throttled back to cut the steam flow (energy) to the heat exchanger. If the temperature is below its desired value, then the steam valve could be opened some more to increase the steam flow (energy) to the exchanger. All of these can be done manually by the operator, and since the procedure is fairly straightforward, it should present no problem. However, since in most process plants there are hundreds of variables that must be maintained at some desired value, this correction procedure would required a tremendous number of operators. Consequently, we would like to accomplish this control automatically. That is, we want to have instuments that control the variables without intervention from the operator. This is what we mean by automatic process control.
To accomplish this objective a control system must be designed and implemented. A possible control system and its basic components are shown in Fig.2.
Fig. 2 Heat exchanger control loop
The first thing to do is to measure the outlet temperature of the process stream. A sensor (thermocouple, thermistors, etc) does this. This sensor is connected physically to a transmitter, which takes the output from the sensor and converts it to a signal strong enough to be transmitter to a controller. The controller then receives the signal, which is related to the temperature, and compares it with desired value. Depending on this comparison, the controller decides what to do to maintain the temperature at its desired value. Base on this decision, the controller then sends another signal to final control element, which in turn manipulates the steam flow.
The preceding paragraph presents the four basic components of all control systems. They are
(1) sensor, also often called the primary element.
(2) transmitter, also called the secondary element.
(3) controller, the "brain" of the control system.
(4) final control system, often a control valve but not always. Other common final control elements are variable speed pumps, conveyors, and electric motors.
The importance of these components is that they perform the three basic operations that must be present in every control system. These operations are
(1) Measurement(M): Measuring the variable to be controlled is usually done by the combination of sensor and transmitter.
(2) Decision (D): Based on the measurement, the controller must then decide what to do to maintain the variable at its desired value.
(3) Action (A): As a result of the controller's decision, the system must then take an action. This is usually accomplished by the final control element.
As mentioned, these three operations, M, D, and A, must be present in every control system.
PID controllers can be stand-alone controllers (also called single loop controllers), controllers in PLCS, embedded controllers, or software in Visual Basic or C# computer programs.
PID controllers are process controllers with the following characteristics:
Continuous process control
Analog input (also known as "measurement" or "Process Variable" or "PV")
Analog output (referred to simply as "output")
Setpoint (SP)
Proportional (P), Integral (I), and/or Derivative (D) constants
Examples of "continuous process control" are temperature, pressure, flow, and level control. For example, controlling the heating of a tank. For simple control, you have two temperature limit sensors (one low and one high) and then switch the heater on when the low temperature limit sensor turns on and then turn the heater off when the temperature rises to the high temperature limit sensor. This is similar to most home air conditioning & heating thermostats.
In contrast, the PID controller would receive input as the actual temperature and control a valve that regulates the flow of gas to the heater. The PID controller automatically finds the correct (constant) flow of gas to the heater that keeps the temperature steady at the setpoint. Instead of the temperature bouncing back and forth between two points, the temperature is held steady. If the setpoint is lowered, then the PID controller automatically reduces the amount of gas flowing to the heater. If the setpoint is raised, then the PID controller automatically increases the amount of gas flowing to the heater. Likewise the PID controller would automatically for hot, sunny days (when it is hotter outside the heater) and for cold, cloudy days.
The analog input (measurement) is called the "process variable" or "PV". You want the PV to be a highly accurate indication of the process parameter you are trying to control. For example, if you want to maintain a temperature of + or - one degree then we typically strive for at least ten times that or one-tenth of a degree. If the analog input is a 12 bit analog input and the temperature range for the sensor is 0 to 400 degrees then our "theoretical" accuracy is calculated to be 400 degrees divided by 4,096 (12 bits) =0.09765625 degrees. We say "theoretical" because it would assume there was no noise and error in our temperature sensor, wiring, and analog converter. There are other assumptions such as linearity, etc. The point being--with 1/10 of a degree "theoretical" accuracy--even with the usual amount of noise and other problems-- one degree of accuracy should easily be attainable.
The analog output is often simply referred to as "output". Often this is given as 0~100 percent. In this heating example, it would mean the valve is totally closed (0%) or totally open (100%).
The setpoint (SP) is simply--what process value do you want. In this example--what temperature do you want the process at?
The PID controller's job is to maintain the output at a level so that there is no difference (error) between the process variable (PV) and the setpoint (SP).
In Fig. 3, the valve could be controlling the gas going to a heater, the chilling of a cooler, the pressure in a pipe, the flow through a pipe, the level in a tank, or any other process control system. What the PID controller is looking at is the difference (or "error") between the PV and the SP.
SETPOINT P,I,&D
CONSTANTS
Difference error PID control
algorithm
process output
variable
Fig .3 PIDcontrol
It looks at the absolute error and the rate of change of error. Absolute error means--is there a big difference in the PV and SP or a little difference? Rate of change of error means--is the difference between the PV or SP getting smaller or larger as time goes on.
When there is a "process upset", meaning, when the process variable or the setpoint quickly changes--the PID controller has to quickly change the output to get the process variable back equal to the setpoint. If you have a walk-in cooler with a PID controller and someone opens the door and walks in, the temperature (process variable) could rise very quickly. Therefore the PID controller has to increase the cooling (output) to compensate for this rise in temperature.
Once the PID controller has the process variable equal to the setpoint, a good PID controller will not vary the output. You want the output to be very steady (not changing) . If the valve (motor, or other control element) is constantly changing, instead of maintaining a constant value, this could cause more wear on the control element.
So there are these two contradictory goals. Fast response (fast change in output) when there is a "process upset", but slow response (steady output) when the PV is close to the setpoint.
Note that the output often goes past (over shoots) the steady-state output to get the process back to the setpoint. For example, a cooler may normally have its cooling valve open 34% to maintain zero degrees (after the cooler has been closed up and the temperature settled down). If someone opens the cooler, walks in, walks around to find something, then walks back out, and then closes the cooler door--the PID controller is freaking out because the temperature may have raised 20 degrees! So it may crank the cooling valve open to 50, 75, or even 100 percent--to hurry up and cool the cooler back down--before slowly closing the cooling valve back down to 34 percent.
Let's think about how to design a PID controller.
We focus on the difference (error) between the process variable (PV) and the setpoint (SP). There are three ways we can view the error.
The absolute error
This means how big is the difference between the PV and SP. If there is a small difference between the PV and the SP--then let's make a small change in the output. If there is a large difference in the PV and SP--then let's make a large change in the output. Absolute error is the "proportional" (P) component of the PID controller.
The sum of errors over time
Give us a minute and we will show why simply looking at the absolute error (proportional) only is a problem. The sum of errors over time is important and is called the "integral" (I) component of the PID controller. Every time we run the PID algorithm we add the latest error to the sum of errors. In other words Sum of Errors = Error 1 q- Error2 + Error3 + Error4 +…
The dead time
Dead time refers to the delay between making a change in the output and seeing the change reflected in the PV. The classical example is getting your oven at the right temperature. When you first turn on the heat, it takes a while for the oven to "heat up". This is the dead time. If you set an initial temperature, wait for the oven to reach the initial temperature, and then you determine that you set the wrong temperature--then it will take a while for the oven to reach the new temperature setpoint. This is also referred to as the "derivative" (D) component of the PID controller. This holds some future changes back because the changes in the output have been made but are not reflected in the process variable yet.