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