何玲+陳長喜
摘要:生豬屠宰自動化監(jiān)管系統(tǒng)是應基層動物衛(wèi)生監(jiān)督部門的業(yè)務需求開發(fā)的一套物聯(lián)網(wǎng)系統(tǒng)。為了實現(xiàn)生豬屠宰監(jiān)管工作的自動化,必須從生產(chǎn)線上自動采集數(shù)據(jù)。討論了該系統(tǒng)的數(shù)據(jù)采集子系統(tǒng)的整個實現(xiàn)過程,即運用RFID技術、單片機技術構建的整個生產(chǎn)線上的物聯(lián)網(wǎng)系統(tǒng);介紹了系統(tǒng)的網(wǎng)絡體系結(jié)構、數(shù)據(jù)采集電路的設計和上位機C/S模式應用程序的流程。系統(tǒng)在實際運用中替代了人工監(jiān)管,并采集了大量的屠宰期間數(shù)據(jù),為進一步數(shù)據(jù)分析、決策制定提供了依據(jù)。
關鍵詞:自動化;物聯(lián)網(wǎng)系統(tǒng);生豬屠宰;數(shù)據(jù)采集;網(wǎng)絡結(jié)構;電路設計
中圖分類號: TP311.52;S126文獻標志碼: A文章編號:1002-1302(2017)17-0196-04
通信作者:陳長喜,博士,教授,主要從事農(nóng)業(yè)信息技術研究。Tel:(022)23785773;E-mail:changxichen@163.com。生豬屠宰是豬肉進入市場前的最后環(huán)節(jié),把好這最后一道關,可以杜絕各種問題豬肉流入市場。當前政府對屠宰場的監(jiān)管方式主要是人工監(jiān)督、抽檢的方式。監(jiān)管手段單一,信息化水平偏低[1],監(jiān)管人力不足以實現(xiàn)全覆蓋監(jiān)管。雖然,相關部門也認識到生豬屠宰監(jiān)管的重要性,但是研究內(nèi)容多數(shù)停留在健全制度、落實責任等政策層面,從技術層面研究此問題的還不多見[2]。利用物聯(lián)網(wǎng)技術,能夠從生豬屠宰車間自動采集數(shù)據(jù),降低了監(jiān)管的人為因素,大大節(jié)省了監(jiān)管人力,也增強了監(jiān)管的可信程度。這些自動采集的數(shù)據(jù)還為監(jiān)管者進一步?jīng)Q策提供了基礎依據(jù)[3-4]。
生豬屠宰自動化監(jiān)管系統(tǒng)是應天津市基層動物衛(wèi)生監(jiān)督所的需求開發(fā)的一套生豬屠宰全過程數(shù)據(jù)采集、判斷和呈現(xiàn)的網(wǎng)絡系統(tǒng)。該系統(tǒng)分為2個子系統(tǒng):一是數(shù)據(jù)采集子系統(tǒng),即由RFID讀(寫)器、電子秤、檢測儀、數(shù)據(jù)采集電路板等裝置組成的物聯(lián)網(wǎng)系統(tǒng),負責采集生產(chǎn)線上的各種數(shù)據(jù)并存入數(shù)據(jù)庫。二是數(shù)據(jù)分析顯示子系統(tǒng),即對數(shù)據(jù)庫中的數(shù)據(jù)進行分析、判斷后,以網(wǎng)頁方式呈現(xiàn)給動監(jiān)部門的監(jiān)管人員和屠宰廠管理人員,并能根據(jù)判斷結(jié)果自動打印出廠合格證。數(shù)據(jù)采集子系統(tǒng)是整個系統(tǒng)的核心,本研究將介紹數(shù)據(jù)采集子系統(tǒng)的設計和實現(xiàn)。
1數(shù)據(jù)采集子系統(tǒng)的物聯(lián)網(wǎng)體系結(jié)構
1.1網(wǎng)絡體系結(jié)構
數(shù)據(jù)采集子系統(tǒng)利用數(shù)據(jù)采集電路板采集電子秤、RFID讀卡器和檢測儀上的數(shù)據(jù),通過RS-485串行總線將數(shù)據(jù)傳輸給客戶端程序,客戶端程序安裝在屠宰廠辦公室的PC機上??蛻舳顺绦?qū)⑦@些數(shù)據(jù)傳輸給服務器端程序。服務器端程序安裝在動物監(jiān)督所的服務器中,該服務器同時承擔整個自動化監(jiān)管系統(tǒng)的Web服務器和數(shù)據(jù)庫服務器的功能。這個系統(tǒng)的網(wǎng)絡體系結(jié)構如圖1所示。
1.2各采集節(jié)點的數(shù)據(jù)需求
生豬進入屠宰廠核查各種檢疫合格證明后,進入屠宰程序,共經(jīng)過4個環(huán)節(jié):待宰觀察、屠宰及檢測、冷卻排酸、灼印出證[5]。前3個環(huán)節(jié)都需要采集監(jiān)管數(shù)據(jù),并依據(jù)這些數(shù)據(jù)判斷該豬是否合格,能否灼印、打印合格證。
1.2.1待宰觀察的數(shù)據(jù)采集活豬進入屠宰廠,首先要進行12 h的待宰觀察?;钬i進入待宰圈時,需要采集入圈時間、入圈體質(zhì)量、豬耳標編號數(shù)據(jù)。將活豬進入待宰圈的通道改造為僅容1只豬通過的狹窄通道,通道內(nèi)安裝帶柵欄門的稱豬地秤、固定RFID讀卡器和數(shù)據(jù)采集電路板。當1頭豬通過通道時,在豬耳部施加事先寫好“耳標編號”的RFID標簽。豬通過地秤時,稱得入圈體質(zhì)量,并通過 RFID 讀卡器讀出耳標編號,數(shù)據(jù)采集電路板接收數(shù)據(jù),生成入圈時間,并通過 RS-485 串口總線,將數(shù)據(jù)傳輸給上位機客戶端程序。在數(shù)據(jù)庫中將豬編號和耳標編號關聯(lián)起來。
1.2.2屠宰前的數(shù)據(jù)采集待宰觀察結(jié)束后,將生豬電暈,倒掛在生產(chǎn)線的屠宰杠(扁擔鉤)上,準備屠宰。此時需要采集屠宰時間、屠宰體質(zhì)量、豬耳標編號數(shù)據(jù)?!巴涝讜r間”減去“入圈時間”小于12 h,認為待宰時間不合格,最后系統(tǒng)不予打印合格證;“屠宰體質(zhì)量”大于“入圈體質(zhì)量”認為屠宰前對豬進行過注水,同樣不能出合格證。在掛杠工位上安裝電子掛稱、固定RFID讀卡器和數(shù)據(jù)采集電路板。數(shù)據(jù)采集電路板接收質(zhì)量、耳標編號數(shù)據(jù),生成屠宰時間數(shù)據(jù),傳給上位機客戶端程序。
1.2.3去頭、蹄的數(shù)據(jù)采集生豬宰殺放血后,要去掉頭、蹄,豬耳標不方便從豬耳上快速拆卸下來,因此耳標會與豬體分離,必須給豬體新的RFID標志。每頭豬從掛上屠宰杠至售出不會下杠,始終用1個屠宰杠,因此在同一批屠宰的豬只中,屠宰杠編號能唯一標志1只豬。改造屠宰杠,在杠上安裝已事先寫好“杠編號”的永久性RFID標簽,該標簽耐用、不拆卸。在去頭、蹄工位上安裝用于讀取耳標標簽的RFID讀卡器和用于讀取杠標簽的RFID讀卡器。數(shù)據(jù)采集電路板接收“耳標編號”和“杠編號”,傳給上位機客戶端程序。在數(shù)據(jù)庫中將杠編號與豬編號關聯(lián)起來。
1.2.4屠宰同步檢疫的數(shù)據(jù)采集生豬屠宰過程中需要進行多方面檢測,也叫屠宰同步檢疫。這些檢測包括頭蹄檢測、旋毛蟲檢測、胴體檢測、內(nèi)臟檢測、肉品品質(zhì)檢測、三腺(腎上腺、甲狀腺、病變淋巴結(jié))摘除檢測、復檢[6]。發(fā)現(xiàn)異常要將數(shù)據(jù)采集進入系統(tǒng)。頭蹄檢測、旋毛蟲檢測是在去頭蹄前,肉眼觀察,如發(fā)現(xiàn)異常,需要采集的數(shù)據(jù)是“耳標編號”。酮體檢測、三腺摘除檢測和復檢是在豬屠宰后期,肉眼觀察,如發(fā)現(xiàn)異常,需要采集的數(shù)據(jù)是“杠編號”。內(nèi)臟檢測、肉品品質(zhì)檢測是將檢測樣本(內(nèi)臟、豬肉)盛放在托盤上,在檢測間進行檢測。托盤掛有事先寫好“托盤編號”的RFID標簽。檢測樣品采集時,用RFID讀卡器分別讀取杠編號和托盤編號,數(shù)據(jù)采集電路接收2個編號,傳給上位機程序,在數(shù)據(jù)庫中,將托盤編號與豬編號關聯(lián)起來。檢測間里,檢測員肉眼觀察,發(fā)現(xiàn)異常時,需要采集的數(shù)據(jù)是“托盤編號”。上述各檢測工位的數(shù)據(jù)采集方式是相同的,只是在不同檢測環(huán)節(jié)采集的編號類型不同。在各檢測工位上安裝固定RFID讀卡器、數(shù)據(jù)采集電路板和按鈕,當發(fā)現(xiàn)異常時,工人按下按鈕,允許RFID讀卡器讀編號(耳標編號、杠編號或托盤編號),數(shù)據(jù)采集電路板采集編號,并傳給上位機程序。endprint
1.2.5冷卻排酸的數(shù)據(jù)采集生豬屠宰完成后,要進行低溫排酸。入冷庫前和排酸完成后出冷庫需要采集的數(shù)據(jù)項相同:入(出)庫時間、入(出)庫質(zhì)量、杠編號。在冷庫門口安裝固定RFID讀卡器、電子掛秤和數(shù)據(jù)采集電路板。數(shù)據(jù)采集電路板將接收的質(zhì)量和生成的時間傳給上位機程序。由于入庫、出庫經(jīng)過的是同一套采集設備,因此由程序判斷若該豬編號首次采集到的數(shù)據(jù)即為入庫數(shù)據(jù),若已存在入庫數(shù)據(jù),又采集到的數(shù)據(jù)為該豬的出庫數(shù)據(jù)。冷卻排酸時間小于規(guī)定數(shù)值(根據(jù)冷庫具體情況,規(guī)定排酸時間)認為不合格。
在以上各環(huán)節(jié)中若該豬編號的數(shù)據(jù)出現(xiàn)任意一項不合格(待宰時間不合格、屠宰體質(zhì)量不合格、某檢測項目不合格或排酸時間不合格),都不能為該豬打印出廠合格證。
2數(shù)據(jù)采集電路板的設計
數(shù)據(jù)采集子系統(tǒng)中的數(shù)據(jù)采集電路板采用ST(意法半導體)公司的STM32F070RB單片機。該單片機采用32位處理器,工作頻率48 MHz,具有高速嵌入存儲器16KB SRAM,提供標準通信接口(2個I2C,2個SPI和4個UART),7個通用16位計時器和1個PWM定時器[7-8]。整個生豬屠宰系統(tǒng)數(shù)據(jù)采集子系統(tǒng)共在13個工位上安裝了該型號的單片機,用于自動采集數(shù)據(jù)。根據(jù)上文各數(shù)據(jù)采集節(jié)點的數(shù)據(jù)需求介紹,這13塊單片機的電路連接分為5類:第一,連接電子秤和豬耳標讀卡器(RFID 1);第二,連接耳標讀卡器(RFID 1)和杠讀卡器(RFID 2);第三:連接杠讀卡器(RFID 1)和托盤讀卡器(RFID 2);第四:連接杠讀卡器(RFID 1)和檢測異常開關;第五:連接托盤讀卡器(RFID 2)和檢測異常開關。圖2說明了數(shù)據(jù)采集電路板的電路連接原理。
數(shù)據(jù)采集電路板向上位機程序傳輸?shù)?條數(shù)據(jù)報文為32字節(jié),包含的信息有時間、工位號(地址編碼)、功能編碼、來自UART1的數(shù)據(jù)、來自UART2的數(shù)據(jù)和2位CRC校驗。定義數(shù)據(jù)報文協(xié)議如表1所示。
3數(shù)據(jù)采集客戶端/服務器端程序設計
3.1程序流程
數(shù)據(jù)采集電路板將采集的數(shù)據(jù)存于單片機內(nèi)存中,上位機程序定時輪詢每塊采集電路板。整個數(shù)據(jù)采集子系統(tǒng)的程序為客戶端/服務器端(C/S)模式。整個程序流程如圖3所示。
服務器端程序完成的功能是允許多個屠宰廠客戶端同時登錄到服務器端;從網(wǎng)絡接收客戶端傳來的數(shù)據(jù);將數(shù)據(jù)寫入數(shù)據(jù)庫的相應表,并反饋給客戶端“寫入成功”。
客戶端程序完成的主要功能有通過用戶名、密碼方式登錄到服務器端;登錄后,從RS-485串口上輪詢各個數(shù)據(jù)采集電路板上的數(shù)據(jù);收到數(shù)據(jù)后,通過網(wǎng)絡傳輸給服務器端程序,并同時將數(shù)據(jù)及通信狀態(tài)顯示在界面上;收到服務器端數(shù)據(jù)“寫入成功”的信息后,通知數(shù)據(jù)采集電路清除該條數(shù)據(jù)。
客戶端程序還提供了一些控制單片機的輔助功能,包括對單片機進行配置地址、校準時鐘、擦除數(shù)據(jù)、遠程升級、恢復出廠、遠程重啟等[10]。
3.2數(shù)據(jù)流的隊列機制
整個程序涉及單片機、客戶端界面、服務器端、數(shù)據(jù)庫四者之間的數(shù)據(jù)傳輸,各端的處理速度和彼此間的傳輸速度并不同步,為了避免數(shù)據(jù)擁堵,在客戶端程序中創(chuàng)建了4個隊列,隊列長度100條數(shù)據(jù),他們?nèi)腙?、出隊機制如下:
COMtoUI——從單片機取來數(shù)據(jù)入該隊,由于客戶端界面需要顯示這些數(shù)據(jù),每隔 50 ms 出隊1條,顯示于界面。
COMtoSERVER——從單片機取來數(shù)據(jù)入該隊,每隔 50 ms 出隊1條,發(fā)送到服務器端。
SERVERtoUI——從服務器端接收來數(shù)據(jù)入該隊,每隔50 ms出隊1條,顯示于界面。
SERVERtoCOM——從服務器端接收來數(shù)據(jù)入該隊,每隔50 ms出隊1條,發(fā)送給單片機,若是寫入成功則單片機清除這條數(shù)據(jù)。
3.3應用程序的運行效果
目前,已在生豬屠宰車間實際屠宰作業(yè)中運行該系統(tǒng),數(shù)據(jù)丟失率在3%以下,程序未出現(xiàn)過運行時異常中斷。服務器端程序運行界面如圖4所示,客戶端程序運行界面如圖5所示。
參考文獻:
[1]中國食品科技網(wǎng). 我國生豬產(chǎn)業(yè)發(fā)展問題研究[EB/OL].(2013-01-06)[2016-06-09]. http://www.tech-food.com/kndata/1047/0094750.htm.
[2]何玲,陳長喜. 基于物聯(lián)網(wǎng)技術的生豬屠宰自動化監(jiān)管系統(tǒng)[J]. 江蘇農(nóng)業(yè)科學,2016,44(4):390.
[3]陳長喜. 肉雞生產(chǎn)產(chǎn)業(yè)技術體系生產(chǎn)監(jiān)測與產(chǎn)品質(zhì)量可追溯平臺設計[J]. 農(nóng)業(yè)機械學報,2010,41(8):100-105.
[4]陳長喜,張宏福,飛頡經(jīng)緯,等. 肉雞安全生產(chǎn)全過程跟蹤與可追溯平臺的設計[J]. 農(nóng)業(yè)工程學報,2010,26(9):263-269.
[5]李江華. GB/T 19479—2004《生豬屠宰良好操作規(guī)范》的主要內(nèi)容[J]. 肉類研究,2014(2):8.
[6]任永娟,周俊娥,陳茜. 生豬屠宰檢疫流程和檢疫要點[J]. 畜禽業(yè),2011(3):58-59.
[7]劉建梁. 一種基于STM32的具有斷電保護機制的采集存儲系統(tǒng)設計[J]. 電測與儀表,2015,52(10):79.
[8]楊春來. 基于STM32和Web服務的數(shù)據(jù)監(jiān)控系統(tǒng)設計[J]. 河北電力技術,2015,34(5):43-44.
[9]張從鵬,趙康康. 基于STM32的串口服務器系統(tǒng)開發(fā)[J]. 儀表技術與傳感器,2016(1):74.
[10]黃一平,梁梓辰,農(nóng)麗萍,等. 通用智能卡數(shù)據(jù)采集器研究與實現(xiàn)[J]. 測控技術,2015,34(12):45-48.劉丹丹,李志剛. 基于WSID和WebGIS的農(nóng)產(chǎn)品冷鏈監(jiān)控追蹤系統(tǒng)[J]. 江蘇農(nóng)業(yè)科學,2017,45(17):200-204.endprint