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