本發(fā)明屬于自動(dòng)控制、自動(dòng)調(diào)節(jié)技術(shù)領(lǐng)域,具體涉及一種基于CompactLogix的模糊自整定PID的液位控制方法。
背景技術(shù):
液位控制技術(shù)在自動(dòng)化控制、自動(dòng)調(diào)節(jié)系統(tǒng)領(lǐng)域有著不可替代的位置,涉及煉油、發(fā)電、化工、冶金、醫(yī)藥、造紙和輕工等工業(yè)部門,對(duì)國民經(jīng)濟(jì)的發(fā)展起著十分重要的作用。比如,鍋爐的汽包水位控制,一旦液位過低,會(huì)使鍋爐的溫度過高而發(fā)生安全事故;供水單位的供水,如果水位過低,達(dá)不到供水的標(biāo)準(zhǔn),對(duì)于百姓的吃水、用水會(huì)產(chǎn)生極大影響??傊瑸榇_保生產(chǎn)的安全性和穩(wěn)定性,就必須不斷開發(fā)先進(jìn)的液位控制技術(shù)和控制策略。
液位控制具有非線性、強(qiáng)耦合、大滯后、數(shù)學(xué)模型難確立等特點(diǎn),使得采用常規(guī)PID控制會(huì)由于參數(shù)整定困難產(chǎn)生超調(diào)量大、響應(yīng)速度慢、控制不穩(wěn)定等問題,常規(guī)的PID控制策略已愈加不能滿足工業(yè)生產(chǎn)的需求。由此,尋求一種適用于液位控制的PID參數(shù)自整定方法對(duì)提高液位控制的快速性、魯棒性有著重要的意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于CompactLogix的模糊自整定PID的液位控制方法,解決了現(xiàn)有常規(guī)PID控制參數(shù)整定困難、效率低下及難以達(dá)到最佳控制效果的問題。
本發(fā)明所采用的技術(shù)方案是,一種基于CompactLogix的模糊自整定PID的液位控制方法,具體按照以下步驟實(shí)施:
步驟1:對(duì)實(shí)際液位信號(hào)y進(jìn)行采樣、濾波、整定和量化,然后計(jì)算設(shè)定液位信號(hào)yd與實(shí)際液位信號(hào)y間的偏差e及偏差變化率ec;
步驟2:將步驟1處理后的信號(hào)作為模糊控制器的輸入量,進(jìn)行模糊化、模糊推理及清晰化處理,最后得到模糊控制器的輸出量ΔKp、ΔKi、ΔKd,其中,ΔKp、ΔKi、ΔKd分別為PID調(diào)節(jié)器比例增益Kp的增量、積分增益Ki的增量和微分增益Kd的增量;
步驟3:結(jié)合常規(guī)PID控制器設(shè)置的初始基準(zhǔn)值,從而得到PID控制器的三個(gè)參數(shù),再由PID調(diào)節(jié)器運(yùn)算公式,計(jì)算控制輸出,然后作用于被控對(duì)象。
本發(fā)明的特點(diǎn)還在于:
偏差e為:e=y(tǒng)d-y。
偏差變化率ec為:ec=de/dt。
步驟2具體為:
步驟2.1:確定模糊控制器的輸入、輸出變量的論域;
步驟2.2:模糊化,即將精確的輸入變量轉(zhuǎn)化為模糊量,具體為:
假設(shè)精確的輸入變量x的實(shí)際變化范圍為[a,b],將精確的輸入變量x轉(zhuǎn)換為離散論域[c,d]之間的值y:
其中,x表示輸入變量,即e及ec;y表示輸入變量x經(jīng)過模糊化處理后所對(duì)應(yīng)的模糊量;a、b分別表示輸入變量x的下限與上限,c、d分別表示輸入變量x經(jīng)過模糊化處理后所對(duì)應(yīng)輸入論域的下限與上限;
如果計(jì)算出來的y值不是整數(shù),按四舍五入的辦法把它歸入最接近的整數(shù),這樣就把連續(xù)量變換為離散論域中的有限整數(shù)值;
步驟2.3:定義模糊集合及其隸屬度函數(shù),其中,輸入變量的模糊集合e={NB,NM,NS,ZO,PS,PM,PB},ec={NB,NM,NS,ZO,PS,PM,PB},輸出變量的模糊集合ΔKm={NB,NM,NS,ZO,PS,PM,PB},m=p,i,d;
步驟2.4:建立模糊控制規(guī)律表,
ΔKp的模糊規(guī)則表如表1:
表1ΔKp的模糊規(guī)則表
ΔKi的模糊規(guī)則表如表2:
表2ΔKi的模糊規(guī)則表
ΔKd的模糊規(guī)則表如表3:
表3ΔKd的模糊規(guī)則表
步驟2.5:采用重心法對(duì)模糊控制器的輸出值進(jìn)行清晰化處理,具體為:
其中,zi表示第i個(gè)精確的輸入變量,i=1…n,z0表示控制輸出的清晰化量,μc(zi)表示輸出模糊集合中的元素zi對(duì)應(yīng)的隸屬度函數(shù);
步驟2.6:在Matlab環(huán)境下,利用模糊邏輯工具箱的圖形用戶界面建立模糊推理系統(tǒng);按照步驟2.1-步驟2.5生成ΔKp、ΔKi、ΔKd的模糊控制查詢表,并將查詢表存儲(chǔ)在CompactLogix控制器的內(nèi)存中。
步驟3具體為:
步驟3.1:結(jié)合常規(guī)PID控制器設(shè)置的基準(zhǔn)值,得到PID控制器的三個(gè)參數(shù):
Kp=Kp0+ΔKp
Ki=Ki0+ΔKi
Kd=Kd0+ΔKd
其中,Kp0,Ki0,Kd0表示常規(guī)PID控制器設(shè)置的基準(zhǔn)值;
步驟3.2:根據(jù)PID調(diào)節(jié)器運(yùn)算公式,計(jì)算控制輸出u(t):
然后作用于被控對(duì)象。
本發(fā)明的有益效果是:本發(fā)明一種基于CompactLogix的模糊自整定PID的液位控制方法,是一種變?chǔ)p、ΔKi、ΔKd的模糊PID自整定算法,它克服了變Kp、Ki、Kd模糊自整定算法對(duì)其參數(shù)選擇盲目性,又兼顧常規(guī)PID和模糊控制兩種方法的優(yōu)點(diǎn),對(duì)控制液位精度高、魯棒性好、參數(shù)易整定,可滿足更高的控制要求;同時(shí)在對(duì)象模型結(jié)構(gòu)發(fā)生較大改變的情況下也能獲得較好的控制效果。本發(fā)明將模糊自整定PID方法應(yīng)用到水位控制算法上,將預(yù)先生成的查詢表存儲(chǔ)在CompactLogix的內(nèi)存中,當(dāng)進(jìn)行實(shí)時(shí)控制時(shí),便于CompactLogix的CPU根據(jù)輸入信息從控制表查詢所對(duì)應(yīng)的控制輸出量,節(jié)省計(jì)算時(shí)間,大大提高效率。與傳統(tǒng)的PID相比較,模糊自整定PID方法對(duì)于水位控制魯棒性更強(qiáng)、控制精度更高、快速性更好、參數(shù)更易整定。
附圖說明
圖1是本發(fā)明液位控制方法的控制結(jié)構(gòu)示意圖;
圖2是本發(fā)明液位控制方法在PLC實(shí)現(xiàn)的具體流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
本發(fā)明一種基于CompactLogix的模糊自整定PID的液位控制方法,控制結(jié)構(gòu)如圖1所示,對(duì)實(shí)際液位信號(hào)y進(jìn)行采樣、濾波、整定和量化,然后計(jì)算設(shè)定液位信號(hào)yd與實(shí)際液位信號(hào)y間的偏差e及偏差變化率ec;將e和ec作為模糊控制器的輸入變量,對(duì)輸入變量進(jìn)行模糊化、模糊推理、清晰化處理,得到模糊控制器的輸出量ΔKp、ΔKi、ΔKd,結(jié)合常規(guī)PID控制器設(shè)置的初始基準(zhǔn)值可得到PID控制器的三個(gè)參數(shù),最后由PID調(diào)節(jié)器運(yùn)算公式計(jì)算出控制信號(hào),作用于被控對(duì)象。
本發(fā)明一種基于CompactLogix的模糊自整定PID的液位控制方法,具體按照以下步驟實(shí)施:
步驟1:對(duì)實(shí)際液位信號(hào)y進(jìn)行采樣、濾波、整定和量化,然后計(jì)算設(shè)定液位信號(hào)yd與實(shí)際液位信號(hào)y間的偏差e及偏差變化率ec;
偏差e為:e=y(tǒng)d-y。
偏差變化率ec為:ec=de/dt。
步驟2:將步驟1處理后的信號(hào)作為模糊控制器的輸入量,進(jìn)行模糊化、模糊推理及清晰化處理,最后得到模糊控制器的輸出量ΔKp、ΔKi、ΔKd,其中,ΔKp、ΔKi、ΔKd分別為PID調(diào)節(jié)器比例增益Kp的增量、積分增益Ki的增量和微分增益Kd的增量;
步驟2.1:確定模糊控制器的輸入、輸出變量的論域;論域的選擇要結(jié)合現(xiàn)場(chǎng)實(shí)際和現(xiàn)場(chǎng)經(jīng)驗(yàn)。
步驟2.2:模糊化,即將精確的輸入變量轉(zhuǎn)化為模糊量,具體為:
假設(shè)精確的輸入變量x的實(shí)際變化范圍為[a,b],將精確的輸入變量x轉(zhuǎn)換為離散論域[c,d]之間的值y:
其中,x表示輸入變量,即e及ec;y表示輸入變量x經(jīng)過模糊化處理后所對(duì)應(yīng)的模糊量;a、b分別表示輸入變量x的下限與上限,c、d分別表示輸入變量x經(jīng)過模糊化處理后所對(duì)應(yīng)輸入論域的下限與上限;
如果計(jì)算出來的y值不是整數(shù),按四舍五入的辦法把它歸入最接近的整數(shù),這樣就把連續(xù)量變換為離散論域中的有限整數(shù)值。
步驟2.3:定義模糊集合及其隸屬度函數(shù);其中,輸入變量的模糊集合e={NB,NM,NS,ZO,PS,PM,PB},ec={NB,NM,NS,ZO,PS,PM,PB},輸出變量的模糊集合ΔKm={NB,NM,NS,ZO,PS,PM,PB},m=p,i,d,隸屬度函數(shù)的選擇是難點(diǎn),要不斷仿真調(diào)試,選取合適的隸屬度函數(shù)曲線,才能使系統(tǒng)處于最優(yōu)控制。
步驟2.4:根據(jù)經(jīng)驗(yàn)知識(shí)和實(shí)驗(yàn)測(cè)得的數(shù)據(jù),建立模糊規(guī)則表,ΔKp的模糊規(guī)則表如表1,ΔKi的模糊規(guī)則表如表2,ΔKd的模糊規(guī)則表如表3;控制規(guī)則的制定是關(guān)鍵、核心,要根據(jù)經(jīng)驗(yàn)知識(shí)和實(shí)驗(yàn)測(cè)得的數(shù)據(jù)不斷總結(jié),從而得出一條條的控制規(guī)律。
表1ΔKp的模糊規(guī)則表
表2ΔKi的模糊規(guī)則表
表3ΔKd的模糊規(guī)則表
步驟2.5:通過模糊推理得到的模糊量要進(jìn)行清晰化計(jì)算后才能應(yīng)用于實(shí)際的控制,采用重心法對(duì)模糊控制器的輸出值進(jìn)行清晰化處理,雖然此方法計(jì)算量稍大,但模糊控制器的性能比較好。確立公式如下:
其中,zi表示第i個(gè)精確的輸入變量,i=1…n,z0表示控制輸出的清晰化量,μc(zi)表示輸出模糊集合C中的元素zi對(duì)應(yīng)的隸屬度函數(shù)。
步驟2.6:在Matlab環(huán)境下,利用模糊邏輯工具箱的圖形用戶界面(GUI)可以建立模糊推理系統(tǒng);按照步驟2.1-步驟2.5生成ΔKp、ΔKi、ΔKd的模糊控制查詢表,并將查詢表存儲(chǔ)在CompactLogix控制器的內(nèi)存中。
步驟3:結(jié)合常規(guī)PID控制器設(shè)置的初始基準(zhǔn)值,從而得到PID控制器的三個(gè)參數(shù),再由PID調(diào)節(jié)器運(yùn)算公式,計(jì)算控制輸出,然后作用于被控對(duì)象,具體為:
步驟3.1:結(jié)合常規(guī)PID控制器設(shè)置的基準(zhǔn)值,得到PID控制器的三個(gè)參數(shù):
Kp=Kp0+ΔKp
Ki=Ki0+ΔKi
Kd=Kd0+ΔKd
其中,Kp0,Ki0,Kd0表示常規(guī)PID控制器設(shè)置的基準(zhǔn)值;
步驟3.2:根據(jù)PID調(diào)節(jié)器運(yùn)算公式,計(jì)算控制輸出u(t):
然后作用于被控對(duì)象。
具體在CompctLogix系列PLC實(shí)現(xiàn)具體流程如圖2所示,首先將Matlab環(huán)境下生成的ΔKp、ΔKi、ΔKd的模糊控制查詢表預(yù)存在CompctLogix指定內(nèi)存中,根據(jù)PLC控制器掃描周期,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行采樣,之后對(duì)采樣到的輸入量濾波、整定和量化,從而建立輸入量e、ec的模糊論域,然后對(duì)輸入量e、ec模糊化,根據(jù)e、ec的模糊量確定PID參數(shù)變化量所在模糊控制查詢表中的位置,查模糊控制查詢表,確定ΔKp、ΔKi、ΔKd的值,結(jié)合PID調(diào)節(jié)器的三個(gè)參數(shù)的預(yù)設(shè)初值,即可得到PID調(diào)節(jié)器的三個(gè)參數(shù),根據(jù)PID調(diào)節(jié)器運(yùn)算公式,計(jì)算出的控制量直接作用于被控對(duì)象,一次控制結(jié)束。