段興濤,姜維軍
(寧夏希望信息產(chǎn)業(yè)股份有限公司,寧夏水利信息中心,寧夏 銀川 750001)
目前中國是水資源最貧乏的國家之一,如寧夏部分地區(qū)還存在取用水困難、供水保證率低、水資源管理水平不高等問題[1,2]。水利是國民經(jīng)濟命脈,是現(xiàn)代農(nóng)業(yè)建設(shè)的首要條件,因此政府加大水利工程的建設(shè)。為合理開發(fā)利用水資源和提高水資源管理水平,本供水系統(tǒng)通過調(diào)節(jié)水泵控制管網(wǎng)中的流量和壓力,應(yīng)用無線傳感器網(wǎng)絡(luò)和地圖應(yīng)用程序的集成實時控制和監(jiān)控供水系統(tǒng)。實施分布式控制系統(tǒng),可根據(jù)用戶的需求在配水系統(tǒng)中精確分配流量,然后將其輸送至目的地,這將大大減少水資源的浪費。利用新技術(shù)實時監(jiān)控測量參數(shù)和控制致動器系統(tǒng),可有效地提高灌區(qū)供水保證率,提升水資源管理效率和效益,支撐現(xiàn)代化生態(tài)灌區(qū)建設(shè),助力區(qū)域高質(zhì)量發(fā)展[3-5]。
設(shè)計方案提出一種測試配水系統(tǒng)控制算法的水網(wǎng)絡(luò),在實驗?zāi)P蜕蠈刂扑惴ㄟM行驗證,找到測量傳感器網(wǎng)絡(luò)泄漏靈敏度的方法。應(yīng)用物聯(lián)網(wǎng)監(jiān)控控制供水系統(tǒng),該方法具有客戶端-服務(wù)器架構(gòu),其中傳感器和執(zhí)行器節(jié)點用無線技術(shù)連接,用戶界面(UI)通過網(wǎng)絡(luò)服務(wù)訪問。通過實驗觀察該方案的性能,并對該體系結(jié)構(gòu)作為實時控制系統(tǒng)的可行性進行分析。
實驗?zāi)P褪疽鈭D如圖1所示,圖中標明了傳感器和閥門的編號位置。對應(yīng)的物理水網(wǎng)實驗?zāi)P腿鐖D2所示,主要由聚氯乙烯管組成,帶有可拆卸的連接件,如聯(lián)軸器、三通、彎頭。實驗中水流用手動閥控制,通過調(diào)節(jié)閥門來模擬用戶需求和泄漏情況。水流傳感器安裝在每個節(jié)點的需求或泄漏處,需求節(jié)點和泄漏節(jié)點的水通過三通接頭被引導(dǎo)回供水箱,然后通過DC電泵將其引入水網(wǎng)絡(luò)。
圖1 實驗?zāi)P褪疽鈭D
圖2 實驗?zāi)P?/p>
流量傳感器包含一個轉(zhuǎn)子和一個霍爾傳感器,霍爾傳感器將水流轉(zhuǎn)換成電脈沖,通過精確計時讀取脈沖,可計算出流量。將Atmega 328p作為應(yīng)用MCU(微控制器單元)的單元,改變引腳狀態(tài)來讀取傳感器信號。在網(wǎng)絡(luò)較大情況下,解決方案可擴展,每個傳感器都有一個微控制器,使用ESP8266 Wi-Fi適配器與中央服務(wù)器或網(wǎng)關(guān)通信。在這個實驗性解決方案中,出于成本原因,在使用MCU的情況下,配置多個Atmega 328p,可完成該實驗。
如圖3所示,流量傳感器(YF-S201)的輸出特性范圍為1 L/min~30 L/min。應(yīng)用Q=7.77f-14.860 5的線性近似值,其中f是傳感器產(chǎn)生的方波頻率,Q是以L/h為單位的計算流量。
圖3 流量傳感器特性
使用單個MCU定時器測量連續(xù)脈沖之間的時間。定時器1配置64的預(yù)分頻器,分辨率為4 μs,脈沖頻率可通過下式計算:
式中:fosc是16 MHz的時鐘頻率;N是定時器返回的節(jié)拍數(shù)。
文中為所有傳感器設(shè)置一硬件定時器,通過一個變量為每個軟件定時,并在定時器溢出時遞增。
通過數(shù)字低通濾波器降低測量噪聲,采樣時間Ts=0.1 s,截止頻率fc=10 Hz,對應(yīng)平滑系數(shù)如下所示:通過整數(shù)算法實現(xiàn)濾波器,可以使計算時間更快、采樣速率更高。在這種情況下,平滑系數(shù)為0.875,比較接近計算值。
為了測量水網(wǎng)絡(luò)中的參數(shù),應(yīng)用一個網(wǎng)絡(luò)繪圖應(yīng)用程序,它可以處理來自傳感器的實時數(shù)據(jù),并在地圖上顯示出相應(yīng)數(shù)據(jù)。傳感器連接到無線網(wǎng)關(guān)時,使用原始套接字實現(xiàn)與應(yīng)用服務(wù)器的連接。傳感器將數(shù)據(jù)連同標識符和傳感器的類型一起傳輸?shù)椒?wù)器。用于傳感器的無線網(wǎng)絡(luò)適配器被編程為連接到網(wǎng)關(guān),并具有串口橋的功能,缺點是在傳感器范圍內(nèi)需要一個網(wǎng)關(guān)。該解決方案采用模塊化設(shè)計,通過遠程無線技術(shù),可用于地理位置較偏的遠程傳感器。
水網(wǎng)絡(luò)使用地理信息系統(tǒng)應(yīng)用程序進行數(shù)字化,該應(yīng)用程序符合INSPIRE指令規(guī)范。
文中應(yīng)用ArcGIS來定義地圖的圖層:節(jié)點、管道和傳感器。
圖4為網(wǎng)絡(luò)應(yīng)用前端,應(yīng)用AngularJS編寫,實現(xiàn)導(dǎo)航、視圖和前端邏輯,并將地圖應(yīng)用編程接口集成到應(yīng)用程序中。與其他方法相比,在功能方面提供了更大的靈活性。
圖4 Web應(yīng)用前端
這些函數(shù)庫將按以下順序加載:ArcGIS API、應(yīng)用程序生成的JavaScript文件和ESRI地圖的角度指令,ESRI主題樣式表在應(yīng)用程序樣式表之前加載。在應(yīng)用程序模塊中,加載esri.map。然后,在地圖視圖的控制器中,使用esriLoader加載ESRI模塊:地圖視圖、要素圖層、小部件。根據(jù)生成的地圖定義要素圖層,在此應(yīng)用程序中,包括具有ArcGIS服務(wù)器URL的節(jié)點、管道和流量傳感器圖層。通過應(yīng)用編程接口來檢測用戶對地圖元素的選擇,并請求所選傳感器的實時數(shù)據(jù)和歷史。其中導(dǎo)航、圖表和表格視圖等其他功能都是通過使用JavaScript和AngularJS實現(xiàn)的。實時值通過網(wǎng)絡(luò)套接字從服務(wù)器檢索,時間序列數(shù)據(jù)通過超文本傳輸協(xié)議請求檢索,選擇地圖上的元素,就可以顯示實時傳感器的數(shù)據(jù)和歷史。
后端用Python編寫,實現(xiàn)了無線傳感器網(wǎng)絡(luò)、數(shù)據(jù)庫連接、超文本傳輸協(xié)議和網(wǎng)絡(luò)套接字服務(wù)器。該應(yīng)用程序與ArcGIS和SQL一起運行在服務(wù)器上。Pyhton后端實現(xiàn)超文本傳輸協(xié)議和網(wǎng)絡(luò)套接字服務(wù)器的路由。該應(yīng)用程序用線程來完成主要任務(wù),如從傳感器收集數(shù)據(jù)和控制算法,還使用pyodbc API實現(xiàn)數(shù)據(jù)庫的連接。
傳感器通過傳輸控制協(xié)議消息系統(tǒng)連接到服務(wù)器。傳感器id、類型和數(shù)據(jù)以CSV格式傳輸,并由應(yīng)用程序解析顯示在GUI中,然后存儲到數(shù)據(jù)庫中。
供水系統(tǒng)中的主要問題是控制特定管道或多個管道的輸出流量,首先用測量的流量作為輸入值,然后通過泵的控制算法控制輸出流量達到設(shè)計值??刂破饔脽o線傳感器測量數(shù)據(jù),在應(yīng)用服務(wù)器上實時控制,將輸出值發(fā)送到無線致動器,就可控制泵速達到調(diào)節(jié)流量的目的。
首要目標是找到從泵輸入到傳感器輸出的傳遞函數(shù),以及滿足每個控制目標的算法。文中考慮導(dǎo)致多模型方法的多個場景,控制流量需求節(jié)點(傳感器10)的閥在整個實驗中打開,其它節(jié)點(傳感器3、5、6、9、11)的閥在每種情況下依次打開和關(guān)閉。
監(jiān)測人員可根據(jù)測量參數(shù)選擇最佳控制器。通常選擇對輸出過程估計較精確的模型,或者對模型輸出進行加權(quán)平均。在水網(wǎng)絡(luò)較復(fù)雜的情況下,模型不相互排斥,多個模型在不同場景下輸出相同時,可通過使用控制器輸出的加權(quán)平均值來解決。應(yīng)用式(4)為每個模型計算預(yù)測輸出誤差,在式(5)中使用最小絕對值對誤差進行歸一化,在式(6)中處理誤差為零的特殊情況,式(9)中多模型控制器的輸出是式(8)計算控制器的輸出總和。如果s[k]=0,則選擇隨機控制器。
當網(wǎng)絡(luò)狀態(tài)可以精確測量或估計時,建議通過監(jiān)控網(wǎng)絡(luò)中的流量傳感器來選擇最佳模型。在這種情況下,監(jiān)控程序塊中以測量的流量為使用標準。
用流量差異的靈敏度矩陣來定義泄漏靈敏度,矩陣如(10)式所示,該測量用于可視化泄漏對網(wǎng)絡(luò)流量的影響。
偏導(dǎo)數(shù)代表標稱條件和泄漏情況之間的差異。使用式(11)模擬每個泄漏情況下可獲得的最大值,再通過式(12)對每行的靈敏度矩陣進行歸一化。
考慮2個需求節(jié)點的所有情況,其中1個節(jié)點的閥門保持開啟狀態(tài),另1個節(jié)點的閥門按順序打開,將測量的數(shù)據(jù)與其他情況下獲得的數(shù)據(jù)進行比較。實驗顯示每種情況下最敏感的傳感器,均以較高精度估計了當前的測試場景。該方法也可用于優(yōu)化傳感器的位置,檢測最大泄漏情況。
本文通過實驗?zāi)P蛯崟r監(jiān)控泄漏對水網(wǎng)絡(luò)中流量的影響。為獲得流量差異,打開泄漏節(jié)點(節(jié)點3、6、9、11),關(guān)閉每個閥門,將需求節(jié)點(節(jié)點5、10)的閥門保持在固定位置。記錄每種情況下的測量值,靈敏度矩陣用于顯示網(wǎng)絡(luò)中每個泄漏對測量流量的影響。如圖5所示,歸一化矩陣用紅色表示最高靈敏度,藍色表示最低靈敏度。為生成矩陣,位置(i,j)處的元素表示在節(jié)點j發(fā)生泄漏的情況下,在節(jié)點i中測量的流量差異。對每行進行標準化,即用該行的最大值除以每個元素。使用Matlab函數(shù)stem3繪制圖表。
圖5 泄漏敏感度
識別過程時,考慮多個場景和多模型控制算法。對于每個主動需求節(jié)點,使用實驗方法計算一階模型,在節(jié)點10有單個需求場景,在節(jié)點5、11有額外需求場景。
根據(jù)表1識別的模型調(diào)節(jié)、設(shè)計穿過水網(wǎng)絡(luò)管道流量的控制算法。每個控制器使用閉環(huán)傳遞函數(shù)計算,定義閉環(huán)傳遞函數(shù)時需考慮系統(tǒng)的期望性能。選擇一階傳遞函數(shù)時,將產(chǎn)生一個比例積分控制器。
表1 識別的模型
使用多模型控制器來抑制擾動的實驗結(jié)果如圖6所示,在這種情況下,干擾是由于傳感器5和傳感器11的閥門起閉狀態(tài)變化而產(chǎn)生的。在這種情況下,雖然系統(tǒng)控制器正確識別了模型,但是在更復(fù)雜的場景中,建議使用系統(tǒng)測量狀態(tài)。圖6的上面圖中,顯示參考值和輸出過程;下面圖中,顯示泵命令,且輸入過程是由控制算法生成的。
圖6 抑制干擾
實驗?zāi)P偷慕Y(jié)構(gòu)和垂直布局的不確定性使結(jié)果不如預(yù)期準確,但可通過增加水壓來改善結(jié)果,這將減少整個輸入系統(tǒng)的不確定性,產(chǎn)生更精確的模型。
本文通過集成網(wǎng)絡(luò)框架、開源硬件和ArcGIS的靈活性,建立泵站供水系統(tǒng)的實驗?zāi)P停诿總€管道上安裝流量傳感器,直接測量系統(tǒng)狀態(tài),精確估計控制算法中的模型。水網(wǎng)中壓力和流量的精確控制可以延長管道系統(tǒng)的壽命,有助于節(jié)能。使用控制器輸出的加權(quán)平均值時,可滿足控制系統(tǒng)中多個模型之間平滑過渡的要求。多模型方法可優(yōu)化控制泵信號的控制策略,提高設(shè)備的能量效率和壽命。