周扣明,周志恒,賈 培
(1.南通遠(yuǎn)控自動化技術(shù)有限公司,江蘇 南通226002;2.河海大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇 常州213022;3.海安市水利局,江蘇 海安226600)
我國傳統(tǒng)農(nóng)業(yè)提水泵站的用水計量采用按時計量的方式完成,操作結(jié)果和實際用水量有較大的差異。在江蘇地區(qū),中小型灌區(qū)較多,其中提水泵站數(shù)量眾多且分布較為分散,若各個泵站全部采用人工管理,不僅效率低下,還存在人工成本高、容易出錯的問題,更加難以實時地顯示各個提水泵站的相關(guān)信息,歷史數(shù)據(jù)的查詢也有諸多不便,對泵站的統(tǒng)一管理構(gòu)成巨大阻礙。
無線通信技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)、養(yǎng)殖業(yè)等領(lǐng)域,極大節(jié)省了人工成本[1]?;?G技術(shù)的農(nóng)業(yè)用水監(jiān)測系統(tǒng),可以實現(xiàn)數(shù)據(jù)采集的遠(yuǎn)距離傳輸,使計量終端與服務(wù)器之間建立起可靠的通信,從而保證數(shù)據(jù)的穩(wěn)定傳輸[2-3]。在此設(shè)計一套農(nóng)業(yè)用水監(jiān)測系統(tǒng),實現(xiàn)各站點用水信息的可視化和數(shù)據(jù)管理的智能化。
水文監(jiān)測數(shù)據(jù)通信規(guī)約是由水文局制訂的規(guī)范。其中,針對江河湖海等水文環(huán)境,對各種監(jiān)測監(jiān)控系統(tǒng)中的通信接口及通信協(xié)議作了詳細(xì)規(guī)定,包括監(jiān)測終端與數(shù)據(jù)采集節(jié)點傳感器的接口和通信協(xié)議(數(shù)據(jù)采集通信規(guī)約)、監(jiān)測站與數(shù)據(jù)中心站之間的數(shù)據(jù)通信協(xié)議(報文傳輸規(guī)約)等。該規(guī)約并不詳盡,而僅是規(guī)定出一個框架,具體的內(nèi)容會在框架基礎(chǔ)上進一步填充。
本設(shè)計系統(tǒng)的電流、電壓傳感器采用RS-485通用通信接口。通信協(xié)議采用Modbus-RTU協(xié)議,該協(xié)議的數(shù)據(jù)幀基本格式分成四個部分,分別為頭部地址(1字節(jié))、中間功能代碼(1字節(jié))、數(shù)據(jù)體(不定長)、尾部校驗碼(2字節(jié))。
在此報文幀結(jié)構(gòu)框架基礎(chǔ)上,采用HEX/BCD報文編碼結(jié)構(gòu),選擇適宜的報文正文、要素編碼組合,并確定合適點的單幀報文長度。其中主機接收端亦采用相同的功能碼、編碼要素及標(biāo)識符。所設(shè)計出的具體數(shù)據(jù)幀結(jié)構(gòu)由表1給出。
表1 數(shù)據(jù)幀結(jié)構(gòu)設(shè)計
所設(shè)計的基于水利通信規(guī)約的農(nóng)業(yè)用水監(jiān)測系統(tǒng)由終端監(jiān)測設(shè)備、數(shù)據(jù)通信鏈路和上位機三部分構(gòu)成,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
系統(tǒng)硬件部分主要由數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、顯示模塊和通信模塊組成。數(shù)據(jù)采集模塊主要包括電流、電壓互感器,用于采集提水泵站中水泵狀態(tài)及耗水量;數(shù)據(jù)處理模塊主要采用STM32芯片,用于對采集數(shù)據(jù)進行處理,通過電水轉(zhuǎn)換計算耗水量;顯示模塊包括LCD和LED,以LED顯示水泵工作狀態(tài)等信息,以LCD屏幕顯示耗水量等信息;通信模塊主要用4G模塊實現(xiàn),具有技術(shù)成熟、工作穩(wěn)定、使用方便等優(yōu)點。系統(tǒng)硬件設(shè)計的總體框圖如圖2所示。
圖2 系統(tǒng)硬件框圖
計量終端的程序運行流程按圖3所示設(shè)計。
圖3 計量終端程序運行流程圖
由MCU對各個模塊的初始化函數(shù)進行調(diào)用,判斷芯片內(nèi)是否存儲數(shù)據(jù),若存在數(shù)據(jù)則讀取相關(guān)數(shù)據(jù),并進行替換,若無數(shù)據(jù)則判斷是否觸發(fā)了485接收中斷。當(dāng)請求接收中斷時,終端通過RS485接收服務(wù)器端發(fā)送的數(shù)據(jù),并進行解析和儲存,否則通過數(shù)據(jù)采集模塊獲取水泵數(shù)據(jù)[4-5]。若電流超過閾值,則對相應(yīng)的計時器進行使能操作。電能計量芯片結(jié)合傳感器采集的電壓、電流大小進行電量計算;MCU則根據(jù)耗電量-水量轉(zhuǎn)換法模型進行耗電量-供水量數(shù)值的轉(zhuǎn)換[6]。最終,當(dāng)計數(shù)器的數(shù)值達到了上傳時間間隔,由MCU進行數(shù)據(jù)上傳,否則繼續(xù)執(zhí)行之前各步操作。
各終端設(shè)備通電運行后,對采集到的數(shù)據(jù)進行處理,將耗電量轉(zhuǎn)化為用水量,并以設(shè)計好的數(shù)據(jù)幀及時將結(jié)果發(fā)送給4G模塊。4G模塊將這些數(shù)據(jù)以安全的TCP協(xié)議發(fā)送給服務(wù)器。服務(wù)器接收符合數(shù)據(jù)幀格式并通過CRC校驗的數(shù)據(jù),進行解析,最終將解析的各項信息儲存到數(shù)據(jù)庫中,以便查詢和管理。數(shù)據(jù)的發(fā)送和接收流程圖如圖4所示。
圖4 數(shù)據(jù)發(fā)送與接收流程圖
本監(jiān)測系統(tǒng)在PC端采用B/S架構(gòu)。與C/S架構(gòu)相比,B/S架構(gòu)系統(tǒng)可以在任何地方進行操作而不用安裝任何專門的軟件,用一臺聯(lián)網(wǎng)的電腦就可使用,不用安裝客戶端,免于耗費精力維護,同時注重擴展功能,節(jié)約開發(fā)成本[7]。軟件使用Java語言開發(fā)于IDEA,并采用Mysql數(shù)據(jù)庫,最終搭建起如圖5所示的架構(gòu)[8-9]。
圖5 監(jiān)測系統(tǒng)架構(gòu)示意圖
用戶在客戶端(瀏覽器頁面)提交表單操作,向服務(wù)器發(fā)送請求,等待服務(wù)器響應(yīng)。服務(wù)器端接收并處理請求,對請求進行數(shù)據(jù)處理,產(chǎn)生響應(yīng)[10]。由服務(wù)器端把用戶請求的數(shù)據(jù)(累計時間、流量、水量、瞬時電量等信息)返回給客戶端,在瀏覽器上解析執(zhí)行HTML文件,呈現(xiàn)出用戶界面[11-12]。系統(tǒng)最終可實現(xiàn)的在線監(jiān)測功能及其能顯示的數(shù)據(jù)項如圖6所示。
圖6 系統(tǒng)功能及顯示數(shù)據(jù)項
所設(shè)計系統(tǒng)經(jīng)實際搭建,在江蘇某市某泵站進行試用,對供水進行功能測試。圖7為監(jiān)測設(shè)備現(xiàn)場安裝實物圖。裝置安裝在動力柜附近,方便對水泵電機的電壓電流進行采集。供電來源于配電柜,可通過裝置附近的空氣開關(guān)進行裝置的開關(guān)控制。圖8為系統(tǒng)運行界面,展示了各提水泵站水泵的工作狀態(tài),包括實時耗電量和實時耗水量、累計耗電量、累計工作時間等。經(jīng)實際測試,該套系統(tǒng)高效地實現(xiàn)了對提水泵站實時運行情況的全面監(jiān)控。
圖7 監(jiān)測系統(tǒng)現(xiàn)場安裝實物圖
圖8 監(jiān)測系統(tǒng)運行界面
以江蘇某市農(nóng)業(yè)用水計量存在的問題為研究背景,設(shè)計并實現(xiàn)一套基于水利通信規(guī)約的農(nóng)業(yè)用水監(jiān)測系統(tǒng),借助于傳感器、微機處理及4G遠(yuǎn)程無線通信技術(shù),實現(xiàn)泵站供水量的實時監(jiān)測。系統(tǒng)在常規(guī)聯(lián)網(wǎng)的PC機上通過瀏覽器即可實現(xiàn)功能,在正式工作中所收集到的海量數(shù)據(jù),可為農(nóng)業(yè)大數(shù)據(jù)研究提供支持,提高農(nóng)田水利智能化,在現(xiàn)代化農(nóng)業(yè)中具有良好的實際意義和應(yīng)用前景。