程怡安 王忠慶 程怡垣 沈 喆 趙祺婷
(1.中北大學信息商務學院,山西 晉中 030600;2.中北大學計算機與控制工程學院,山西 太原 030051)
中國是14億人口的大國,隨著人們生活水平的不斷提高,人們對美食的追求也越來越高,作為美食中不可或缺的豬肉也越來越受人們的喜愛;作為世界人口大國,我國也是世界上最大的豬肉生產和消費大國。現在隨著中國產業化的不斷集中,大量的人才與資金投入到規?;B豬業的發展計劃中,中國養豬業的整體技術水平在不斷提高,養豬業的生產力也得到很大的發展。
由于規?;B豬所消耗的資源比較大,而母豬智能化控制系統從自動上料到自動飼喂,以及到母豬數據的采集與統計,都是由計算機來處理,相比之前的人力勞動,不僅減少了統計數據的誤差,而且還節省了大量的人力物力,同時也節約了大量的環境資源,大大減少了環境的負擔[1]。
綜上所述,母豬飼喂控制系統的應用必然會促進中國養豬業生產力的飛速發展,進而給中國養豬農戶帶來巨大的經濟效益。
母豬飼喂控制系統主要由上位機系統與下位機系統組成。上位機系統是由應用程序與數據庫組成。應用程序用于實現人機對話、自動飼喂、數據存儲以及處理、母豬異常報警等功能;數據庫是用來存儲數據,方便管理人員對數據進行查詢與備份。下位機系統由RFID模塊、ZigBee無線通信模塊、控制模塊等組成,實現母豬耳標的自動識別、門控開關的控制、自動下料的控制等[2]。

圖1 系統模塊的功能圖
圖2為硬件系統的功能框圖。

圖2 硬件系統的功能框圖
當母豬經過門口時經常會發生拱門事件,系統根據讀取到的母豬信息來判斷該豬是否應該進食。如果應該進食,ARM9控制直流電機正轉,打開門鎖,母豬進入飼喂區域,當門達到開門限位后,自動關門,達到關門限位后,電機反轉鎖門;如果母豬不應該進食,則不做任何動作,直到下一次讀取母豬信息開始[3]。

圖3 門控開關的控制流程圖
飼喂電機的控制是本系統中非常重要的一部分,直接關系到母豬的飼喂及營養問題。飼喂器中的存料是根據母豬的生理及營養狀況,存有A料和B料兩種營養飼料。當閱讀器將讀取到母豬電子耳標的電子編碼與服務器數據庫所存儲該母豬的生理指標進行比對提取,通過系統設定的公式計算出下料的多少、進食的時間、A料還是B料等進食的具體參數來做出判斷。然后通過ARM9主控板對飼喂器下料模塊中的步進電機進行控制。若下A料,則控制步進電機A轉動,若為B料,則控制電機B轉動[4]。下料的數量通過制定步進電機的步距角和步數來精確控制,下料的時間則通過步進電機的轉速來控制。在下料過程中,每15秒閱讀器就要讀取一次電子耳標,以檢測母豬是否仍在進食,若檢測不到,則判定母豬已離開,飼喂器不再下料,電機停止轉動。若母豬始終在進食,則下料完畢后,電機停止轉動,進入等待階段。飼喂器的母豬飼喂軟件控制流程圖4所示。

圖4 飼喂電機控制流程圖
母豬進食完畢后進入分離器通道,通道中同樣裝有閱讀器,上位機系統判斷該電子編碼對應的母豬是否正常,若正常,則控制分離門電機正轉,門向左開通向大群;若不正常,則噴墨后,電機反轉,門開向隔離區[5]。控制流程圖如圖5所示。

圖5 分離門電機控制
在ARM9接收到監控終端采集的數據后,ARM9在對數據處理后通過串口通信將數據發送到ZigBee無線模塊,由ZigBee無線網絡負責將數據發送給上位機系統,進行數據傳輸時,優先使用數據透明方式發送數據[6]。
程序的具體流程是:首先是初始化操作,初始化操作包括串口初始化、創建數據監聽線程、數據處理線程、收發數據的初始化和ZigBee數據透明傳輸初始化;然后程序循環往復監測判斷有無接數據到達,若有數據到達,調用接收數據包的子函數接收數據;若沒有數據到達,就判斷當前是否需要發送數據,若需要發送數據,則調用發送數據的子函數來進行發送,不發送數據則進入最初的監聽狀態。
ZigBee無線模塊的工作流程:首先進入應用層,在應用層中UART串口與ZigBee無線收發接口都在等待有可能接收到的數據,兩者都處于等待狀態,如果等待超時,UART串口與ZigBee無線收發接口二者均進入睡眠模式,系統會通過休眠計時器喚醒和串口中斷喚醒兩種方式來喚醒ZigBee無線模塊和UART串口[7]。工作流程圖如圖6所示。

圖6 ZigBee串口通信流程圖
通過上位機中友好的人機見面來保存和處理養豬場所有母豬的信息,并且通過上位機可以直接控制下位機系統的工作,進而達到飼喂的數字化與智能化,并根據母豬的身體情況及時作出科學的管理[8]。通過對養豬場的管理人員養殖經驗來分析,本系統上位機應該具有以下主要功能:母豬數據信息的采集功能,數據信息的統計與分析功能,與下位機之間的通信等功能,并可根據母豬的具體情況適當調整系統的部分參數。
本系統軟件整體結構按功能可劃分為六大模塊:飼喂管理模塊,發情檢測模塊,防疫與疾病治療模塊,數據初始化模塊,統計分析模塊,系統維護模塊。
Visual C++6.0是微軟公司推出的開發Win32應用程序的,面向對象的可視化集成工具,是一種基于Windows操作系統的可視化集成開發環境。Visual C++6.0為Windows應用程序的開發提供了最方便的方法[9]。
Oracle是甲骨文公司研發的一款關系型數據庫管理系統,在如今的數據庫市場中占有舉足輕重的地位[10]。Oracle數據庫管理系統不僅有完備的關系產品,還具有完整的數據管理功能與數據的分布式處理功能。
以下兩種訪問數據庫的方式:在DOS窗口中訪問Oracle數據庫時,首先要將Oracle數據庫的監聽進程手動啟動,如圖7所示,然后在DOS命令窗口中輸入sqlplus,接著輸入要訪問的數據庫的用戶名與密碼,如圖8所示;在SQL Developer中訪問數據庫時,首先也要手動啟動數據庫的監聽進程,然后點擊連接按鈕,在對話框中輸入要訪問的數據庫的用戶名與密碼即可,如圖9所示。

圖7 數據庫監聽進程的啟動

圖8 DOS窗口中連接數據庫

圖9 SQL Developer中連接數據庫
Visual C++6.0提供了ADO、ODBC、DAO和RDO等多種豐富的數據庫訪問技術,由于ADO技術使用起來更加簡單靈活,所以本系統使用ADO來訪問數據庫。
在VC++開發環境中利用MFC向導,添加一個MSComm類型的控件變量(m_contrComm),下面是串口參數設置的實現:
Void SetComm()
{
m_contrComm.SetCommPort(nPort);
if(!m_contrComm.Getport()Pen());
m_contrComm.SetPort()Pen(TRUE);/*打開串口*/
m_contrComm.SetInPutMode(1);/*設置從接收緩沖區讀取數據的格式*/
m_contrComm.SetinBufferSize(1024);/*設置接收緩沖區的大小*/
m_contrComm.SetoutBufferSize(512);/*設置發送緩沖區的大小*/
m_contrComm.Setsettings(strBaud+strCheckBit+strDataBit+strStopBit);
/*串口參數設置*/
m_contrComm.SetRThreshold(1);/*每接受一個字符則激發OnComm()事件*/
m_contrComm.SetInPutIn(0);/*從接收緩沖區讀取數據*/
}
其中,nPort,strBaud(波特率),strCheckBit(校驗位),strDataBit(字節有效位數),strStopBit(停止位)是串口屬性組合框設置的值。
系統的界面能夠很友好地實現人機互話,它主要負責母豬數據信息的顯示和存儲以及對母豬數據的處理等,下面具體介紹各個功能模塊:
在上位機系統中,操作人員通過瀏覽器訪問母豬智能化控制系統,首先需要經過用戶身份信息認證,在窗口中輸入自己的用戶名和密碼(由數據庫管理員分配),然后系統根據輸入的信息進行驗證,如果驗證無誤,則該用戶成功登錄,從系統的數據庫中得到當前用戶的角色信息和權限信息,并顯示該用戶登錄后所能使用的各項功能;若驗證失敗,系統提示登錄失敗,繼續保持在登錄界面。

圖10 系統界面設計流程圖

圖11 系統登錄主界面
本論文通過對國內外養豬業的現狀分析,提出了我國在養豬業生產力上存在很大的不足,進而說明本論文設計的母豬智能化控制系統的必要性與重要性。
本系統利用目前比較先進的RFID技術和ZigBee無線通信技術,并與核心控制板ARM9進行互相通信,通過對ARM9的控制實現了硬件系統的設計,其中包括直流電機對門控開關的控制,以及步進電機對自動下料的控制,使用C#語言編寫了系統的軟件程序,在軟件部分完成了上位機系統的開發,其中包括在VC++中編寫了系統界面的程序設計,并利用ADO訪問上位機系統的數據庫,最終完成了上位機與下位機總體設計的實現,達到了豬規?;B殖健康精準技術體系研究項目的要求。
[1]彭樹峰,王云新,葉富良,等.國內外工廠化飼喂簡述[J].2007(2):12-13.
[2]郭忠利.規?;B豬場群體母豬精細飼喂控制系統的研究與設計[D].哈爾濱:東北農業大學,2012.
[3]郭忠利,戚國強,王立舒.種豬場群體母豬精細飼養管理系統的研究與應用[J].農機化研究,2013.
[4]周道雷,李陸欽.規模化養豬工程技術的發展現狀和趨勢[J].飼喂與飼料,2005(7):45-49.
[5]趙希彥.基于福利的新型多元化豬生產系統[J].中國畜牧獸醫,2012,39(12):225-230.
[6]黃成亮.圖像式自動機運動參數測試系統研究[D].太原:中北大學,2011.
[7]黃朝斌.嵌入式Internet設備遠程管理技術研究與應用[D].沈陽:沈陽工業大學,2012.
[8]趙顯臣.RFID數據采集和處理系統中間件的研究與實現[D].包頭:內蒙古科技大學,2008.
[9]陳大偉.點式應答設備在高速條件下的性能研究[D].北京:北京交通大學,2011.
[10]朱文佳.射頻識別在上海郵政普郵總包分揀系統中的研究與應用[D].上海:上海交通大學,2008.