1. PID控制
在工業(yè)控制中,PID控制(比例-積分-微分控制)得到了廣泛的應(yīng)用,這是因?yàn)镻ID控制具有以下優(yōu)點(diǎn):
1)不需要知道被控對(duì)象的數(shù)學(xué)模型。實(shí)際上大多數(shù)工業(yè)對(duì)象準(zhǔn)確的數(shù)學(xué)模型是無(wú)法獲得的,對(duì)于這一類系統(tǒng),使用PID控制可以得到比較滿意的效果。據(jù)日本統(tǒng)計(jì),目前PID及變型PID 約占總控制回路數(shù)的90%左右。
2)PID控制器具有典型的結(jié)構(gòu),程序設(shè)計(jì)簡(jiǎn)單,參數(shù)調(diào)整方便。
3)有較強(qiáng)的靈活性和適應(yīng)性,根據(jù)被控對(duì)象的具體情況,可以采用各種PID控制的變種和改進(jìn)的控制方式,如 PI、PD、帶死區(qū)的PID、積分分離式PID、變速積分PID等。隨著智能控制技術(shù)的發(fā)展,PID控制與模糊控制、神經(jīng)網(wǎng)絡(luò)控制等現(xiàn)代控制方法相結(jié)合,可以實(shí)現(xiàn)PID控制器的參數(shù)自整定,使PID控制器具有經(jīng)久不衰的生命力。
2. 三菱plc實(shí)現(xiàn)PID控制的方法
如圖1所示為采用PLC對(duì)模擬量實(shí)行PID控制的系統(tǒng)結(jié)構(gòu)框圖。用PLC對(duì)模擬量進(jìn)行PID控制時(shí),可以采用以下幾種方法:
圖1 用PLC實(shí)現(xiàn)模擬量PID控制的系統(tǒng)結(jié)構(gòu)框圖
1)使用PID過(guò)程控制模塊。這種模塊的PID控制程序是PLC生產(chǎn)廠家設(shè)計(jì)的,并存放在模塊中,用戶在使用時(shí)只需要設(shè)置一些參數(shù),使用起來(lái)非常方便,一塊模塊可以控制幾路甚至幾十路閉環(huán)回路。但是這種模塊的價(jià)格昂貴,一般在大型控制系統(tǒng)中使用。如三菱的A系列、Q系列PLC的PID控制模塊。
2)使用PID功能指令。現(xiàn)在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。它們實(shí)際上是用于PID控制的子程序,與A/D、D/A模塊一起使用,可以得到類似于使用PID過(guò)程控制模塊的效果,價(jià)格卻便宜得多。
3)使用自編程序?qū)崿F(xiàn)PID閉環(huán)控制。有的PLC沒(méi)有有PID過(guò)程控制模塊和 PID控制指令,有時(shí)雖然有PID控制指令,但用戶希望采用變型PID控制算法。在這些情況下,都需要由用戶自己編制PID控制程序。
3. FX2N的PID指令
PID指令的編號(hào)為FNC88,如圖2所示源操作數(shù)[S1]、[S2]、[S3]和目標(biāo)操作數(shù)[D]均為數(shù)據(jù)寄存器D,16位指令,占9個(gè)程序步。[S1]和[S2]分別用來(lái)存放給定值SV和當(dāng)前測(cè)量到的反饋值PV,[S3]~[S3]+6用來(lái)存放控制參數(shù)的值,運(yùn)算結(jié)果MV存放在[D]中。源操作數(shù)[S3]占用從[S3]開(kāi)始的25個(gè)數(shù)據(jù)寄存器。
圖2 三菱PLC的PID指令
PID指令是用來(lái)調(diào)用PID運(yùn)算程序,在PID運(yùn)算開(kāi)始之前,應(yīng)使用MOV指令將參數(shù)(見(jiàn)表)設(shè)定值預(yù)先寫(xiě)入對(duì)應(yīng)的數(shù)據(jù)寄存器中。如果使用有斷電保持功能的數(shù)據(jù)寄存器,不需要重復(fù)寫(xiě)入。如果目標(biāo)操作數(shù)[D]有斷電保持功能,應(yīng)使用初始化脈沖M8002的常開(kāi)觸點(diǎn)將其復(fù)位。
表 PID控制參數(shù)及設(shè)定
源操作數(shù) |
參 數(shù) |
設(shè)定范圍或說(shuō)明 |
備 注 |
[S3] |
采樣周期(Ts) |
1~32767ms |
不能小于掃描周期 |
[S3]+ 1 |
動(dòng)作方向(ACT) |
Bit0: 0為正作用、1為反作用 Bit1: 0為無(wú)輸入變化量報(bào)警 1為有輸入變化量報(bào)警 Bit2: 0為無(wú)輸出變化量報(bào)警 1為有輸出變化量報(bào)警 |
Bit3 ~ Bit15不用 |
[S3]+ 2 |
輸入濾波常數(shù)(L) |
0~99(%) |
對(duì)反饋量的一階慣性數(shù)字濾波環(huán)節(jié) |
[S3]+ 3 |
比例增益(K p) |
1~32767(%) |
|
[S3]+ 4 |
積分時(shí)間(T I) |
0~32767(×100ms) |
0與∝作同樣處理 |
[S3]+ 5 |
微分增益 (K D) |
0~100(%) |
|
[S3]+ 6 |
微分時(shí)間(T D) |
0~32767(×10ms) |
0為無(wú)微分 |
[S3]+ 7 ~ [S3]+ 19 |
— |
— |
PID運(yùn)算占用 |
[S3]+ 20 |
輸入變化量(增方)警報(bào)設(shè)定值 |
0~32767 |
由用戶設(shè)定ACT([S3]+ 1)為K2~K7時(shí)有效,即ACT的Bit1 和Bit2至少有一個(gè)為1時(shí)才有效; 當(dāng)ACT的Bit1 和Bit2都為0時(shí),[S3]+ 20 ~[S3]+ 24無(wú)效 |
[S3]+ 21 |
輸入變化量(減方)警報(bào)設(shè)定值 |
0~32767 | |
[S3]+ 22 |
輸出變化量(增方)警報(bào)設(shè)定值 |
0~32767 | |
[S3]+ 23 |
輸出變化量(減方)警報(bào)設(shè)定值 |
0~32767 | |
[S3]+ 24 |
警報(bào)輸出 |
Bit0: 輸入變化量(增方)超出 Bit1: 輸入變化量(減方)超出 Bit2: 輸出變化量(增方)超出 Bit3: 輸出變化量(減方)超出 |
PID指令可以同時(shí)多次使用,但是用于運(yùn)算的[S3]、[D]的數(shù)據(jù)寄存器元件號(hào)不能重復(fù)。
PID指令可以在定時(shí)中斷、子程序、步進(jìn)指令和轉(zhuǎn)移指令內(nèi)使用,但是應(yīng)將[S3]+7清零(采用脈沖執(zhí)行的MOV指令)之后才能使用。
控制參數(shù)的設(shè)定和 PID運(yùn)算中的數(shù)據(jù)出現(xiàn)錯(cuò)誤時(shí),“運(yùn)算錯(cuò)誤”標(biāo)志M8067為 ON,錯(cuò)誤代碼存放在D8067中。
PID指令采用增量式PID算法,控制算法中還綜合使用了反饋量一階慣性數(shù)字濾波、不完全微分和反饋量微分等措施,使該指令比普通的PID算法具有更好的控制效果。
PID控制是根據(jù)“動(dòng)作方向”([S3]+1)的設(shè)定內(nèi)容,進(jìn)行正作用或反作用的PID運(yùn)算。PID運(yùn)算公式如下:
以上公式中:△MV是本次和上一次采樣時(shí)PID輸出量的差值,MVn是本次的PID輸出量;EVn和 EVn-1分別是本次和上一次采樣時(shí)的誤差,SV為設(shè)定值;PVn是本次采樣的反饋值,PVnf、PVnf-1和PVnf-2分別是本次、前一次和前兩次濾波后的反饋值,L是慣性數(shù)字濾波的系數(shù);Dn和Dn-l分別是本次和上一次采樣時(shí)的微分部分;K p是比例增益,T S是采樣周期,T I和T D分別是積分時(shí)間和微分時(shí)間,αD是不完全微分的濾波時(shí)間常數(shù)與微分時(shí)間TD的比值。
4.PID參數(shù)的整定
PID控制器有4個(gè)主要的參數(shù)K p、T I、T D和T S需整定,無(wú)論哪一個(gè)參數(shù)選擇得不合適都會(huì)影響控制效果。在整定參數(shù)時(shí)應(yīng)把握住PID參數(shù)與系統(tǒng)動(dòng)態(tài)、靜態(tài)性能之間的關(guān)系。
在P(比例)、I(積分)、D(微分)這三種控制作用中,比例部分與誤差信號(hào)在時(shí)間上是一致的,只要誤差一出現(xiàn),比例部分就能及時(shí)地產(chǎn)生與誤差成正比的調(diào)節(jié)作用,具有調(diào)節(jié)及時(shí)的特點(diǎn)。比例系數(shù)K p越大,比例調(diào)節(jié)作用越強(qiáng),系統(tǒng)的穩(wěn)態(tài)精度越高;但是對(duì)于大多數(shù)系統(tǒng),K p過(guò)大會(huì)使系統(tǒng)的輸出量振蕩加劇,穩(wěn)定性降低。
積分作用與當(dāng)前誤差的大小和誤差的歷史情況都有關(guān)系,只要誤差不為零,控制器的輸出就會(huì)因積分作用而不斷變化,一直要到誤差消失,系統(tǒng)處于穩(wěn)定狀態(tài)時(shí),積分部分才不再變化。因此,積分部分可以消除穩(wěn)態(tài)誤差,提高控制精度,但是積分作用的動(dòng)作緩慢,可能給系統(tǒng)的動(dòng)態(tài)穩(wěn)定性帶來(lái)不良影響。積分時(shí)間常數(shù)T I增大時(shí),積分作用減弱,系統(tǒng)的動(dòng)態(tài)性能(穩(wěn)定性)可能有所改善,但是消除穩(wěn)態(tài)誤差的速度減慢。
微分部分是根據(jù)誤差變化的速度,提前給出較大的調(diào)節(jié)作用。微分部分反映了系統(tǒng)變化的趨勢(shì),它較比例調(diào)節(jié)更為及時(shí),所以微分部分具有超前和預(yù)測(cè)的特點(diǎn)。微分時(shí)間常數(shù)T D增大時(shí),超調(diào)量減小,動(dòng)態(tài)性能得到改善,但是抑制高頻干擾的能力下降。
選取采樣周期T S時(shí),應(yīng)使它遠(yuǎn)遠(yuǎn)小于系統(tǒng)階躍響應(yīng)的純滯后時(shí)間或上升時(shí)間。為使采樣值能及時(shí)反映模擬量的變化,T S越小越好。但是T S太小會(huì)增加CPU的運(yùn)算工作量,相鄰兩次采樣的差值幾乎沒(méi)有什么變化,所以也不宜將T S取得過(guò)小。