siemens x
PLC

在上海正航A5系列PLC上實現(xiàn)PID調節(jié)

2025China.cn   2009年09月02日

n         理解PID

比例-積分-微分控制規(guī)律是工業(yè)上最常用的控制規(guī)律。人們一般根據(jù)比例-積分-微分的英文縮寫,將其簡稱為PID控制。即使在更為先進的控制規(guī)律廣泛應用的今天,各種形式的PID控制仍然在所有控制回路中占85%以上。

PID 控制中,積分控制的特點是:只要還有余差(即殘余的控制偏差)存在,積分控制就按部就班地逐漸增加控制作用,直到余差消失。所以積分的效果比較緩慢,除特殊情況外,作為基本控制作用,緩不救急。

微分控制的特點是:盡管實際測量值還比設定值低,但其快速上揚的沖勢需要及早加以抑制,否則,等到實際值超過設定值再作反應就晚了,這就是微分控制施展身手的地方了。作為基本控制使用,微分控制只看趨勢,不看具體數(shù)值所在,所以最理想的情況也就是把實際值穩(wěn)定下來,但穩(wěn)定在什么地方就要看你的運氣了,所以微分控制也不能作為基本控制作用。

比例控制沒有這些問題,比例控制的反應快,穩(wěn)定性好,是最基本的控制作用,積分、微分控制是對比例控制起增強作用的,極少單獨使用。在實際使用中比例和積分一般一起使用,比例承擔主要的控制作用,積分幫助消除余差。微分只有在被控對象反應遲緩,需要在開始有所反應時,及早補償,才予以采用。只用比例和微分的情況很少見。

A5系列PLC支持浮點數(shù)運算,可以在A5上方便地實現(xiàn)PID功能。

n         程序工作原理

?         PID方程式

 

Mn         =            MPn                            +     Min                       +     MDn

輸出       =            比例項                  +     積分項                  +     微分項

 

其中:    Mn         n采樣時刻的計算值

              MPn              n采樣時刻的比例項值

              MIn        n采樣時刻的積分項值

              MDn       n采樣時刻的微分項值

 

?         PID方程的比例項

比例項MP是增益(Kc)和偏差(e)的乘積,其中Kc決定輸出對偏差的靈敏度,偏差(e)是給定值(SP)與過程變量(PV)之差,求比例項的算式是:

MPn              =     Kc         *     (      SPn -    PVn      )

其中:    MPn              n采樣時刻的比例項值

              Kc          增益

              SPn        n采樣時刻的給定值

              PVn        n采樣時刻的過程變量值

 

?         PID方程的積分項

積分項值MI與偏差和成正比,求積分項的算式是:

MIn        =     Kc   *     Ts    /      Ti    *     (SPn              -      PVn )      +     MX

其中:    MIn        n采樣時刻的積分項值

              Kc          增益

              Ts           采樣時間間隔

              Ti           積分時間

              SPn        n采樣時刻的給定值

              PVn        n采樣時刻的過程變量值

              MX         n-1采樣時刻的積分值(積分項前值,也稱積分和或偏置)

 

?         PID方程的微分項

微分項值MD與偏差的變化成正比,求解微分項的算式是:

 

MDn = Kc      *     Td   /      Ts    *     ((SPn-PVn)  -  ( SPn-1  -  PVn-1))

 

為了避免給定值變化的微分作用而引起的跳變,假定給定值不變(SPn=SPn-1),這樣,可以用過程變量的變化替代偏差的變化,計算算式可改進為:

 

MDn = Kc      *     Td   /      Ts    *     (PVn-1  -  PVn)

 

其中:    MDn       n采樣時刻的微分項值

              Kc          增益

              Ts           采樣時間間隔

              Td          微分時間

              SPn        n采樣時刻的給定值

SPn-1     n-1采樣時刻的給定值

              PVn        n采樣時刻的過程變量值

              PVn-1     n-1采樣時刻的過程變量值

第一次采樣設定PVn-1= PVn

n         程序實例

下面,我們舉一個例子,用A5-CPU224XP來實現(xiàn)一個PID調節(jié)。假設輸入的信號為AIW2,輸出為AQW2,給定值為16000。首先,分步來計算各個變量。

l         地址分配

地址

變量名

格式

類型

范圍

說明

VD1000

PVn

實數(shù)

輸入

0.0--1.0

過程變量

VD1004

SPn

實數(shù)

輸入

0.0--1.0

設定值

VD1008

Mn

實數(shù)

輸入/輸出

0.0--1.0

輸出值

VD1012

Kc

實數(shù)

輸入

可正可負

增益常數(shù)

VD1016

Ts

實數(shù)

輸入

必須為正

采樣時間,單位為秒

VD1020

Ti

實數(shù)

輸入

必須為正

積分時間,單位為分鐘

VD1024

Td

實數(shù)

輸入

必須為正

微分時間,單位為分鐘

VD1028

MX

實數(shù)

輸入/輸出

0.0--1.0

積分項前項

VD1032

PV(n-1)

實數(shù)

輸入/輸出

0.0--1.0

前一次采樣過程變量值

VD1036

MPn

實數(shù)

輸入/輸出

0.0--1.0

比例項

VD1040

MIn

實數(shù)

輸入/輸出

0.0--1.0

積分項

VD1044

MDn

實數(shù)

輸入/輸出

0.0--1.0

微分項

VW1048

 

 

 

 

Round(Ts*10),定時器用時間長度

VD1060

 

實數(shù)

 

 

臨時變量

VD1064

 

實數(shù)

 

 

臨時變量

VD1068

 

實數(shù)

 

 

臨時變量

l         用戶預先指定值

用戶需要預先指定如下變量(均為實數(shù)):

VD1008

Mn

VD1012

Kc

VD1016

Ts

VD1020

Ti

VD1024

Td

VD1028

MX

 

l         AIW2進行標準化得到PVn

LD           SM0.0

ITD         AIW2      ,      VD1060

DTR        VD1060  ,      VD1064

/R            VD1064  ,      32767.0   ,      VD1000

l         注意到第一次采樣設定PVn-1= PVn

LD           SM0.0

MOVR     VD1000  ,      VD1032

 

l         將給定值進行標準化得到SPn(若給定值不變,僅計算一次即可),也可以通過文本等設定給定值,但一定要設定為標準化的給定值(0.0—1.0之間)

LD           SM0.0

/R            16000     ,      32767     ,      VD1004

 

l         計算MPn

MPn              =     Kc         *     (      SPn -    PVn      )

LD           SM0.0

-R            VD1004  ,      VD1000  ,      VD1060

*R           VD1060  ,      VD1012  ,      VD1036

 

l         計算MIn

MIn        =     Kc   *     Ts    /      Ti    *     (SPn              -      PVn )      +     MX

LD           SM0.0

*R           VD1036  ,      VD1016  ,      VD1060

/R            VD1060  ,      VD1020  ,      VD1064

/R            VD1064  ,      60.0        ,      VD1068

+ R          VD1068  ,      VD1028  ,      VD1040

l         MIn保存為下一次的MX

LD           SM0.0

MOVR     VD1040  ,      VD1028

l         計算MDn      

MDn = Kc      *     Td   /      Ts    *     (PVn-1  -  PVn)

LD           SM0.0

-R            VD1032  ,      VD1000  ,      VD1060

*R           VD1060  ,      VD1024  ,      VD1064

*R           VD1064  ,      VD1012  ,      VD1068

*R           VD1068  ,      60.0        ,      VD1060

/R            VD1060  ,      VD1016  ,      VD1044

 

l         計算Mn  

Mn         =            MPn              +     MIn        +     MDn

LD           SM0.0

+R           VD1036  ,      VD1040  ,      VD1060

+R           VD1060  ,      VD1044  ,      VD1008

 

l         輸出值(將標準化的Mn轉換為AQ值輸出)

LD           SM0.0

*R           VD1008  ,      32000.0   ,      VD1060

ROUND          VD1060  ,      VD1064

DTI         VD1064  ,      AQW2

(轉載)

標簽:PLC 我要反饋 
2024世界人工智能大會專題
即刻點擊并下載ABB資料,好禮贏不停~
優(yōu)傲機器人下載中心
西克
2024全景工博會
專題報道