高菲(寶雞職業(yè)技術(shù)學(xué)院, 721000)
基于數(shù)據(jù)驅(qū)動的PID自整定算法研究
高菲
(寶雞職業(yè)技術(shù)學(xué)院, 721000)
傳統(tǒng)的PID整定技術(shù)以給定試驗信號為基礎(chǔ),不能很好的利用這些歷史數(shù)據(jù),通過在介紹和分析經(jīng)典PID整定技術(shù)的基礎(chǔ)之上,利用歷史數(shù)據(jù)完成數(shù)據(jù)驅(qū)動辨識方法研究,以靈敏度為性能指標研究PID自整定算法,并通過OPC接口采集數(shù)據(jù)完成基于數(shù)據(jù)驅(qū)動的PID自整定軟件實現(xiàn)。
數(shù)據(jù)驅(qū)動; PID自整定; 系統(tǒng)辨識; 靈敏度; OPC; 自整定軟件
隨時工業(yè)生產(chǎn)工藝越來越復(fù)雜,工業(yè)生產(chǎn)環(huán)境越來越惡劣等因素的影響,對PID控制器的控制要求提出了更多更復(fù)雜的要求,希望PID控制器的控制方式更加準確與全自動化操作[1]。在實際的工業(yè)應(yīng)用中,只有少部分的PID控制器能夠比較滿意的運行,其主要原因是PID參數(shù)的整定工作沒有做好,以傳統(tǒng)的PID自整定技術(shù)需外加試驗信號來獲取過程模型,如階躍響應(yīng)和頻率響應(yīng)等,這種做法一般只適應(yīng)于在系統(tǒng)運行之初和系統(tǒng)停機調(diào)試的情況,當系統(tǒng)正在運行時這種方法往往不能表現(xiàn)了出色[2]。
在線運行的系統(tǒng),操作員頻繁操作和長時間運行下會積累大量的歷史數(shù)據(jù),如何通過這些數(shù)據(jù)進行PID自整定研究而不是通過實驗的方法來獲得過程模型,通過靈敏度作為性能指標既能提高系統(tǒng)的魯棒性能又能以比較好的方式進行PID參數(shù)自整定[3]。 本文主要研究了基于數(shù)據(jù)驅(qū)動的PID自整定算法及軟件實現(xiàn),利用歷史數(shù)據(jù)完成數(shù)據(jù)驅(qū)動辨識方法研究,以靈敏度為性能指標研究PID自整定算法,并通過OPC接口采集數(shù)據(jù)完成基于數(shù)據(jù)驅(qū)動的PID自整定軟件實現(xiàn)。
在工業(yè)過程控制的發(fā)展中,PID自整定技術(shù)實現(xiàn)了人們從手動調(diào)節(jié)到計算機計算調(diào)節(jié)的解脫[4]。大多數(shù)工業(yè)過程處于高溫、高壓等惡劣的環(huán)境中,而處于現(xiàn)場的一些控制器常常需要操作員去現(xiàn)場親自動手操作,這樣的操作往往是粗放的,現(xiàn)場的PID控制異常復(fù)雜[5]。面對向火電廠發(fā)電機組這樣復(fù)雜的控制對象,ZN整定法相對來說效果不那么明顯,基于靈敏度的PID自整定算法能夠更好的表現(xiàn)出復(fù)雜控制對象的更多特性,可以更好的完成火電機組的回路優(yōu)化工作[6]。
設(shè)G1(s)=Gc(s)Gp(s),則靈敏度的定義為式(1)。
(1)
如圖1所示。
圖1 靈敏度控制器設(shè)計方法的幾何表示
靈敏度的約束條件是G1(jω)的Nyquist曲線不能進入到以臨界點-1為圓心,以1/Ms為半徑的圓內(nèi),其幅值裕度和相位裕度有如式(2)、(3)。
(2)
(3)
其中,M一般取1.3~2.0。如取Ms為1.5則有Am???3.00 和?m???38.94? ?,相當于在某種程度上同時滿足幅值裕度和相位裕度。
(4)
(5)
設(shè)PID控制器的傳遞函數(shù)可以寫為式(6)。
(6)
其中,A=Kd/k,B=Kp/k,C=Ki/k,設(shè)A=a,B=b,C=c,通過前面的公式分析得出式(7)。
(7)
(8)
則PID控制器的參數(shù),可以表示為式(9)
(9)
這樣,PID控制器的三個參數(shù)便可以通過間接的方式求出。當回路的給定值變化時,控制器通過相應(yīng)的辨識算法便可以計算出二階加純滯后模型,通上上式的靈敏度算法便可以完成整個自整定過程。
當人為或者為可抗的因素引起的輸入或輸出發(fā)生變化時,上位機會通過通訊接口采集到該過程產(chǎn)生的數(shù)據(jù),由于上述方法采用了數(shù)據(jù)驅(qū)動的方式,所以這些數(shù)據(jù)會自動存檔,通過上面的計算方法自動計算出近似的二階模型,這樣,設(shè)定靈敏度參數(shù)后,算法就會自動整定出滿足條件的PID3個參數(shù)。
PID自整定過程通過一定的通訊接口,將下位機數(shù)據(jù)累積、上傳然后在上位機進行分析、優(yōu)化和決策,實現(xiàn)基于數(shù)據(jù)流驅(qū)動的PID自整定過程[7]。這種PID參數(shù)自調(diào)節(jié)系統(tǒng)是一個具有一定自適應(yīng)能力的系統(tǒng),在過程數(shù)據(jù)改變的過程中能夠通過前期的數(shù)據(jù)歸檔分析、辨識,利用一定的優(yōu)化控制算法做出決策保證控制系統(tǒng)能夠按某一個性能指標運行在最佳狀態(tài),一種基于OPC的數(shù)據(jù)驅(qū)動PID控制器參數(shù)自調(diào)整原理圖。如圖2所示。
圖2 一種基于OPC的數(shù)據(jù)驅(qū)動PID控制器參數(shù)自調(diào)節(jié)結(jié)構(gòu)圖
基于數(shù)據(jù)驅(qū)動的PID自整定軟件實施一般應(yīng)遵循以下步驟:建立與現(xiàn)場控制系統(tǒng)通信(如PLC、DCS)[8];選定或新建需整定PID參數(shù)的回路;獲取回路的PID參數(shù)和采樣時間等;記錄從此刻開始的現(xiàn)場數(shù)據(jù);開始自整定過程;整定結(jié)束計算參數(shù)和過程模型;確認參數(shù)是否符合要求,下載到控制器。
因為一般的PID控制器分為自動和手動模式,這樣就涉及到對PID整定時兩種模式所采用的整定方法不同[9]。一般情況下,選擇自動模式,則直接對控制對象進行整定,而控制器的輸入值不參與整定工作,此時調(diào)節(jié)控制器輸入設(shè)定值是無效的;對于自動模式,則系統(tǒng)完全運行在閉環(huán)的情況下,這種模式下的PID參數(shù)自整定,對控制器設(shè)定值做出相當操作,觀察系統(tǒng)響應(yīng),從而辨識過程模型,計算出PID控制器運行最優(yōu)參數(shù)。
根據(jù)整個軟件需滿足的性能指標,整個軟件需滿足3個基本塊功能:
(1)界面設(shè)計模塊,應(yīng)包括P、I、D三個參數(shù)、濾波系數(shù)以及采樣時間Ts值的更新與設(shè)置,手動/自動切換按鈕,自整定啟動按鈕,歷史數(shù)據(jù)保存,模型辨識窗口,通訊設(shè)置窗口,趨勢圖框架等。
(2)通訊接口開發(fā)模塊,主要是現(xiàn)場總線通訊協(xié)議的開發(fā),本文利用OPC通訊接口,OPC接口以Server/Client為主要通訊方式,OPC Server 通過一組一組的接口提供服務(wù),在實際的架構(gòu)上,OPC Server 共分為三層:分別是OPCServer,OPCGroup和OPCItem三種。
(3)自整定算法開發(fā)模塊,自整定算法的開發(fā)是整個自整定軟件實施的核心步驟,確保PID回路優(yōu)化性能好壞的重要指標。
在程序運行前需要先開辟一個緩沖區(qū),用來存放所有的被控變量的參數(shù),利用此函數(shù)可以實現(xiàn)了PID的迭代計算,在需要時可以方便調(diào)用。
辨識與整定算法:整定算法包括兩部分的內(nèi)容,其一是辨識方法的設(shè)計,主要分為兩大類方法,一種是基于階躍響應(yīng)和頻率響應(yīng)方法的辨識方法,這類方法用于比較簡單的控制回路;另一種是基于數(shù)據(jù)驅(qū)動的辨識方法,利用這種方法一般需要先記錄當前運行的一段過程數(shù)據(jù),然后才能辨識出被控對象的過程模型,用于復(fù)雜回路的整定過程。
其二是參數(shù)整定方法,PID參數(shù)自整定算法也同樣分為兩種,一種與基于階躍和頻率響應(yīng)的辨識方法相對應(yīng),主要利用經(jīng)典ZN整定方法和繼電反饋方法,同樣用于比較簡單的回路當中。另一種是基于靈敏度的PID自整定算法,用于復(fù)雜回路的整定工作。
基于靈敏度的PID 自整定算法,是建立以數(shù)據(jù)驅(qū)動為基礎(chǔ)的,首先需要在程序運行時,啟動歸檔功能,這樣軟件便可以記錄下一段時間內(nèi)的過程運行數(shù)據(jù)并保存到本地磁盤中,當需要進行自整定計算時,可以選擇從保存下的任何一段數(shù)據(jù)進行辨識,得出辨識模型后系統(tǒng)便顯示在軟件上面。這樣,通過基于靈敏度的PID自整定算法便能實現(xiàn)對PID參數(shù)的整定。
實際軟件運行時,上位機軟件通過OPC接口與下位機設(shè)備如PLC、DCS進行通信,獲取下位機數(shù)據(jù)并以TAG的形式表現(xiàn),選擇需要進行監(jiān)控的過程值,上位機會顯示出選擇的過程值的曲線,一般選擇SP、PV和CV 3個參數(shù)作為監(jiān)控對象。上位面顯示過程曲線的過程,操作員會根據(jù)實驗曲線和當前設(shè)備運行狀況判斷是否應(yīng)用PID參數(shù)自整定功能,確定應(yīng)用后的PID參數(shù)通過OPC接口寫入功能以TAG形式傳送到下位機執(zhí)行的。其軟件實現(xiàn)流程如圖3所示。
在建立好回路與OPC通訊設(shè)置完成后,進入到自整定軟件的設(shè)置操作,此時當前運行的PID回路參數(shù)便可以通過OPC采集上來,顯示在當前值欄中。這樣如果需運行自整定操作,在選擇好辨識方法和參數(shù)整定計算后,自整定計算便可以計算出新的PID參數(shù)顯示在整定值,同時自整定曲線也會畫出供操作員判斷是否下載到PID回路運行,如圖4所示。
圖3 靈敏度自整定算法執(zhí)行流程圖
圖4 PID自整定軟件面板
選擇羅克韋爾RsLogix5000軟件內(nèi)PID功能塊組成一個小型的純滯后PID回路,其中PID為PID仿真控制器,用于仿真過程控制中的PID控制器,DEDT為仿真死區(qū)時間,用于仿真實際過程中如壓力等,在一定范圍內(nèi)不發(fā)生變化的過程;LDLT為仿真滯后時間,用于溫度等大滯后對象的仿真模擬。這里設(shè)置PID設(shè)定值為30,滯后時間為40 s,死區(qū)時間為5 s。其回路功能程序如圖4所示,在設(shè)置好OPC通訊接口,選擇需要獲取和整定的值,進入整定界面。在整定開始前通過前面的通訊設(shè)置,在進入到整定界面后會出現(xiàn)從現(xiàn)場采集的過程值的曲線,需要進行自整定時,首選在操作模式中選擇手動模式,將整個PID回路切換到手動模式,這時修改參考輸入值對回路無影響。手動狀態(tài)下,通過手動給定控制輸出,然后選擇辨識和整定方法后,按下自整定按鈕,這時系統(tǒng)啟動自整定過程,軟件會收集歷史運行過程中從0~Wc個重要的頻率特性通過迭代的方法完成過程模型的辨識。
整定過程,軟件界面會顯示實時運行曲線和整定曲線,通過設(shè)定靈敏度參數(shù),軟件會自動運行整定計算,同時PID 參數(shù)欄里也會顯示整定前和整定后PID 參數(shù),操作員可以根據(jù)辨識模型、整定參數(shù)和整定曲線選擇是否下載整定數(shù)據(jù)到控制器中去,如果整定過程出現(xiàn)不穩(wěn)定或者振蕩等情況,則軟件會提示整定過程不成功需重新選擇參數(shù)進行整定。軟件同時提供歸檔功能,這樣可以方便保存運行過程較好曲線的數(shù)據(jù),為以后再次進行辨識整定和優(yōu)化提供參考。
可以看出在PID自整定功能運行前,PID控制器的設(shè)定值為30,當前運行的PID參數(shù)分別為Kp=0.4,Ki=0.096,Kd=0.0,啟動自整定過程后,選擇靈敏度PID參數(shù)自整定的方法,設(shè)定靈敏度參數(shù),當啟動自整定過程時,會出現(xiàn)歷史數(shù)據(jù)的選擇窗口或者在線記錄數(shù)據(jù)。選擇相應(yīng)的歷史數(shù)據(jù)時,系統(tǒng)會對這段保存或運行的過程數(shù)據(jù)做出分析,這需要一個過程,當分析得到的數(shù)據(jù)能夠令過程滿意時,便可以結(jié)束自整定過程,這個時候軟件已經(jīng)通過OPC接口與下位機進行了大量的數(shù)據(jù)交換工作,通過數(shù)據(jù)驅(qū)動技術(shù)在軟件辨識方法的基礎(chǔ)上便可以生成新的PID參數(shù),當然這個需要操作員判斷該過程得到的PID參數(shù)是否滿足要求,如果滿足要求可以通過下載按鈕,將PID參數(shù)下載到控制器當中去,這里允許操作員對辨識和整定出的PID參數(shù)做修改,比如可以加大一些P參數(shù),這樣整定出來的控制器會有更快的響應(yīng)速度,如圖5所示。
通過自整定過程運行,軟件得到的PID參數(shù)已經(jīng)顯示在軟件的界面上,分別為Kp=0.42,Ki=0.60,Kd=0.0,通過觀察曲線,也可以看出這組參數(shù)能夠良好的跟蹤輸入,表明整定效果達到了預(yù)期的目標。整個軟件的運行測試仿真效果如圖6所示。
圖5 羅克韋爾功能塊程序圖
圖6 軟件運行測試圖
PID自整定技術(shù)的研究是一個持續(xù)不斷的過程,在過去的一些研究成果的基礎(chǔ)上,通過軟件的形式做出簡單的嘗試,驗證自整定算法的可行性,結(jié)合現(xiàn)在比較流行的網(wǎng)絡(luò)環(huán)境,在現(xiàn)場總線技術(shù)的架構(gòu)下,通過總線接口設(shè)計,上位面與下位機功能的匹配,設(shè)計了基于數(shù)據(jù)驅(qū)動的PID自整定軟件,在實際的編寫過程中利用基于靈敏度的完成PID參數(shù)自整定,復(fù)雜算法的應(yīng)用最終還是為了解決多參數(shù)與多變量帶給PID自整定過程中的麻煩。通過最后的軟件測試,達到了良好的效果。
[1] 胡晚霞, 余玲玲, 戴義保等. PID控制器參數(shù)快速整定的新方法[J]. 工業(yè)儀表與自動化裝置, 1996(5): 11-16.
[2] 趙江東, 李娟, 馬小陸. 基于RBF神經(jīng)網(wǎng)絡(luò)動態(tài)辨識的自整定PID控制策略[J]. 工業(yè)儀表與自動化裝置, 2009(6): 12-15.
[3] 王亞剛, 許曉鳴. 自適應(yīng)魯棒最優(yōu)PI控制器[J]. 自動化學(xué)報, 2009, 35(10): 1352-1356.
[4] 黃友銳. 基于遺傳神經(jīng)網(wǎng)絡(luò)的自整定 PID控制器[J]. 系統(tǒng)仿真學(xué)報, 2003, 15(11): 1628-1620.
[5] 王介生, 王金城, 王偉. 基于粒子群算法的PID控制器參數(shù)自整定[J]. 控制與決策, 2005, 20(1): 73-76.
[6] 呂寧, 姬秋云, 夏增剛. 基于混沌理論的PID參數(shù)自整定鍋爐汽包水位控制系統(tǒng)設(shè)計[J]. 熱能動力工程, 2007, 22(3): 314-316.
[7] Ziegler J G, Nichols N B. Optimum setting for automatic controllers. Trans[J]. ASME. 1942(64): 759-768.
[8] Astrom K J, Hagglund T. Automatic tuning of simple regulators with specifications on phase and amplitude margins[J]. Automatica, 1984, 20(5): 645-651.
[9] 柴天佑, 張貴軍. 基于給定的相角裕度和幅值裕度PID參數(shù)自整定新方法[J]. 自動化學(xué)報, 1997, 523(2): 167-172.
ResearchonData-drivenPIDSelf-tuningAlgorithm
Gao Fei
(Baoji professional technology institute, 721000)
The traditional PID setting technology is based on given test signals, and can not make good use of these historical data. In this paper, based on the introduction and analysis of the classical PID setting technology, the historical data are used to complete a data-driven identification method research. The PID self-tuning algorithm is studied with the sensitivity as the performance index. And data is collected through the OPC interface to complete the data-driven PID self-tuning software implementation.
Data-driven; PID self-tuning; System identification; Sensitivity; OPC; Self-tuning software
TG409
A
2017.04.25)
高菲(1981-),女,陜西人,碩士研究生,研究方向:計算機教育。
1007-757X(2017)10-0058-05