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