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