孟建軍,李秉權(quán)
(1.蘭州交通大學(xué)機(jī)電技術(shù)研究所,蘭州 730070;2.蘭州交通大學(xué)機(jī)電工程學(xué)院,蘭州 730070;3.甘肅省物流及運(yùn)輸裝備信息化工程技術(shù)研究中心,蘭州 730070)
灌溉的合理用水是衡量水資源科學(xué)可持續(xù)發(fā)展的重要一環(huán)。全渠道灌溉系統(tǒng)(TCC)理論是由澳大利亞潞碧墾公司提出并實(shí)現(xiàn)的一種將傳統(tǒng)的人力控制、用水損失較大的明渠灌溉系統(tǒng)改造成高效靈活的網(wǎng)絡(luò)化全自動(dòng)控制灌溉系統(tǒng)。TCC已經(jīng)在澳大利亞、美國(guó)、加拿大等十幾個(gè)國(guó)家得到了應(yīng)用[1]。其中,在澳大利亞的FoodBowl灌區(qū)(灌溉區(qū)域約6 000 km2,灌渠總長(zhǎng)達(dá)6 300 km),與傳統(tǒng)灌溉系統(tǒng)相比,TCC灌溉水利用系數(shù)由70%提高到了約84%。此外在我國(guó)的寧夏青銅峽灌區(qū)、山西汾河灌區(qū)和疏勒河流域的昌馬灌區(qū)也引進(jìn)了TCC系統(tǒng)作為試點(diǎn)工程[2]。但是由于我國(guó)水資源分布不均衡,目前大、中型灌區(qū)約5 600 處,灌溉面積0.22 億hm2,占灌溉總面積的43%,巨大的灌溉配水需求在全部引入應(yīng)用TCC系統(tǒng)時(shí)將是不菲的費(fèi)用;同時(shí)我國(guó)的電力、水利技術(shù)規(guī)范標(biāo)準(zhǔn)與國(guó)外不盡相同,就存在著標(biāo)準(zhǔn)不一致帶來(lái)的不兼容問(wèn)題。目前對(duì)于自動(dòng)化灌溉控制下的研究一般采用ZigBee協(xié)議傳輸[3],然而ZigBee無(wú)線信號(hào)繞射性和穩(wěn)定性一般且成本造價(jià)高,傳輸距離受限。本文介紹了一種用于全渠道灌溉系統(tǒng)的水文采集控制一體裝置,依照我國(guó)水利水電標(biāo)準(zhǔn)、通訊傳輸規(guī)約,采用價(jià)格相對(duì)低廉的MCGS工業(yè)嵌入式控制系統(tǒng)為核心處理器,結(jié)合PLC可編程控制器控制閘門(mén)動(dòng)作,利用GPRS DTU無(wú)線網(wǎng)絡(luò)技術(shù)保障數(shù)據(jù)交互[4]。該裝置能實(shí)現(xiàn)灌區(qū)水情監(jiān)測(cè)采集、計(jì)量分析、上報(bào)監(jiān)控中心、視頻(圖像)監(jiān)控、遠(yuǎn)程控制閘門(mén)、智能預(yù)警報(bào)警等功能。設(shè)計(jì)了基于MCGS嵌入式系統(tǒng)的預(yù)設(shè)通訊規(guī)約下的GPRS通訊驅(qū)動(dòng),設(shè)計(jì)了采用模糊控制理論實(shí)現(xiàn)灌區(qū)閘門(mén)的自動(dòng)化控制,實(shí)現(xiàn)灌區(qū)農(nóng)業(yè)種植“按需配水”。
本文設(shè)計(jì)并實(shí)現(xiàn)的裝置包括了水情采集、無(wú)線通訊和閘門(mén)控制功能。水情采集單元包括液位傳感器、雨量傳感器、數(shù)據(jù)采集模塊、MCGS嵌入式工控機(jī),數(shù)據(jù)采集模塊使用ADAM-4050模塊。供電電源主板由太陽(yáng)能光伏陣列電池板、充電控制電路、DC-DC控制升壓電路和鉛酸蓄電池等組成。閘門(mén)控制單元使用西門(mén)子系列S7-200PLC與繼電器相結(jié)合,配合MCGS嵌入的VB控制語(yǔ)言控制閘門(mén)升降動(dòng)作。為保證本裝置可適用于野外惡劣條件和干擾等,將采集模塊、工控機(jī)、無(wú)線通訊單元、供電電源主板及閘門(mén)控制單元分開(kāi)安裝在合理尺寸的電氣控制柜中,保證足夠的電氣隔離距離[5]。
其中,MCGS工控機(jī)開(kāi)發(fā)軟件中并沒(méi)有提供標(biāo)準(zhǔn)化GPRS設(shè)備驅(qū)動(dòng)程序,本文設(shè)計(jì)了基于預(yù)設(shè)通訊規(guī)約下的針對(duì)本裝置采用的有人USR-GPRS-734無(wú)線通訊模塊的驅(qū)動(dòng)程序,運(yùn)用Active DLL構(gòu)件方式及規(guī)范的OLE接口與MCGS掛接驅(qū)動(dòng)[6],將采集數(shù)據(jù)及裝置工作狀態(tài)上傳至基站。
閘門(mén)過(guò)流量的實(shí)時(shí)計(jì)量是閘門(mén)自動(dòng)化控制的一個(gè)重要影響參數(shù)。但考慮渠道水流量具有時(shí)變性、非線性和不確定性[7],本裝置采用模糊控制算法設(shè)計(jì)了模糊控制器,從而提高閘門(mén)的調(diào)節(jié)精度及穩(wěn)定性,實(shí)現(xiàn)自動(dòng)化反饋閘門(mén)控制單元,為監(jiān)控上位機(jī)實(shí)現(xiàn)合理地遠(yuǎn)程調(diào)配水資源奠定現(xiàn)地控制基礎(chǔ)。
水文采集控制裝置總體設(shè)計(jì)結(jié)構(gòu)圖如圖1所示。
圖1 總體設(shè)計(jì)結(jié)構(gòu)圖
該裝置采用模塊化的設(shè)計(jì)思想,其主要由核心控制工控機(jī)、傳感器、無(wú)線通訊模塊、閘門(mén)控制單元和供電電源主板組成,本裝置硬件結(jié)構(gòu)圖如圖2所示。
圖2 硬件結(jié)構(gòu)圖
MCGS(Monitor and Control Generated System)工控機(jī)是配合MCGS組態(tài)軟件實(shí)現(xiàn)快速構(gòu)造和生成計(jì)算機(jī)監(jiān)控系統(tǒng)的人機(jī)交互核心觸摸屏。水位傳感器通過(guò)雙絞屏蔽線,經(jīng)由ADAM-4520隔離RS-232到RS-485雙向轉(zhuǎn)換器,與MCGS的COM端口2、3、5引腳連接;雨量傳感器的通斷信號(hào)經(jīng)由ADAM-4050數(shù)字量I/O采集模塊,轉(zhuǎn)換輸出為差分信號(hào)后與ADAM-4520轉(zhuǎn)換器連接,最終實(shí)現(xiàn)多路數(shù)據(jù)的采集;MCGS的COM端口7、8引腳與GPRS DTU連接,通過(guò)調(diào)取GPRS設(shè)備驅(qū)動(dòng),將采集到的水位、雨量數(shù)據(jù)以約定通訊協(xié)議格式打包通過(guò)USR-GPRS-734上傳至上位機(jī)解析,同時(shí)接收、解析上位機(jī)數(shù)據(jù)包指令,相應(yīng)控制閘門(mén)單元。
本裝置閘門(mén)控制模塊主要由核心控制單元、主回路、控制回路和閘門(mén)開(kāi)度儀傳感器四部分組成。核心控制單元采用西門(mén)子S7-200系列,CPU226型號(hào)的可編程序控制器,通過(guò)PC/PPI編程電纜,經(jīng)RS485轉(zhuǎn)換與MCGS工控機(jī)連接,以標(biāo)準(zhǔn)Modbus通訊協(xié)議與MCGS實(shí)現(xiàn)通信并控制閘門(mén);主回路和控制回路使用的器件主要有斷路器、接觸器、電磁繼電器、指示燈和熱繼電器保護(hù)等;閘門(mén)開(kāi)度儀包括絕對(duì)型光電編碼器與閘門(mén)顯示儀表,MCGS將按程序設(shè)定的采集周期,借助顯示儀表將光電編碼器采集的SSI串行同步信號(hào)轉(zhuǎn)換成MCGS可接收的RS485通信信號(hào)實(shí)現(xiàn)定時(shí)不間斷采集閘門(mén)開(kāi)度、荷重等運(yùn)行參數(shù)[8],從而獲得閘門(mén)的實(shí)時(shí)狀態(tài)與動(dòng)態(tài)荷載。同時(shí)為保障PLC工作的穩(wěn)定性與可靠性,在控制閘門(mén)的上升、下降和停止的過(guò)程中,增加熱繼電器用于過(guò)流保護(hù),動(dòng)作上、下限位報(bào)警和卡滯報(bào)警,一旦報(bào)警發(fā)生將立即停機(jī)保護(hù)設(shè)備并向上位機(jī)發(fā)送報(bào)警信息,等待上位機(jī)指令后復(fù)位PLC,再重新控制閘門(mén)。
本裝置基于MCGS工控機(jī)搭配的組態(tài)操作系統(tǒng)進(jìn)行二次開(kāi)發(fā),軟件開(kāi)發(fā)基于Visual Basic編程語(yǔ)言,采用本地計(jì)算機(jī)作為主機(jī)裝置開(kāi)發(fā)主機(jī),通過(guò)開(kāi)發(fā)軟件與裝置的硬件結(jié)構(gòu)配置,利用放置圖元、動(dòng)畫(huà)構(gòu)件和圖符等各種圖形對(duì)象,設(shè)計(jì)滿足裝置要求的畫(huà)面,建立與實(shí)時(shí)數(shù)據(jù)庫(kù)的連接,實(shí)現(xiàn)數(shù)據(jù)和流程的可視化,實(shí)時(shí)顯示各個(gè)參數(shù)數(shù)據(jù),部分參數(shù)反饋到閘門(mén)控制單元。裝置運(yùn)行流程圖如圖3所示。
圖3 裝置運(yùn)行流程圖
MCGS在工作運(yùn)行模式下需要按照設(shè)定的采集周期不斷調(diào)用不同設(shè)備的CollectDevDat接口。有人的USR-GPRS-734與上位機(jī)監(jiān)測(cè)中心是以網(wǎng)絡(luò)透?jìng)鞯墓ぷ餍问酵ㄓ?,同時(shí)它提供了開(kāi)放的 API函數(shù)。在開(kāi)發(fā)基于MCGS的GPRS驅(qū)動(dòng)時(shí),需要根據(jù)規(guī)定的通訊協(xié)議格式將不同通道的數(shù)據(jù)打包上傳,同時(shí)按照協(xié)議對(duì)接收的數(shù)據(jù)流解包、檢驗(yàn)和分配數(shù)據(jù)到各個(gè)數(shù)據(jù)通道中顯示,實(shí)現(xiàn)上位機(jī)與本裝置的數(shù)據(jù)交互。最終編寫(xiě)和生成了一個(gè)可供MCGS調(diào)用的設(shè)備驅(qū)動(dòng)函數(shù)。本裝置的GPRS通訊CollectDevDat設(shè)備接口編程如下:
Public Function CollectDevDat(alngDataFlag As Variant,asng Data Value As Variant, intToHexstr As Variant) As Long
writeresult=do_write_proc( data, userid(1),1)
If writeresult=0 Then
∥處理數(shù)據(jù)是否為注冊(cè)信息
aStr = !I2Hex(number)
If !len(aStr) < 4 then bStr = !Strings("0",4-!len(aStr))
intToHexstr = bStr + aStr
∥數(shù)據(jù)轉(zhuǎn)換為16進(jìn)制字符串
sendStr = "{" + 設(shè)備地址 + "!" + intToHexstr(data1) + "!" + intToHexstr(data2) + "!" + intToHexstr(data3) + !Chr(34) + intToHexstr(yewei1) + !Chr(34) + intToHexstr(yewei2) + !Chr(34) + intToHexstr(yewei3) + "#" + intToHexstr(yuliang1) + "$" + intToHexstr(yuliang2) + "%" + intToHexstr(yuliang3) + "&" + intToHexstr(zmkd1) + "&" + intToHexstr(zmkd2) + "&" + intToHexstr(zmkd3)+ "'" + intToHexstr(data4) + "'" + intToHexstr(data5) + "(" + intToHexstr(data6) + "(" + intToHexstr(data7)+")"+!TimeI2Str(!TimeGetCurrentTi_me(),"%H%M%S") + "*"
∥數(shù)據(jù)轉(zhuǎn)換組合,按照通訊協(xié)議格式打包數(shù)據(jù)
!Str2ByteArr(sendStr,tmpByte)
crc16=!SvrByteArrayModbusCRC(tmpByte,1,99)
∥計(jì)算CRC16校驗(yàn)字節(jié)
!DevWriteStr(sendStr + intToHexstr(crc16) + "}")
∥發(fā)送數(shù)據(jù)重組,并從串口發(fā)送數(shù)據(jù)
sendresult=do_send_data(sendclient,sendzha_m,sendStr1,senduserid(1) )
∥按照通訊協(xié)議解析數(shù)據(jù)包,分配到各個(gè)數(shù)據(jù)通道
Dataresult=ReadData(data,userid(1) )
End If
End If
End Function
MCGS由主控窗口、設(shè)備窗口、用戶窗口、實(shí)時(shí)數(shù)據(jù)庫(kù)和運(yùn)行策略五大部分組成[9]。本裝置設(shè)計(jì)了水位、雨量的監(jiān)控采集,閘門(mén)指令操控,故障報(bào)警,運(yùn)行報(bào)表統(tǒng)計(jì)等實(shí)時(shí)顯示界面。本裝置的人機(jī)交互工控機(jī)可以實(shí)時(shí)顯示當(dāng)前裝置的運(yùn)行參數(shù)狀態(tài),同時(shí)工控機(jī)的實(shí)時(shí)數(shù)據(jù)庫(kù)和歷史報(bào)表功能可以保存不同時(shí)間段的水情信息,為后期的統(tǒng)計(jì)、分析、預(yù)警留下重要依據(jù),它與上位機(jī)監(jiān)控中心互補(bǔ)最終實(shí)現(xiàn)本裝置的自動(dòng)化、智能化控制。MCGS工控機(jī)中水位運(yùn)行報(bào)表主界面如圖4所示。
圖4 水位運(yùn)行報(bào)表界面
本裝置需實(shí)現(xiàn)閘門(mén)自動(dòng)化升降控制,關(guān)鍵環(huán)節(jié)是需要比較預(yù)設(shè)閘門(mén)開(kāi)度與當(dāng)前閘門(mén)開(kāi)度并做處理。MCGS工控機(jī)中閘門(mén)監(jiān)控的主界面如圖5所示。同時(shí)在MCGS中的循環(huán)運(yùn)行策略中編寫(xiě)了腳本程序,并加入閘門(mén)精度值來(lái)提高閘門(mén)的控制精度,腳本程序如下:
IF 閘門(mén)開(kāi)度值1 - 閘門(mén)精度值 > 閘門(mén)指令值2 AND 閘門(mén)控制_執(zhí)行1 = 1 THEN 閘門(mén)運(yùn)行狀態(tài)降=1
IF 閘門(mén)開(kāi)度值1 + 閘門(mén)精度值 < 閘門(mén)指令值2 AND 閘門(mén)控制_執(zhí)行1 = 1 THEN 閘門(mén)運(yùn)行狀態(tài)升=1
IF 閘門(mén)開(kāi)度值1 - 閘門(mén)精度值 < 閘門(mén)指令值2 AND 閘門(mén)開(kāi)度值1 - 閘門(mén)精度值 = 閘門(mén)指令值2 AND 閘門(mén)開(kāi)度值1 + 閘門(mén)精度值 > 閘門(mén)指令值2 AND 閘門(mén)開(kāi)度值1 + 閘門(mén)精度值 = 閘門(mén)指令值2
THEN 閘門(mén)運(yùn)行狀態(tài)停=1
該程序可用于實(shí)現(xiàn)閘門(mén)的自動(dòng)啟停、按需供水的設(shè)定。
圖5 閘門(mén)監(jiān)控主界面
閘門(mén)控制程序的開(kāi)發(fā)選用西門(mén)子專(zhuān)用開(kāi)發(fā)平臺(tái)STEP7-Micro/WIN32 V4.0,是用于SIMATIC可編程邏輯控制器組態(tài)和編程的標(biāo)準(zhǔn)軟件包[10],采用模塊法編制控制程序,將閘門(mén)的開(kāi)度轉(zhuǎn)換成在MCGS里的腳本程序,不斷調(diào)取循環(huán)策略實(shí)現(xiàn)閘門(mén)的自動(dòng)化控制。閘門(mén)的部分控制程序如圖6所示。
圖6 PLC閘門(mén)控制程序(部分)
渠道水流量的準(zhǔn)確監(jiān)測(cè)是精確控制閘門(mén)的重要因子之一。目前對(duì)于水流量的計(jì)算均停留在管道流量的領(lǐng)域內(nèi),對(duì)具有時(shí)變性、非線性和不確定性等特點(diǎn)的水渠流量沒(méi)有比較可靠的變送器模塊,但是利用傳統(tǒng)的PID算法控制,穩(wěn)定時(shí)間較長(zhǎng)且超調(diào)量及振蕩都達(dá)不到理想效果。因此采用模糊控制理論方法對(duì)水閘的閘前閘后水位計(jì)量并設(shè)計(jì)模糊控制器對(duì)閘門(mén)的開(kāi)度進(jìn)行實(shí)時(shí)控制,從而提高閘門(mén)的穩(wěn)定性,保障閘門(mén)的調(diào)節(jié)精度,同時(shí)具有較好的魯棒性。本裝置中閘門(mén)控制的模糊控制器原理見(jiàn)圖7。
圖7 閘門(mén)模糊控制原理圖
該裝置模糊控制器為二維模糊控制器。偏差e為預(yù)期水位值與當(dāng)前監(jiān)測(cè)水位值的差值,ec為偏差變化率,u為閘門(mén)開(kāi)度的改變量,以e和ec作為輸入變量,u為輸出變量共同構(gòu)成二維模糊控制器。
在PLC控制閘門(mén)運(yùn)行過(guò)程中,不斷檢測(cè)e和ec,不斷修改輸出量u,使得被控對(duì)象水位值更快速的趨向穩(wěn)定。在模糊控制中,隸屬度反映了變量接近某一等級(jí)的程度,它的數(shù)值區(qū)間是[0,1],且隸屬度越大,控制變量屬于某一等級(jí)的程度越高。在本裝置模糊控制設(shè)計(jì)中經(jīng)過(guò)理論與試驗(yàn)的不斷調(diào)整,控制狀態(tài)最佳時(shí)選擇區(qū)間為[0.4,0.7]作為模糊子集的最大隸屬度,對(duì)比試驗(yàn)后選擇0.55。再通過(guò)e、ec、u的模糊化、建立模糊控制規(guī)則、逆模糊化后生成模糊判定查詢表,最后乘以適當(dāng)因子,作為控制輸出量,實(shí)現(xiàn)對(duì)閘門(mén)的穩(wěn)定自動(dòng)化控制。圖8為利用Simulink動(dòng)態(tài)仿真工具建立的閘門(mén)控制系統(tǒng)仿真模型。圖9為Simulink仿真本裝置模糊控制閘門(mén)開(kāi)度曲線。
圖8 閘門(mén)控制系統(tǒng)Simulink仿真模型
圖9 模糊控制Simulink仿真曲線
在安裝過(guò)程中考慮本裝置應(yīng)用于野外環(huán)境下,為保障整個(gè)裝置可靠地工作,建立接地系統(tǒng)并安裝防雷裝置提高供電系統(tǒng)的穩(wěn)定性,同時(shí)增加了穩(wěn)壓濾波裝置保證PLC不受閘門(mén)動(dòng)作時(shí)電壓波動(dòng)影響,使其工作電壓穩(wěn)定在額定輸入范圍內(nèi)。為了提高本裝置的可推廣性,將本裝置涉及元器件及設(shè)備統(tǒng)一安裝在現(xiàn)場(chǎng)控制樣機(jī)柜中,保證了安裝間距、隔離屏蔽以防止信號(hào)干擾,同時(shí)也注意了安裝的緊湊型。另外,采用增加減振彈簧和緩震橡膠墊等措施減少閘門(mén)振動(dòng)時(shí)所產(chǎn)生機(jī)械干擾的影響。
本裝置已應(yīng)用于某小型灌溉試驗(yàn)田現(xiàn)場(chǎng),現(xiàn)場(chǎng)試驗(yàn)表明,本裝置對(duì)水位、雨量、閘門(mén)狀態(tài)數(shù)據(jù)采集迅速準(zhǔn)確,上傳數(shù)據(jù)穩(wěn)定可靠,閘門(mén)可根據(jù)現(xiàn)場(chǎng)給定預(yù)期閘門(mén)開(kāi)度值指令后1 s內(nèi)迅速反應(yīng)動(dòng)作,并根據(jù)閘前閘后水位快速趨于平衡,在多次試驗(yàn)對(duì)比后誤差保持在±0.2%之內(nèi)。實(shí)踐證明本裝置可以實(shí)現(xiàn)灌區(qū)的“無(wú)人值守”,降低了人工操作的不穩(wěn)定性,減輕了勞動(dòng)強(qiáng)度,經(jīng)濟(jì)效益顯著。
本文設(shè)計(jì)的水文采集控制裝置充分利用了MCGS組態(tài)工業(yè)級(jí)穩(wěn)定性和強(qiáng)大的可擴(kuò)展性的優(yōu)勢(shì),實(shí)現(xiàn)集中精確監(jiān)測(cè)和穩(wěn)定控制,保證了數(shù)據(jù)遠(yuǎn)程交互的可靠性。不同于以往測(cè)報(bào)技術(shù)研究及目前市面上常見(jiàn)的水文測(cè)報(bào)產(chǎn)品,本裝置在水文遙測(cè)的基礎(chǔ)上可實(shí)現(xiàn)遠(yuǎn)程遙控灌區(qū)明渠現(xiàn)地閘門(mén),幫助用水管理單位做出科學(xué)高效地輸配水決策并代替現(xiàn)地操作員實(shí)施自動(dòng)化停放水,通過(guò)現(xiàn)場(chǎng)調(diào)試運(yùn)行證明該裝置契合我國(guó)在相關(guān)領(lǐng)域內(nèi)的應(yīng)用標(biāo)準(zhǔn)規(guī)約,符合實(shí)際運(yùn)用需求,降低了制作成本,具有很好的推廣應(yīng)用價(jià)值。