徐劍波 廖小文 丁文翰
摘 要:從滿足測土配方施肥項目成果應用和推廣的實際需求出發,利用現有土壤地理信息、肥料數據等大數據,結合作物施肥模型,采用地理信息系統組件開發技術和Modbus 通信協議,開發了以縣為單位的測土配方自動配肥控制系統。初步應用結果表明,該控制系統能有效地管理測土配方施肥項目各項土壤數據和地理空間數據,并在此基礎上實現縣域內針對精確地塊的作物施肥配方和施肥指導推薦,同時能完成現場配制出滿足農民個性化需求的配方肥。
關鍵詞:測土配方施肥;大數據;Modbus
當前,農民在農作物施肥管理上,仍存在很大的盲目性,主要表現在“重視氮肥磷肥,忽視鉀肥微肥”,偏施、濫施現象比較普遍,氮磷鉀肥比例不合理,導致土壤板結、通透性差,嚴重影響農作物產量和品質,而且事實上也造成化肥的浪費和農民自身投入的無效增多[1-3]。要徹底改變這一現狀,最根本的辦法就是推廣實施測土配方施肥技術。為此,農業部、財政部于2005年作出了在全國范圍內開展測土配方施肥技術推廣工作的重大決策,基本覆蓋所有農業縣(場)[4]。因此,研究開發一個新應用推廣的載體變得十分迫切,以便能將施肥配方與農民實際施肥連接成為一個整體,把測土配方施肥技術物化集成,構建從專家、肥料生產企業到測土施肥配方,再到農民個性化配比配方肥完整的流程[5-7]。本研究結合廣東省實際,從滿足測土配方施肥項目成果應用和推廣的實際需求出發,利用現有土壤地理信息、肥料數據等大數據、結合作物施肥模型和信息技術,采用ArcGIS Engine組件開發技術和Modbus RTU通信協議,開發了以縣為單位的測土配方自動配肥控制系統。初步應用表明,該控制系統能夠有效的管理測土配方施肥項目各項數據和土壤地理空間數據,并在此基礎上實現縣域內針對精確地塊的作物施肥配方和施肥指導推薦,同時能夠完成現場配制出滿足農民個性化需求的配方肥[8-11]。
1 系統設計
1.1 總體結構
根據設計的要求,基于Modbus和GIS的自動配肥控制系統采用模塊化和OO(面向對象)的設計思想,系統總體架構分為觸摸屏一體機控制端和配肥機端兩部分。控制端的主要功能是完成地圖的基本操作、地圖的多層顯示和信息查詢、鎮村導航和定位、施肥配方決策推薦、施肥知識瀏覽、Modbus通信、自動配肥控制及系統參數管理等功能;配肥機端的主要功能是接收控制端的信號數據,實現電機控制、下料斗重量控制、肥料混合攪拌等一系列現場配肥機械動作[12-14]。系統的總體架構如圖1所示。
1.2 系統功能設計
基于Modbus和GIS的自動配肥控制系統的功能包括GIS功能、施肥配方、Modbus通信、自動配肥控制、系統參數管理、施肥知識庫及配肥日志7個部分組成(圖2)。
1.3 系統技術路線
系統數據來自廣東省農業廳提供的基礎地理數據以及各縣氮磷鉀土壤采樣數據、專家施肥方案體系,包括:(1)土地利用現狀圖,shapefile格式(包括地塊編號、鎮、村、土地利用類型等);(2)測土配方施肥采樣數據(編號、采樣位置、所屬鎮村、采樣人、采樣日期、采樣地樣類型、堿解氮、有效磷、速效鉀、ph值、有機質);(3)當地作物的配方及施肥方案,提供主要作物測土配方施肥樣例卡;(4)輔助數據,行政區劃圖(面狀圖,精確到鎮、村)、村名點狀圖,行政邊界圖(包括縣界、鎮界、村界)。
利用GIS軟件的地統計分析功能和空間分析功能,對行政區劃圖、土壤圖、土地利用圖等地圖數據和土壤養分采樣點數據進行處理,獲得土壤養分圖、行政區劃圖、居民點等圖層數據,然后將所有的數據導入到Personal GeoDatabase數據庫中,建立系統的地理數據庫??刂贫瞬捎肁rcEngine 組件開發技術,結合C#編程語言,建立測土配方施肥信息系統,并運用Modbus協議RS485接口將系統與自動配肥終端連接,最終通過RTU模式完成自動控制端測土配方數據到自動配肥終端精準配肥的集成[15]。技術路線如圖3所示。
1.4 配方轉換方法及過程
本系統的核心是施肥模型的構建與配方轉換。模型庫是由一些評價和預測模型組成,主要是按已確立的各種特性因子,結合肥料學、土壤學、植物營養學等知識和專家經驗建立的模型。施肥模型主要是實現對指定采樣點(或區域)選定作物種類(包括設定目標產量)條件下,通過對施肥量和施肥配比及時期的運籌,得出最優的施肥配比和施肥方案。每個模型實現時調用數據庫中存儲的相關數據及參數值,并將結果動態返回數據庫和系統,使推理機能做出正確的判斷,同時實現數據庫和模型庫的資源共享。
本系統的配方施肥模型是根據收集到的廣東省耕地肥料總站測土配方施肥項目各個作物研究專家的資料整理而成,目前廣東省已經完成了省內主要農作物的測土配方施肥模型實驗研究,主要有水稻、香蕉、甘蔗、葉菜、龍眼、荔枝、豆角、馬鈴薯、苦瓜、甜玉米、花生、柚子、柑桔橙、茄果及瓜果。在這15種主要農作物的施肥模型中,部分采用目標產量養分平衡法來構建,如水稻、甘蔗;表1為水稻施肥模型。另一部分采用土壤養分豐缺指標來構建,如香蕉、葉菜。根據不同的施肥模型計算出某種作物所需氮、磷、鉀的養分需求量。再通過求多元一次方程組的解,轉換成選擇的原粒對應需要的比例。
2 系統功能實現
本控制系統硬件選用主要是針對配肥終端硬件,包括PLC控制器、變頻控制擴展模塊、電源模塊、稱重傳感器、電機等。
2.1 GIS功能模塊的實現
本系統中GIS功能模塊的實現,是基于ArcEngine控件進行二次開發的,地圖顯示主要是將數據庫中的地理空間數據加載到mxd地圖文檔內,調用MapDocument類的函數將地圖文檔打開,再將地圖文檔內的map對象遍歷加載到MapControl控件進行綁定,最后進行地圖顯示范圍設置。地圖默認以用戶點擊位置為中心進行地圖放大,其他地圖操作如地圖縮小,地圖漫游,采用將toolbar控件綁定到自定義工具條上。
2.2 施肥配方模塊的實現
2.2.1 測土配方推薦 通過設置查詢標識及工具類型來區分鼠標左鍵單擊動作是查詢還是放大,將查詢到的土壤屬性保存到施肥配方類的靜態變量中,再調用類的對應作物配方計算方法來完成肥料計算和建議卡打印。點擊地塊后獲得土壤養分信息,再選擇作物,得到測土配方推薦的施肥建議卡。
2.2.2 現場決策 現場決策的實現流程與測土配方推薦基本一致,只是第一部分改為自主輸入土壤信息數據,而非點擊查詢土壤養分信息,系統在用戶輸入的土壤數據后,跳轉到與測土配方推薦相同的流程。在現場決策界面輸入對應的養分數據后,再選擇作物,得到施肥建議卡。
2.3 Modbus通信模塊的實現
2.3.1 端口初始化 Modbus通訊端口的初始化功能實現,需要先進行端口初始化,并提供端口打開和關閉兩個功能函數來實現控制。初始化時需要設置端口號、波特率、校驗位、數據位、停止位和編碼方式等信息。
2.3.2 報文生成 報文生成,按照Modbus RTU模式報文信息的標準格式,將需要進行的操作數據連同功能碼一起編入單條報文中,生成寫入單條報文,返回長度為13bit,參數為16進制設備號、10進制地址、10進制double型數據。其中功能碼為“10”。
2.3.3 數據傳輸 由于Modbus通信協議有時間限制,不能連續發送信息,因此,在控制數據信息傳輸的過程中,采用隊列的方式將需要寫入PLC控制器中的報文統一放入發送隊列中,再根據需要安裝順序依次傳輸數據。
2.3.4 CRC校驗 本系統是基于Modbus RTU通信模式,因此Modbus信息校驗方面是根據報文數據前幾個部分的數據,采用CRC方式生成報文的CRC校驗碼。
2.4 自動配肥控制模塊的實現
2.4.1 施肥配方轉換 施肥配方轉換是將大配方轉換為原粒使用的實際總量和比例,系統采用從原粒庫中選擇4種肥料原粒進行轉換,具體求解過程采用高斯消元求解。系統先設置勾選的原粒,然后點擊配肥即可自動完成轉換,并將結果顯示在自動配肥界面上。
public static double[] change()
{
inityuanli();//初始化原粒信息
peifangdata[1, 4] = mubiaopeifang[0];
tempdata = new double[4, 5];
for (int t = 0; t < 4; t++)
for (int j = 0; j < 5; j++){
tempdata[t, j] = peifangdata[t, j];
}
result = gaoss(tempdata);//高斯消元求解未知數
if (!panduan(peifangdata, result)){//對求出的轉換結果組合進行近似計算及配方驗算
jinsi(peifangdata, result);
} else{
double N1 = peifangdata[1, 0] * result[0] + peifangdata[1, 1] * result[1] + peifangdata[1, 2] * result[2] + peifangdata[1, 3] * result[3];
}return result;
}
2.4.2 自動配肥 將控制端數據發送給配肥終端PLC控制器,完成現場配肥操作。自動配肥控制界面顯示出測土配方系統轉換后的4種原粒名稱及相應的重量百分比。輸入單包重量和包數,顯示出理論重量值。理論重量值發送到儀表中,作為物料理論目標值。配肥啟動后配肥終端將自動完成現場配肥,并在自動配肥界面上實時顯示配肥過程中顯示出每個料斗的實際值、實際單包重量、包數和單包配肥時間。
2.4.3 實時數據監測 實時配肥數據監測能夠實現在自動配肥界面動態顯示各個原粒漏斗的下料總量和包總量完成狀態,采用計時器控制實時讀取數據到緩沖區,并對緩沖區進行數據處理。
3 系統應用推廣
近年來的測土配方施肥成果應用,已形成了一種類似于“開方抓藥”的固定模式:將農業專家的推薦施肥模型和作物施肥指導意見,用信息化的技術手段集成到施肥信息系統中,農戶根據需要取得相應的作物施肥建議卡,再根據建議自行購買肥料。該模式雖然能對測土配方施肥的應用起到很好的推廣和促進作用,但傳統的不良施肥習慣在一段時期內還難以改變,企業對接農戶渠道不暢,存在技術成果轉化率不高、配方肥到田率不高、體制機制創新不足等現實難題。因此,研究并建立一種新的測土配方成果應用模式,能讓生產企業、經銷商、農民三方受益。同時,測土配方施肥需采取“測土到田、配方到廠、供肥到點、指導到戶”,為農民提供一條龍服務,有效地滿足不同地方、不同種植規??茖W施肥的要求??紤]到目前的傳統復合肥生產方式,大規模滿足個性化的肥料需要有一定的難度,測土配方還需要一個好的應用載體來進行實施。
我們以廣東省各個項目縣為單位,采用3S技術將全省的專家施肥推薦模型與縣區內的耕地單元地理信息集成,建立基于GIS的觸摸屏測土配方施肥模塊,并采用Modbus協議將模塊與智能配肥終端對接,形成一套完整的測土配方自動配肥控制系統,將全省的研究成果應用于指導全省的農業生產,真正實現由施肥技術到農民實際用肥的轉化,這樣的研究將能夠解決目前測土配方施肥應用工作中的大部分難題。本研究利用GIS技術,以Modbus協議為橋梁,以智能配肥機作為硬件平臺,提出一體化的系統總體方案,設計開發界面友好、使用方便、實現用戶通過簡單點擊就能給出針對性強的施肥建議,并能現場配制適用于地塊的個性化肥料自動控制系統,大大簡化用戶學習和使用成本,為測土配方和精確施肥決策工作提供了一種新的工具和方法,也將能夠為廣東省各個測土配方施肥項目縣的成果應用提供一套良好的一體化模式。
4 結語
在當前國內測土配方施肥田間試驗工作取得階段性進展的背景下,本研究立足廣東省的測土配方施肥成果應用推廣高峰期,綜述國內外有關基于GIS的精準施肥、信息技術在測土配方施肥上的應用、施肥決策系統等方面研究的基礎上,針對目前主要的成果應用模式的不足,提出一種可行的成果應用推廣模式,重點研究了通過農業與信息技術的緊密結合,把施肥決策系統和GIS技術以及Modbus通信技術相結合,采用Microsoft Access建立屬性數據庫以及由矢量圖層建立空間數據庫,根據大量試驗數據建立施肥模型,采用 C#語言,以Microsoft .NET Framework為開發環境,在環境中添加GIS組件用于地圖開發,以Modbus通信為橋梁,將信息系統與配肥終端建立連接,最終完成以觸控一體機形式運行的自動配肥控制系統控制端,以及以PLC控制端為核心的配肥終端,實現了從施肥決策配方到現場配制精確比例肥料完善的整套測土配方項目成果應用。
(1)自動配肥控制系統將施肥專家研究成果和農民實際購買肥料及施肥兩個信息不對稱的主體完全技術對接的模式,實現了測土配方施肥信息系統的物化集成;(2)對Modbus通信協議和PLC控制器的研究,將其與GIS技術進行技術整合,實現了基于農田地理信息的精準地塊農作物施肥配方推薦,并能將推薦結果直接發送到配肥終端,進行現場配肥,同時給出作物施肥指導意見卡,從而建立了從農田到作物再到農戶個性化施肥需求和精準配比肥料的直接生產及銷售的完整信息流程;(3)重點研究并實現了Modbus通信中的通信端口檢測,報文數據生成和數據的傳輸校驗,并應用到自動控制系統中完成自動配肥控制和配肥數據實時監測等功能。報文生成的實現是將設備號、設備地址、數據信息和功能碼等數據安裝Modbus RTU傳輸模式的標準格式封裝在單條報文中,一個操作對應一條報文,并將所有要完成某個動作的系列報文放入報文傳輸隊列中,按照隊列的特性進行逐條傳輸;(4)針對系統用戶特性進行了詳細研究,并結合調研情況,進行了系統的需求分析,對測土配方施肥相關的數據進行整理分析,設計并建立了自動控制系統的空間數據庫和屬性數據庫,并針對廣東省主要經濟作物建立了完善的配方施肥模型庫??臻g數據庫的實現是將土壤地塊的各個圖層數據分層組織,設置分級顯示,再將建立的空間數據導入到Personal Database中。(5)依據用戶需求分析和系統應用模式,采用ArcEngine技術、Modbus工業控制技術、PLC控制器技術和C#語言,設計了一套能夠具備地圖展示、查詢,施肥配方推薦功能的控制端系統,實現基于Modbus通信的自動配肥控制功能,為傳統的測土配方施肥信息決策系統補上了重要的一環。通過ArcEngine組件管理地圖空間數據,并實現地圖交互等操作,通過Modbus組織控制系統相關控制信息,生成Modbus RTU標準報文,并通過RS485接口實現將控制端和配肥終端對接,配肥終端PLC控制器接收來自控制端數據并控制終端各個部件工作,完成現場配制配方肥。
本研究基于Modbus和GIS的自動配肥控制系統,取得了預期的設計效果,整套控制系統在配肥實驗車間進行了長達1個月的高頻次、不間斷重復測試,經過漏洞修復完成后,系統中的各個功能模塊均運行穩定,能夠滿足基層農技站或肥料銷售網點的實際使用需求。由于考慮到設備傳輸時可能會因干擾而造成數據獲取的不準確,為了保證數據的正確性做了相應的檢驗措施,造成了數據顯示的滯后性,例如在系統中顯示稱重儀表的數據滯后了約0.3 s。雖然這些顯示方面的不影響機器設備的正常運行以及其他數據的正確性,但還是可以通過研究增強通訊實時性。
參考文獻:
[1] 王鐵文,姜帆.試論測土配方施肥技術的推廣與應用[J].農村實用科技信息,2011(4):9-10.
[2] 羅小娟,馮淑怡,黃挺,等.測土配方施肥項目實施的環境和經濟效果評價[J].華中農業大學學報(社會科學版),2014(01):86-93.
[3] 朱梅梅,林思伽,朱春曉.觸摸屏式施肥專家系統研究與開發[J].現代化農業,2014(1):66-67.
[4] 趙艷萍,馬友華,王強,等.信息技術在測土配方施肥中的運用[J].農民致富之友,2014(6):43.
[5] 唐秀美,趙庚星,路慶斌.基于GIS的縣域耕地測土配方施肥技術研究[J].農業工程學報,2008(7):34-38.
[6] 許鑫,張浩,席磊,等.基于WebGIS的小麥精準施肥決策系統[J].農業工程學報,2011,卷(27):94-98.
[7] 龍騰,王景凱,張楚天,等.基于GIS和RS技術的測土配方施肥系統設計與實現[J].安徽農業科學,2011(28): 17588 -17593.
[8] 任天平,邢文姬,朱曉謙. Modbus在自動檢測系統中的研究及應用[J].煤礦機械,2013(5):273-275.
[9] 張愛絨,謝斌紅,張英俊.基于Modbus協議的煤礦安全監控系統數據集成研究與設計[J].太原理工大學學報, 2011(6):616-621.
[10] 許鑫,張浩,席磊,等.基于WebGIS的小麥精準施肥決策系統[J].農業工程學報,2011(27):94-98.
[11] 吳豪翔,蔣玉根,張鑒滔,等.縣級農田地力分等定級評價與施肥綜合管理[J].農業工程學報,2011(12):307-312.
[12] 姜婷婷,谷海斌,盛建東.基于GIS技術的耕地地力評價研究——以新疆輪臺縣為例[J].新疆農業科學, 2014(2):375-383.
[13] 毛偉,李文西,唐寶國,等.縣級測土配方施肥指標體系建立研究——以江蘇省江都市水稻為例[J].植物營養與肥料學報,2014(2):396-406.
[14] 張月平,張炳寧,田有國,等.縣域耕地資源管理信息系統開發與應用[J].土壤通報,2013(6):1309-1313.
[15] [12] 王筱珍,關艷如.基于Modbus協議的Android端工廠化養殖移動監測軟件[J].測控技術,2014(1):115-121.
作者簡介:
徐劍波(1971-),男,博士,副教授.
基金項目:廣東省廣州市科技計劃 (編 號:201604046004).