金文忻,金榆川,鄧玉超,郭笑添,馬恩慶
(江蘇農(nóng)林職業(yè)技術(shù)學(xué)院,江蘇句容 212400)
我國水資源總量和人均用水量不足,水資源分布不均勻[1]。在此背景下,發(fā)展設(shè)施農(nóng)業(yè)和水肥一體化灌溉技術(shù)是實(shí)現(xiàn)鄉(xiāng)村振興戰(zhàn)略的一項(xiàng)重要技術(shù),提高水資源利用率、增加水肥灌溉效率顯得尤為重要[2]。目前應(yīng)用的水肥灌溉信息采集系統(tǒng)的采集參數(shù)大部分比較單一,無法滿足實(shí)際的生產(chǎn)需要,不能全面的反映出農(nóng)業(yè)生產(chǎn)的實(shí)際情況。本文通過聯(lián)系實(shí)際生產(chǎn),基于LabVIEW軟件設(shè)計(jì)了一款能夠?qū)λ示抗喔刃畔⑦M(jìn)行遠(yuǎn)程采集的系統(tǒng),通過虛擬儀器對(duì)水肥灌溉情況和植物生長(zhǎng)的環(huán)境參數(shù)進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)。結(jié)果表明,通過使用本系統(tǒng)可以有效地提高水肥灌溉效率、節(jié)省水肥資源和提高農(nóng)業(yè)生產(chǎn)水平,具有較高的實(shí)際運(yùn)用價(jià)值。
本文通過調(diào)研水肥一體化灌溉設(shè)備的發(fā)展現(xiàn)狀和江蘇省農(nóng)博園實(shí)際生產(chǎn)需求,設(shè)計(jì)了一款能夠遠(yuǎn)程對(duì)水肥灌溉數(shù)據(jù)環(huán)境參數(shù)等多位參數(shù)進(jìn)行全面實(shí)時(shí)監(jiān)測(cè)的系統(tǒng)[3-4]。本系統(tǒng)通過LabVIEW軟件搭建上位機(jī),用于顯示和處理數(shù)據(jù),通過信號(hào)采集卡對(duì)傳感器信號(hào)進(jìn)行調(diào)理和上傳[5-6]。系統(tǒng)主要采集了環(huán)境溫度、空氣濕度、土壤濕度、光照強(qiáng)度、二氧化碳濃度和水肥pH值、水肥EC值、水肥流量等多種參數(shù)。系統(tǒng)主要由信號(hào)采集模塊、數(shù)據(jù)處理模塊和虛擬儀器面板三大部分組成。信號(hào)采集模塊采集模擬量或數(shù)字量信號(hào)后,通過數(shù)據(jù)處理模塊進(jìn)行信號(hào)調(diào)理,最后通過驅(qū)動(dòng)軟件傳遞到虛擬儀器面板,從而實(shí)現(xiàn)顯示輸出、報(bào)警輸出、控制輸出、存儲(chǔ)輸出和參數(shù)輸入等具體功能。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)主要由信號(hào)采集末端、信號(hào)調(diào)理模塊和虛擬儀器面板構(gòu)成。具體來說,主要由傳感器電路和通信電路構(gòu)成,傳感器電路主要由溫度傳感器、濕度傳感器、光照傳感器、二氧化碳濃度傳感器、土壤濕度傳感器、流量傳感器、電導(dǎo)率傳感器和pH值傳感器等構(gòu)成。通信電路則主要負(fù)責(zé)將傳感器與信號(hào)調(diào)理模塊進(jìn)行實(shí)時(shí)通信。其功能主要是利用傳感器采集各種類型的參數(shù),并將采集到的模擬信號(hào)或數(shù)字信號(hào)傳遞至信號(hào)采集卡;信號(hào)調(diào)理模塊主要由一塊信號(hào)采集卡構(gòu)成,通過信號(hào)采集卡對(duì)信號(hào)采集末端上傳的數(shù)據(jù)進(jìn)行放大、濾波、轉(zhuǎn)換和調(diào)制解調(diào)等一系列調(diào)理操作,最后通過USB端口數(shù)據(jù)傳遞至上位機(jī);虛擬儀器面板通過LabVIEW軟件設(shè)計(jì),主要有數(shù)據(jù)顯示、數(shù)據(jù)處理、數(shù)據(jù)分析與報(bào)警、數(shù)據(jù)存儲(chǔ)和遠(yuǎn)程使用等功能。
本文根據(jù)實(shí)際生產(chǎn)需要,選擇了合適的傳感器以及與LabVIEW軟件兼容性更強(qiáng)的NI USB信號(hào)采集卡,信號(hào)采集卡內(nèi)部封裝了2.3KB RAM和16KB Flash的Silicon Labs C8051F320芯片以及一塊ADS7871模數(shù)轉(zhuǎn)換芯片。虛擬儀器面板主要完成數(shù)據(jù)的實(shí)時(shí)顯示、采集、存儲(chǔ)與分析等功能。主要包括驅(qū)動(dòng)和通信模塊、數(shù)據(jù)處理模塊與數(shù)據(jù)顯示模塊等。驅(qū)動(dòng)和通信模塊主要負(fù)責(zé)上位機(jī)對(duì)采集卡的驅(qū)動(dòng)以及同信號(hào)采集卡對(duì)調(diào)理后的信號(hào)進(jìn)行通信。數(shù)據(jù)處理模塊主要負(fù)責(zé)數(shù)據(jù)進(jìn)行離線存儲(chǔ),可以將信號(hào)以EXCEL文件格式保存,同時(shí),可以對(duì)數(shù)據(jù)的實(shí)時(shí)監(jiān)督,判斷實(shí)時(shí)數(shù)據(jù)是否超過設(shè)定閾值。數(shù)據(jù)顯示模塊從采集模塊接收數(shù)據(jù)進(jìn)行實(shí)時(shí)顯示至前端用戶界面,同時(shí)接收采集模塊傳遞的報(bào)警信息進(jìn)行顯示。
圖2 硬件系統(tǒng)
硬件層主要由各傳感器、信號(hào)采集卡和上位機(jī)三大部分組成。硬件層主要負(fù)責(zé)數(shù)據(jù)的物理通訊,由前端傳感器采集到環(huán)境信號(hào)通過RSE或差分模式傳遞到信號(hào)采集卡,信號(hào)采集卡將信號(hào)進(jìn)行濾波、放大等調(diào)理操作,整合成計(jì)算機(jī)可以識(shí)別的數(shù)據(jù)通過USB端口傳遞給上位機(jī),由上位機(jī)進(jìn)行識(shí)別后的分析、顯示和存儲(chǔ)等進(jìn)一步操作。數(shù)據(jù)層主要由環(huán)境參數(shù)信號(hào)、調(diào)理后的數(shù)據(jù)、數(shù)據(jù)采集卡驅(qū)動(dòng)軟件、DAQ助手等部分構(gòu)成。環(huán)境參數(shù)信號(hào)經(jīng)信號(hào)采集卡調(diào)理后變?yōu)樯衔粰C(jī)能夠識(shí)別的數(shù)據(jù),通過信號(hào)采集卡驅(qū)動(dòng)軟件傳遞到DAQ助手,最后再經(jīng)過DAQ助手傳遞到上位機(jī)中,由系統(tǒng)對(duì)其進(jìn)行加工。硬件結(jié)構(gòu)如圖3所示。
圖3 硬件結(jié)構(gòu)
硬件安裝主要是傳感器與信號(hào)采集卡以及信號(hào)采集卡至上位機(jī)的連接。本文中傳感器大部分以模擬量—單端輸入為主,在接線時(shí)需要注意傳感器信號(hào)端接線應(yīng)與分配的引腳對(duì)應(yīng)。后續(xù)在軟件內(nèi)分配信號(hào)采集通道時(shí),也需要根據(jù)此時(shí)分配的引腳情況對(duì)系統(tǒng)進(jìn)行進(jìn)一步設(shè)置。傳感器與信號(hào)采集卡的供電需要單獨(dú)設(shè)置,因本文涉及多款傳感器,各傳感器的工作電壓不同,所以在配置傳感器與信號(hào)采集卡電源時(shí)應(yīng)注意將工作條件相同的設(shè)備分為一組進(jìn)行供電。信號(hào)采集卡與計(jì)算機(jī)之間的通信主要是由信號(hào)采集卡上的USB連接器通過USB線連接至計(jì)算機(jī),將USB線的一端連接信號(hào)采集卡,另一端連接計(jì)算機(jī)的USB端口。
虛擬儀器技術(shù)突破了隨著科技的不斷發(fā)展,傳統(tǒng)儀器設(shè)備不能滿足實(shí)際應(yīng)用需要的限制。通過利用計(jì)算機(jī)硬件資源和專一開發(fā)的VI設(shè)計(jì)編程軟件,構(gòu)成一套完整的、含有數(shù)據(jù)處理、數(shù)據(jù)通信的系統(tǒng)[7]。本文選用LabVIEW軟件搭建虛擬儀器。LabVIEW自帶各類圖表輸出插件,可以直觀地看到采集到的實(shí)時(shí)數(shù)據(jù)變化,不需要開發(fā)人員對(duì)圖表輸出功能進(jìn)行二次開發(fā)。除此之外,配合LabVIEW內(nèi)部封裝的Web Server組件,還可以實(shí)現(xiàn)基于Internet的數(shù)據(jù)采集和傳輸[8-9]。
本文分別對(duì)土壤濕度、環(huán)境溫度、二氧化碳濃度、水肥EC值、水肥流速、光照度、水肥pH值、環(huán)境濕度等8個(gè)生產(chǎn)環(huán)境要素分別進(jìn)行數(shù)據(jù)采集,在操作界面配置了實(shí)時(shí)數(shù)據(jù)顯示模塊、閾值設(shè)置模塊和報(bào)警模塊,控制按鈕可以停止當(dāng)前進(jìn)行的數(shù)據(jù)采集操作,并且系統(tǒng)預(yù)留了閾值設(shè)置窗口,用戶可以通過實(shí)際情況設(shè)置報(bào)警閾值。采集過程中,系統(tǒng)能夠?qū)?shí)時(shí)數(shù)據(jù)自動(dòng)存儲(chǔ)到指定文件夾,方便用于進(jìn)一步分析。
系統(tǒng)的最終使用者是用戶,作為一款需要用戶長(zhǎng)時(shí)間操作的系統(tǒng),人性化、友好的操作界面非常重要。前端面板的設(shè)計(jì)主要是以集成各種功能的Main函數(shù)為基礎(chǔ),在此基礎(chǔ)上針對(duì)采集系統(tǒng)的各參數(shù)采集模塊進(jìn)行分別設(shè)計(jì)。根據(jù)系統(tǒng)設(shè)計(jì)邏輯,打開用戶操作界面,在Main函數(shù)上對(duì)各個(gè)功能模塊進(jìn)行調(diào)用。能夠直接在用戶面前顯示的函數(shù)就是Main函數(shù),因此在設(shè)計(jì)用戶操作面板時(shí)需要著重對(duì)主頁面進(jìn)行美化。針對(duì)不同的信息模塊,程序根據(jù)其數(shù)據(jù)特點(diǎn)進(jìn)行顯示功能定制,以溫度信息采集模塊為例,主面板可以顯示當(dāng)前系統(tǒng)時(shí)間和實(shí)時(shí)溫度數(shù)據(jù)。同時(shí)程序設(shè)計(jì)閾值設(shè)置窗口,用戶可以根據(jù)生產(chǎn)需要設(shè)置系統(tǒng)閾值,當(dāng)傳感器采集到的數(shù)據(jù)超出閾值范圍之內(nèi)后,右側(cè)報(bào)警燈會(huì)亮起,以此提示用戶對(duì)環(huán)境進(jìn)行相應(yīng)操作?!巴V共杉卑粹o可以立即結(jié)束當(dāng)前程序運(yùn)行。程序中還可以顯示歷史數(shù)據(jù),在選項(xiàng)卡按鈕中,點(diǎn)擊“歷史數(shù)據(jù)”選項(xiàng)按鈕,就可查看歷史數(shù)據(jù)信息。同時(shí)設(shè)置歷史數(shù)據(jù)選項(xiàng)卡頁面,該面板配置一塊波形圖表,用于顯示采集到的歷史數(shù)據(jù),圖表x軸為時(shí)間,y軸為溫度數(shù)據(jù)。
圖4 人機(jī)交互界面
在上位機(jī)軟件環(huán)境中需要對(duì)各個(gè)傳感器采集到的模擬信號(hào)通過轉(zhuǎn)換后傳遞至上位機(jī)中,系統(tǒng)通過DAQ助手實(shí)現(xiàn)。DAQ助手有兩種編程方法,一是直接對(duì)DAQ助手進(jìn)行配置、編程,最后轉(zhuǎn)換成DAQmx代碼。這種方法操作簡(jiǎn)單,邏輯清晰,這種方法操作難度小,但使用起來不夠靈活,采樣率、采樣數(shù)等一些列信息采集卡參數(shù)在程序運(yùn)行過程中難以修改。第二種方法是直接將DAQ助手轉(zhuǎn)換成DAQ函數(shù),然后在DAQ函數(shù)中進(jìn)行程序編寫。這種方法可以根據(jù)實(shí)際生產(chǎn)需要靈活修改DAQ助手的各項(xiàng)參數(shù)。本文選用第二種方法對(duì)程序進(jìn)行編寫,可以靈活使用信號(hào)采集卡中的采集通道函數(shù)、定時(shí)函數(shù)、開始任務(wù)函數(shù)、清除任務(wù)函數(shù)等。在DAQ助手的配置中,可以根據(jù)傳感器的技術(shù)參數(shù)對(duì)其進(jìn)行輸出轉(zhuǎn)換,同時(shí),采集通道的配置需要根據(jù)傳感器與信號(hào)采集卡的實(shí)際接線情況分配。末端模擬量傳感器將采集到的信號(hào)傳遞到采集卡,經(jīng)過采集卡放大、濾波、轉(zhuǎn)換等一系列調(diào)理操作后,傳遞到的上位機(jī)的數(shù)據(jù)還不能直接作為輸出數(shù)據(jù),還需要對(duì)其進(jìn)行轉(zhuǎn)化計(jì)算。系統(tǒng)后面板部分程序如圖5所示。
圖5 后面板部分框圖
系統(tǒng)選用LabVIEW軟件中的“Web發(fā)布”工具實(shí)現(xiàn)采集系統(tǒng)的遠(yuǎn)程使用。將本地計(jì)算機(jī)作為服務(wù)器,配置網(wǎng)頁客戶端,用戶在外網(wǎng)使用時(shí),通過訪問主機(jī)服務(wù)器實(shí)現(xiàn)遠(yuǎn)程控制。不需要對(duì)系統(tǒng)進(jìn)行額外編程,降低了系統(tǒng)維護(hù)和使用難度。菜單欄“工具”選項(xiàng)卡中找到“Web發(fā)布”工具,首先配置本地服務(wù)器,選擇VI程序。查看模式中“快照”和“顯示器”兩種模式只能顯示當(dāng)前屏幕畫面,不能實(shí)時(shí)更新和控制操作,因此系統(tǒng)選擇“內(nèi)嵌”模式?!皟?nèi)嵌”模式能夠?qū)Σ杉到y(tǒng)進(jìn)行實(shí)時(shí)顯示,同時(shí),在申請(qǐng)權(quán)限的情況下還可以實(shí)時(shí)控制采集系統(tǒng)。注意,首次配置時(shí)應(yīng)先“啟動(dòng)Web服務(wù)器”,同時(shí)勾選下方“連接建立時(shí)提交控制請(qǐng)求”,單擊“下一步”直至配置完成后生成URL地址。本系統(tǒng)生成的地址為:http://Jinyc-Personal-Work-Station:8000/main.html,其中“Jinyc-Personal-Work-Station”為本機(jī)名稱。推薦使用IE瀏覽器對(duì)其進(jìn)行訪問,其他瀏覽器大多不支持加載VI面板的插件。當(dāng)用戶在外網(wǎng)對(duì)該系統(tǒng)進(jìn)行訪問控制操作時(shí),需要對(duì)其進(jìn)行內(nèi)網(wǎng)穿透操作,從外網(wǎng)網(wǎng)絡(luò)客戶端對(duì)本地服務(wù)器進(jìn)行映射,映射完成后即可進(jìn)行相應(yīng)操作。常用的IP映射方法主要是通過nat123或者花生殼軟件實(shí)現(xiàn)。Web發(fā)布服務(wù)器配置如圖6所示。
圖6 Web發(fā)布配置
在真正將系統(tǒng)投入實(shí)際使用之前,需要搭建一個(gè)模擬的仿真環(huán)境。本文在系統(tǒng)程序設(shè)計(jì)完成后,利用另一塊虛擬信號(hào)采集卡生成虛擬信號(hào),虛擬信號(hào)生成器將波形數(shù)據(jù)傳輸至虛擬信號(hào)采集卡的輸出通道,通過本系統(tǒng)對(duì)其進(jìn)行采集,最后能夠接近真實(shí)的模擬系統(tǒng)運(yùn)行的過程。完成仿真環(huán)境搭建和軟件相關(guān)配置后,需要對(duì)程序進(jìn)行仿真運(yùn)行測(cè)試。以溫度采集模塊為例,配置好仿真環(huán)境后,系統(tǒng)自動(dòng)采集數(shù)據(jù),如圖7所示。系統(tǒng)高溫閾值設(shè)置為35℃,當(dāng)前測(cè)試溫度為41℃,系統(tǒng)高溫報(bào)警燈亮起提示用戶。
圖7 仿真運(yùn)行測(cè)試
在完成本地仿真運(yùn)行測(cè)試后,還需要對(duì)進(jìn)行遠(yuǎn)程使用測(cè)試。在使用網(wǎng)絡(luò)客戶端訪問系統(tǒng)之前,需要在本地服務(wù)器上對(duì)操作系統(tǒng)進(jìn)行Web發(fā)布,并且保持系統(tǒng)在本地服務(wù)器上處于打開狀態(tài),遠(yuǎn)程使用界面如圖8所示[10]。設(shè)置完成后,通過訪問本地服務(wù)器生成的地址即可實(shí)現(xiàn)對(duì)系統(tǒng)的控制。測(cè)試結(jié)果表明,遠(yuǎn)程使用功能可以達(dá)到預(yù)期效果,能夠滿足實(shí)際使用需要。
圖8 遠(yuǎn)程使用操作面板
本文基于LabView編程軟件設(shè)計(jì)了一款遠(yuǎn)程、實(shí)時(shí)的水肥灌溉信息采集系統(tǒng)。通過本系統(tǒng)可以實(shí)現(xiàn)針對(duì)二氧化碳濃度、水肥流量、水肥EC值、水肥pH值、環(huán)境溫濕度、土壤濕度、環(huán)境光照等要素的實(shí)時(shí)監(jiān)控的信息采集系統(tǒng)。同時(shí)系統(tǒng)還具有自動(dòng)保存歷史數(shù)據(jù)、異常報(bào)警和遠(yuǎn)程訪問等功能,能夠滿足用戶實(shí)際生產(chǎn)的基本需要。利用信號(hào)采集卡對(duì)傳感器信號(hào)進(jìn)行調(diào)理和傳遞,便于安裝使用。通過本系統(tǒng)可以有效地降低系統(tǒng)安裝難度和提高水肥利用效率。