高遵波 徐庚舉 王 兵
(煙臺(tái)金建冶金科技有限公司)
基于PLC和模糊控制的卸料車(chē)自動(dòng)布料系統(tǒng)設(shè)計(jì)
高遵波 徐庚舉 王 兵
(煙臺(tái)金建冶金科技有限公司)
為了更好地實(shí)現(xiàn)礦倉(cāng)自動(dòng)均勻布料,對(duì)只根據(jù)礦倉(cāng)料位值高低優(yōu)先級(jí)的布料方案進(jìn)行了改進(jìn),考慮了料位變化快慢對(duì)布料點(diǎn)的影響,并采用模糊推理控制方法智能判斷最佳布料點(diǎn)。設(shè)計(jì)的模糊控制器選取料位設(shè)定值與檢測(cè)值的偏差E和偏差變化率EC作為輸入變量,礦倉(cāng)礦料需求量U作為輸出變量,最終在MATLAB中形成模糊控制查詢表,然后按照需求量U值最大先布料的原則確定下一時(shí)刻布料點(diǎn)。同時(shí)在PLC Step7軟件中編程,控制卸料車(chē)運(yùn)行至準(zhǔn)確布料點(diǎn)下料,按照采樣周期循環(huán)判斷執(zhí)行,實(shí)現(xiàn)礦倉(cāng)的均勻布料。結(jié)果表明,系統(tǒng)切實(shí)可行,布料過(guò)程更加合理和智能。
卸料車(chē) 自動(dòng)布料系統(tǒng) 模糊控制 PLC MATLAB
礦山礦倉(cāng)布料現(xiàn)場(chǎng)環(huán)境惡劣、粉塵大、操作工人勞動(dòng)強(qiáng)度大,常用的自動(dòng)布料系統(tǒng)方案是根據(jù)各礦倉(cāng)料位的高低優(yōu)先等級(jí)(即料位最低的優(yōu)先布料)來(lái)實(shí)現(xiàn)。這種控制方法有時(shí)會(huì)有缺陷,只是通過(guò)這一時(shí)刻的料位來(lái)判斷卸料車(chē)下一時(shí)刻的布料點(diǎn),而沒(méi)有考慮到料位變化的快慢對(duì)布料點(diǎn)的影響(倉(cāng)下放礦速度的快慢)[1],這樣很可能會(huì)出現(xiàn)以下情況:當(dāng)前時(shí)刻該礦倉(cāng)的料位值比較低,但是料位變化的速度很慢,即很長(zhǎng)時(shí)間內(nèi)料位不會(huì)有很大變化,而相反,另一礦倉(cāng)的料位值較高,但是料位的變化速度很快,若根據(jù)料位低優(yōu)先的原則,卸料車(chē)會(huì)為前者布料,這樣可能會(huì)使料位值高、料位變化速度快的后者出現(xiàn)料位過(guò)低或者空倉(cāng)的現(xiàn)象。因此,為了解決上述問(wèn)題,本文采用了模糊控制算法智能優(yōu)化判斷卸料車(chē)下一時(shí)刻的最優(yōu)布料點(diǎn),通過(guò)對(duì)卸料車(chē)全自動(dòng)智能控制,使礦倉(cāng)實(shí)時(shí)均勻布料,對(duì)實(shí)現(xiàn)礦倉(cāng)無(wú)人值守、改善操作人員工作環(huán)境以及提高企業(yè)的生產(chǎn)效率具有重要意義。
自動(dòng)布料系統(tǒng)采用雷達(dá)料位計(jì)實(shí)時(shí)檢測(cè)礦倉(cāng)料位,采用刻度標(biāo)尺定位系統(tǒng)對(duì)卸料車(chē)位置實(shí)時(shí)連續(xù)監(jiān)測(cè),并將信號(hào)輸入至PLC,結(jié)合模糊控制算法智能判斷卸料車(chē)下一時(shí)刻的最優(yōu)卸料位置,最終通過(guò)PLC輸出控制卸料車(chē),實(shí)現(xiàn)礦倉(cāng)的實(shí)時(shí)均勻布料。為提高PLC的編程和調(diào)試效率,模糊控制器采用離線計(jì)算的方式形成查詢表,通過(guò)PLC在線查表方式達(dá)到控制目的。本文選取10 m高的圓筒礦倉(cāng)為研究對(duì)象,卸料車(chē)自動(dòng)布料系統(tǒng)原理見(jiàn)圖1。
圖1 自動(dòng)布料系統(tǒng)原理
2.1 模糊控制器結(jié)構(gòu)
模糊控制器的結(jié)構(gòu)見(jiàn)圖2。選取礦倉(cāng)料位設(shè)定值與檢測(cè)值的偏差E和該偏差變化率EC作為模糊控制器的輸入變量,礦倉(cāng)礦料需求量U為輸出變量;采樣間隔T設(shè)置為5 min;ke、kec為量化因子,用于將物理誤差e和物理變化率ec從物理連續(xù)值轉(zhuǎn)換為模糊控制器輸入變量E和EC;ku為比例因子,用于將模糊控制器的輸出量U轉(zhuǎn)換為實(shí)際的輸出值u。
e(k)=r(k)-y(k) ,
(1)
ec(k)=[e(k)-e(k-1)]/T,
(2)
式中,r為料位高度設(shè)定值;y為料位高度實(shí)際檢測(cè)值;e(k)、ec(k)為kT時(shí)刻的誤差和誤差變化率。
圖2 模糊控制器結(jié)構(gòu)
2.2 模糊論域
為了提高實(shí)時(shí)性,模糊控制器常常以控制查詢表的形式出現(xiàn)。為了能方便產(chǎn)生控制查詢表,在模糊控制器的設(shè)計(jì)中,通常就把語(yǔ)言變量的論域定義為有限整數(shù)的離散論域[2-3]。根據(jù)實(shí)際情況設(shè)定料倉(cāng)高度目標(biāo)值為9 m,則礦倉(cāng)料位高度差e的物理論域?yàn)閇0 m,8 m],將其轉(zhuǎn)換為整數(shù)論域,即E=[0,1,2,3,4,5,6,7,8,9,10,11,12],取轉(zhuǎn)換量化因子ke=1.5,則E=<1.5e>;偏差變化率ec的物理論域?yàn)閇-1 m/min,1 m/min],將其轉(zhuǎn)換為整數(shù)論域,即EC=[-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6],取轉(zhuǎn)換量化因子kec=6,則EC=<6ec>;控制器輸出量u的物理論域?yàn)閇0 m,8 m],將其轉(zhuǎn)換為整數(shù)論域,U=[0,1,2,3,4,5,6,7,8,9,10,11,12],取比例因子ku=2/3,則u=2U/3。其中,<>為取整運(yùn)算。
2.3 語(yǔ)言變量值和隸屬度函數(shù)
選擇語(yǔ)言值個(gè)數(shù)的多少直接關(guān)系到確定模糊規(guī)則的復(fù)雜程度。當(dāng)語(yǔ)言變量值個(gè)數(shù)較多時(shí),能使控制規(guī)則比較細(xì)致,但是制定起來(lái)會(huì)比較復(fù)雜。本文對(duì)語(yǔ)言變量E和輸出量U選用7個(gè)模糊等級(jí):{Z(零)、SS(小小)、MS(中小)、S(小)、M(中)、MB(中大)、B(大)},EC也選用7個(gè)模糊等級(jí):{NB(負(fù)大)、NM(負(fù)中)、NS(負(fù)小)、O(零)、PS(正小)、PM(正中)、PB(正大)},利用MATLAB中的FIS Editor控件建立隸屬度函數(shù),選用三角形形式,曲線見(jiàn)圖3。
圖3 隸屬度函數(shù)曲線
2.4 模糊控制規(guī)則
模糊控制規(guī)則庫(kù)是在操作者經(jīng)驗(yàn)和控制器的設(shè)計(jì)者在對(duì)被控過(guò)程進(jìn)行深入了解的基礎(chǔ)上建立的[1]。規(guī)格庫(kù)是由若干條控制規(guī)則組成,按照IF…THEN…的形式表達(dá),將若干語(yǔ)言規(guī)則建立成控制規(guī)則表,見(jiàn)表1。
表1 模糊控制規(guī)則
2.5 查詢表輸出
在MATLAB Fuzzy工具箱FIS Editor中,推理(Implication)的方法為min,合成(Aggregation)的方法為max,去模糊化(Defuzzification)的方法為mom,將FIS Editor中的模糊規(guī)則導(dǎo)出WorkSpace。在MATLAB中的Simulink平臺(tái)選擇模糊控制器模塊,設(shè)計(jì)好模糊控制器的輸入、輸出模糊變量和模糊控制規(guī)則,運(yùn)行輸出至WorkSpace,最后導(dǎo)出矩陣查詢表,見(jiàn)表2。
表2 模糊控制查詢
通過(guò)模糊控制查詢表得到每個(gè)礦倉(cāng)的礦物需求量后,按照需求量?jī)?yōu)先級(jí)高先布料的原則(查詢表中輸出量U越大,優(yōu)先級(jí)越高)確定下一時(shí)刻卸料車(chē)的布料點(diǎn),若存在多個(gè)料倉(cāng)優(yōu)先級(jí)相同,則優(yōu)先布料離當(dāng)前位置最近的礦倉(cāng),PLC讀取該位置信息,通過(guò)控制卸料車(chē)電機(jī)正反轉(zhuǎn),使卸料車(chē)準(zhǔn)確運(yùn)行至布料點(diǎn)下料,如此過(guò)程按照采樣周期循環(huán)判斷執(zhí)行,實(shí)現(xiàn)礦倉(cāng)的均勻布料。
3.1 硬件配置
自動(dòng)布料系統(tǒng)PLC硬件配置包括電源(PS307 5A)、CPU模塊(CPU315-2PN/DP)、模擬量輸入模塊(2個(gè)AI8×12bit)、數(shù)字量輸入模塊(1個(gè)DI32×DC24V)、數(shù)字量輸出模塊(1個(gè)DO16×DC24V/0.5A),所有模塊均需經(jīng)隔離器進(jìn)行信號(hào)隔離。在Step7硬件中組態(tài),并調(diào)試AI模塊量程卡為4~20 mA。
3.2 軟件設(shè)計(jì)
利用PLC編程實(shí)現(xiàn)的程序流程見(jiàn)圖4。在Step7軟件中采用STL語(yǔ)言進(jìn)行編程,主要編寫(xiě)的程序塊:主程序OB1,采樣程序FC1(包括各礦倉(cāng)料位值和卸料車(chē)當(dāng)前位置值),將誤差E和變化率EC進(jìn)行量化、輸出量U進(jìn)行比例清晰化的程序塊FB2(背景數(shù)據(jù)塊DB2)和程序FC2,控制查詢表程序塊FB3(背景數(shù)據(jù)塊DB3)和程序FC3,卸料車(chē)運(yùn)動(dòng)控制程序FC4[4]。其中,F(xiàn)B2和FB3是關(guān)鍵部分。除此之外,還需設(shè)置料位上下限值,當(dāng)?shù)竭_(dá)上限位但采樣間隔未到,需強(qiáng)制卸料車(chē)行走至下一布料點(diǎn)或進(jìn)行應(yīng)急處理程序。
圖4 PLC程序?qū)崿F(xiàn)流程示意
3.3 量化和清晰化程序塊設(shè)計(jì)
根據(jù)E=<1.5e>,EC=<6ec>,u=2U/3,F(xiàn)B2程序設(shè)計(jì)如下:
L #ek //誤差e(k)
L #ek1 //e(k-1),初始值為0
-R
T #ec0
NOP 0
L #ec0 // ec0為e(k)-e(k-1)
L #t // t為采樣周期
/R
T #eck //計(jì)算誤差變化率ec(k)
NOP 0
L #ek
T #ek1 //將e(k)傳給e(k-1)
NOP 0
L #ek
L 1.5 //誤差e乘量化因子
*R
T #Ek0
RND //取整,轉(zhuǎn)換成整數(shù)論域E
T #Ek
3.4 控制表查詢程序塊設(shè)計(jì)
采用判斷條件查詢式方法,根據(jù)E和EC的值得出控制值U,舉例當(dāng)E=4,EC=3時(shí),U=8的查詢程序如下:
A(
L #Ek
L L#4
==D //判斷E是否為4
)
A(
L #ECk
L L#3
==D //判斷EC是否為3
)
JNB _002
L 8
T #Uk //輸出控制值U
_002: NOP 0
本文重點(diǎn)對(duì)自動(dòng)布料系統(tǒng)中布料點(diǎn)位置的確定方法進(jìn)行了改進(jìn),結(jié)合各礦倉(cāng)當(dāng)前料位高低值和料位值變化速率2個(gè)因素,運(yùn)用模糊推理控制方法,確定各礦倉(cāng)礦料需求量?jī)?yōu)先級(jí)(即下一時(shí)刻卸料車(chē)最佳布料點(diǎn)),通過(guò)PLC編程實(shí)現(xiàn)模糊控制過(guò)程,并根據(jù)卸料車(chē)位置信號(hào)控制運(yùn)行方向,實(shí)現(xiàn)自動(dòng)布料。這一改進(jìn)方法使得布料過(guò)程更加合理,各礦倉(cāng)料位更加穩(wěn)定和均勻,系統(tǒng)易于編程,對(duì)實(shí)現(xiàn)礦倉(cāng)無(wú)人值守以及提高企業(yè)的生產(chǎn)效率具有重要意義。
[1] 于仲安,張 姿.模糊控制在選礦布料系統(tǒng)中的應(yīng)用[J].礦山機(jī)械,2012,40(4):107-111.
[2] 孫增圻.智能控制理論與技術(shù)[M].北京:清華大學(xué)出版社,2003.
[3] 薛定宇,陳陽(yáng)泉.控制系統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)—MATLAB語(yǔ)言及應(yīng)用[M].北京:清華大學(xué)出版社,1996.
[4] 盧 燕,羅青華,魏克新.PLC實(shí)現(xiàn)的模糊PID控制器及在高爐布料系統(tǒng)中的應(yīng)用[J].天津理工大學(xué)學(xué)報(bào),2008,24(2):73-75.
2015-03-09)
高遵波(1975—),男,工程師,264003 山東省煙臺(tái)市高新區(qū)學(xué)府西路18號(hào)。