引言
恒值控制是自動控制領域常用的控制方式之一,如恒壓、恒溫、恒水位控制等。恒值控制多采用PID算法實現(xiàn)。PID控制屬于負反饋控制,當被控對象偏離理想值時,可以快、準、穩(wěn)地回到理想值。本文闡述如何運用PID運算實現(xiàn)水箱恒水位控制。
1系統(tǒng)控制要求
某水箱的水位需要保持70%的高度,其中水箱中的水以變化的速度流出,用水位檢測儀檢測水箱水位,用變頻器驅動水泵給水箱供水,用PID的輸出控制變頻器的頻率,從而控制水箱注水電動機的轉速,滿足水箱70%高度的恒水位控制要求。
2系統(tǒng)組成及各部分作用
實現(xiàn)上述控制要求的恒水位控制系統(tǒng)組成如圖1所示。
該系統(tǒng)主要由S7-200系列PLC中的CPU224XP、水位檢測儀、變頻器、電動機、啟停開關、電源等組成。下面對各部分器
件的作用進行簡要闡述。
2.1CPU224XP
CPU224XP具有14點數(shù)字量輸入、10點數(shù)字量輸出,2路模擬量輸入、1路模擬量輸出,6路100kHz的高速計數(shù)器,2路100kHz的高速脈沖輸出:具有2個RS485通信/編程口:具有PPI、MPI通信協(xié)議和自由口通信方式:具有PID功能。
2.2變頻器
變頻器是變頻電源,它可以將固定頻率、固定電壓的交流電變?yōu)轭l率可調(diào)、電壓隨頻率變化的交流電,作為電動機的電源,通過調(diào)頻來調(diào)節(jié)電動機的轉速。變頻器的調(diào)頻方法有面板調(diào)頻、外接電位器調(diào)頻、多段速調(diào)頻、調(diào)節(jié)外部電壓、電流調(diào)頻、通信方式調(diào)頻。本文采用外部可調(diào)電壓調(diào)頻,這個外部可調(diào)電壓來自CPU224XP中經(jīng)PID運算的模擬量輸出。
2.3水位檢測儀
水位檢測儀是將水位信號變?yōu)殡娦盘柕乃粰z測儀器。其將轉換后的標準電量信號送給PLC,作為PID運算的給定值。
將水位檢測儀的水位檢測量加到CPU224XP的M、A+端,作為PID的反饋量,將經(jīng)PID運算的輸出值經(jīng)M、V端輸出給變頻器,作為變頻器的外部電壓控制信號。
3相關概念
3.1P1D
PID(prOpOrtiOnalintegralderivative)是比例、積分、微分的縮寫。P是比例,I是積分,D是微分。PID是一種算法。PID運算是將系統(tǒng)給定值與反饋值的偏差值進行比例、積分、微分合成運算,用運算結果去控制被控對象的輸出量,使輸出量趨近或等于理想值。其中各個因素的作用如下:
比例P:比例系數(shù)Kp越大,比例調(diào)節(jié)作用越強。比例調(diào)節(jié)的作用是快且準,但過大的比例系數(shù)容易引起超調(diào)量和振蕩次數(shù)的增加,使系統(tǒng)穩(wěn)定性下降,而且會使系統(tǒng)調(diào)節(jié)時間增加,所以在確定比例系數(shù)時要綜合考慮各方面因素。
積分I:積分時間常數(shù)7i越大,積分作用越弱。積分調(diào)節(jié)的作用是消除偏差,實現(xiàn)無靜差調(diào)節(jié)。其負作用是過大的積分作用會使調(diào)節(jié)變緩,影響系統(tǒng)的快速性和穩(wěn)定性。
微分D:微分時間常數(shù)7d越大,微分作用越強。微分作用是根據(jù)被調(diào)量的變化率進行調(diào)節(jié),當被調(diào)量有變化趨勢時即產(chǎn)生調(diào)節(jié)作用,對系統(tǒng)的偏差進行超前校正,使系統(tǒng)的動態(tài)響應速度提高,動態(tài)穩(wěn)定性增強。其負作用是對干擾信號比較敏感,使系統(tǒng)的抗干擾能力降低。
3.2P1D回路參數(shù)表
將和PID相關的9個參數(shù)列成表格,每個參數(shù)均為32位實數(shù),占用PLC內(nèi)存的4個字節(jié),構成PID回路參數(shù)表,如表1所示。
4系統(tǒng)程序
水箱恒水位控制系統(tǒng)的程序由主程序、子程序和中斷程序組成。
主程序用來調(diào)用初始化子程序:子程序用來建立PID回路初始參數(shù)表和設置中斷:中斷程序用來完成輸入、輸出處理、PID的運算及結果更新。具體程序及解釋如下:
4.1主程序
LDSM0.1
CALLSBR0//首次掃描時,調(diào)用初始化子程序。
4.2子程序
M0VR0.7,VD104//設置給定值為0.7,對應水箱水位70%:
MOVR0.3,VD112//設置比例增益系數(shù)為0.3:
MOVR0.1,VD116//采樣時間0.1S,即0.1S采1次水位值:MOVR30,VD120//設置積分時間為30min:
MOVR0,VD124//設置微分時間為0,即微分不起作用,本例實際是PI控制:
MOVB100:SMB34//設置定時中斷的周期為100mS:
ATCHINT0:10//將中斷程序和定時中斷0連接起來,即中斷事件為定時中斷0,中斷事件號為10:
一NI//開中斷。
4.3中斷程序
ITDAIE0,AC0//將AIE0中的16位整數(shù)值轉換為32位雙整數(shù)值,存入累加器:
DTRAC0,AC0//將AC0中的值轉換成32位實數(shù)值,存入AC0中:
DIVR32000,AC0//將AC0中的數(shù)值除以量程32000本例標準化時取量程對應值為32000)進行標準化,存入AC0中:
MOVRAC0,VD100//將標準化后的值送入VD100中:
PIDVB100,0//設置參數(shù)表起始地址為VB100,PID回路號為0,PID指令使PID參數(shù)設置及作用生效:
MWURVD108,32000//將運算結果的標準化數(shù)值轉換成實數(shù)值:
ROWNDAC0,AC0//將AC0中的實數(shù)值取整并轉換成雙整數(shù):
DTIAC0,AC0//將雙整數(shù)轉換成16位整數(shù):
MOVEAC0,ALE0//將PID運算結果送至ALE0中,作為控制變頻器的控制量。
5結語
該水箱恒水位控制系統(tǒng)硬件上主要由CPW224XP、變頻器、電動機等組成,軟件上主要利用CPW224XP的PID功能,通過編程實現(xiàn)恒水位控制。在PID運算時,給定值、反饋值、控制值均為標準化數(shù)值。在中斷程序中設置參數(shù)表,在中斷程序中通過PID指令使PID作用生效。