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