王園園, 張娜
(商洛學院 電子信息與電氣工程學院, 商洛 726000)
我國禽畜養(yǎng)殖數(shù)量居于世界前列,但市場競爭力較弱,我國的養(yǎng)殖業(yè)正向規(guī)模化和標準化轉(zhuǎn)變。影響?zhàn)B殖業(yè)的因素有很多,其中環(huán)境因素比重高達30%,環(huán)境因素包括溫度、濕度、光照、氨氣濃度、二氧化碳濃度等,環(huán)境因素的不穩(wěn)定嚴重影響動物的生長、發(fā)育以及疫病。如果單純依靠傳統(tǒng)人力檢測環(huán)境,無法達到規(guī)?;酿B(yǎng)殖目的[1、2]。利用物聯(lián)網(wǎng)的概念,利用傳感器自動采集養(yǎng)殖場的環(huán)境參數(shù),并設置上位機通過遠程軟件檢測控制養(yǎng)殖場環(huán)境,設計相關指標進行養(yǎng)殖場環(huán)境控制,可以很好的解決這一問題。
整個系統(tǒng)包括系統(tǒng)包括網(wǎng)絡用戶界面、計算機上位機控制界面和硬件系統(tǒng)。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
硬件部分包括環(huán)境參數(shù)采集和繼電器控制兩個模塊,其中環(huán)境參數(shù)采集部分,參考《中國農(nóng)牧家禽行業(yè)智慧養(yǎng)殖白皮書》,選擇對養(yǎng)殖環(huán)境影響最大的溫濕度、二氧化碳濃度、氨氣濃度、光照強度等參數(shù),為控制糞便清理裝置,另對糞便進行稱重。采集的結(jié)果通過串口通信傳輸給計算機,計算機中利用LabVIEW程序設計上位機進行環(huán)境參數(shù)的讀取并進行顯示,根據(jù)飼養(yǎng)環(huán)境的要求設置參數(shù),設置報警系統(tǒng),當環(huán)境參數(shù)超過預先設定的范圍時,通過串口給單片機傳遞信息,進而控制繼電器來打開相應的執(zhí)行機構(gòu)(日光燈、風機、遮光簾、噴淋器、處分裝置等),來進行相應的參數(shù)的補償,直到該參數(shù)恢復到規(guī)定的范圍內(nèi),則停止該執(zhí)行機構(gòu)的運行。
圖1 系統(tǒng)結(jié)構(gòu)框圖
通過LabVIEW的WEB發(fā)布工具將上位機程序進行網(wǎng)絡發(fā)布,用戶可以通過網(wǎng)絡登錄用戶登錄界面,實現(xiàn)遠距離的飼養(yǎng)環(huán)境監(jiān)控。
系統(tǒng)硬件部分以單片機為核心,實現(xiàn)對養(yǎng)殖設備的控制。系統(tǒng)硬件部分由數(shù)據(jù)采集模塊、自動控制系統(tǒng)和通信接口三部分組成。其中數(shù)據(jù)采集模塊能進行養(yǎng)殖場內(nèi)溫濕度、氨氣、二氧化碳濃度的采集,采集的結(jié)果傳輸給控制模塊,控制模塊進行數(shù)據(jù)變換后通過通信模塊傳輸給計算機。計算機中上位機進行數(shù)據(jù)分析后返回控制信息給單片機,單片機控制繼電器進行養(yǎng)殖場環(huán)境的自動調(diào)節(jié)(加熱器、排氣扇、噴水設備等),為動物提供良好的生活環(huán)境。硬件部分設置了控制鍵盤和報警系統(tǒng),控制鍵盤可在脫離上位機的情況下進行參數(shù)設置,報警系統(tǒng)課在加熱器、通風窗等設備失效時進行報警。硬件電路結(jié)構(gòu)圖如圖2所示。
圖2 硬件電路結(jié)構(gòu)圖
在單片機程序設計中關于硬件系統(tǒng)與計算機的通信部分,采用系采用主機查詢方式,符合標準 MODBUS 協(xié)議(RTU 方式),變送器應答的主從方式查詢,字節(jié)格式 8 位數(shù)據(jù)位,無校驗,1 位停止位,波特率9 600。例將溫度值設置對地址位 01(對應變送器 7 位撥碼開為0000001)的變送器直接查詢,在串口調(diào)試程序中進行如上通訊設置后輸入:010300000002C40B即可。
LabVIEW利用圖像化編程語言,在控制界面設計等方面應用廣泛。系統(tǒng)通過LabVIEW軟件將實際養(yǎng)殖環(huán)境與網(wǎng)絡進行連接。系統(tǒng)通信部分利用VISA進行數(shù)據(jù)采集時[3-4]。先對串口參數(shù)進行初始化設置,并進行與下位機的通信程序的加載,因計算機與變送器進行的是交互式通信,故向串口寫入數(shù)據(jù),通過延遲程序等待變送器的數(shù)據(jù)應答,讀取數(shù)據(jù),為實現(xiàn)數(shù)據(jù)的實時采集,設置while循環(huán),循環(huán)結(jié)束后停止數(shù)據(jù)采集。軟件平臺主要實現(xiàn)環(huán)境參數(shù)采集、參控控制調(diào)節(jié)等功能。
以溫濕度采集控制為例,打開溫度采集按鈕,根據(jù)實際情況通過面板中的控制旋鈕設置溫度的最高限和最低限,開始采集溫度,前面板顯示溫度實時曲線,并在超出警告范圍時,進行報警,并通過串口給單片機發(fā)送信息進行溫度控制。變送器按照命令返回的數(shù)據(jù)是字符串格式,如果采集到的字符串為:01030400730311C40B,則溫濕度的有效數(shù)據(jù)為:0073。本程序采用提取字符串函數(shù),提取從第三字節(jié)開始長度為兩個字節(jié)的子字符串。將其轉(zhuǎn)化為十進制數(shù)組,再從數(shù)組中提取溫度數(shù)據(jù):115,對其進行處理轉(zhuǎn)換為溫度數(shù)據(jù):11.5。溫濕度信號采集后面板如圖3所示。
養(yǎng)殖檢測系統(tǒng)前面板如圖4所示。
圖3 溫濕度檢測程序
智能養(yǎng)殖監(jiān)控界面是基于軟件平臺搭建的,因此,從網(wǎng)上登錄監(jiān)控界面是通過Internet登錄相關服務器,從而對軟件平臺的調(diào)用。傳統(tǒng)方式使在辦公室和養(yǎng)殖場的電腦上各寫一個程序,通過TPC/IP等協(xié)議在兩臺電腦上傳遞數(shù)據(jù)。開發(fā)這樣的程序使比較繁瑣的。LabVIEW提供了非常的簡便的方式,可以輕松控制遠程計算機上的程序。常用的由遠程前面板和WEB發(fā)布[5]。遠程前面板要求服務器和客戶端都必須安裝相同版本的LabVIEW開發(fā)軟件,而WEB發(fā)布功能可以讓一臺計算機像瀏覽網(wǎng)頁一樣查看和控制運行在另一臺計算機上的VI。
首先在服務器上,選擇LabVIEW“工具→WEB發(fā)布工具”菜單項,在彈出的“WEB發(fā)布工具”的配置對話框上選取需要發(fā)布的VI,并啟動WEB服務器,然后按照提示生成一個WEB發(fā)布的VI,LabVIEW為這個VI生成一個html文件,放置在WEB服務器的根目錄下[6-7]。只要網(wǎng)絡上的其他計算機打開網(wǎng)頁瀏覽器,輸入作為WEB服務器的計算機名或IP地址即可進行訪問。WEB服務提供出來的功能使運行在服務器上的,在使用WEB服務時,客戶機把需要調(diào)用的功能,所需要的參數(shù)傳遞給服務器,服務器對其進行處理后把運行功能得到的結(jié)果再返回給客戶機。
測試結(jié)果表明,可通過Web瀏覽器鏈接到LabVIEW應用程序,實現(xiàn)PC與單片機控制板之間便捷的串口通訊,在網(wǎng)頁上對單片機控制板所模擬的養(yǎng)殖設備進行遠程的監(jiān)測和控制。該系統(tǒng)同樣適用于其他需進行環(huán)境檢測的系統(tǒng)。