岳子琛,喬記平+,武 媛,王志強,高 晉
(1.太原理工大學 電氣與動力工程學院,山西 太原 030024;2.太原理工大學 物理與光電工程學院,山西 太原 030024;3.山西煤礦機械制造股份有限公司 智能化研究所,山西 太原 030006)
目前已有一些冷鏈物流監控系統的解決方案,多集中于現場采集設備的設計與研究,對綜合性監控平臺涉及較少。文獻[1]將RFID標簽與GPRS相結合,實現對產品信息的追溯與跟蹤,但未對冷藏箱內環境進行監控;文獻[2]利用WISP溫度傳感器采集數據,監控平臺局限于對傳感器數據的記錄與展示,無法區分環境數據的隨機波動和異常波動,實現信息的判異。冷鏈物流過程本身信息不對稱程度較大,質量管理復雜,文獻[3]對冷藏箱內不同位置的傳感器進行數據融合,得到冷藏箱監測溫度的最終融合值,提高了環境監控準確度,但忽視了環境變化的全過程,且未能合理區分物流階段,導致無法對整體運營情況做出精確定位,使運輸過程缺乏合理的安全保障措施。傳統監控系統還普遍存在數據共享能力差,數據留存時間短,留存內容不完善等問題,極大地掩蓋了數據背后隱藏的價值。針對以上不足,本文設計了一種基于統計過程控制(statistical process control)的冷鏈物流環境監控系統,利用C4.5決策樹和SPC模型建立適于冷鏈物流過程的環境分析方法,并搭建智能化監控平臺以云數據庫作為存儲工具,實現系統動態監測、精確判異和全程可追溯。
本文設計的冷鏈物流環境監控系統由下位機、上位機和云數據庫3部分組成,如圖1所示。下位機負責現場數據采集與發送,分為傳感器節點和匯聚節點,其中傳感器節點安裝在車輛冷藏箱內,集成溫濕度傳感器、CO2傳感器、O2傳感器以及C2H4傳感器,實時采集冷藏箱內的環境數據,并通過LoRa無線傳輸發送給安裝在車輛駕駛室內的匯聚節點。匯集節點中加入GPS模塊用于判斷車輛行駛位置和車速,與LoRa無線傳輸模塊接收的環境數據相結合,再通過4G模塊發送給上位機。
上位機利用LabVIEW軟件集成開發冷鏈物流監控平臺,負責對實時數據進行處理,分析判斷真實冷藏箱環境情況,提供必要的報警信息,同時與阿里云數據庫進行交互,實現數據存儲與查詢。LabVIEW內置TCP/IP、ActiveX等軟件標準的庫函數為該系統通過4G信號進行數據傳輸提供支持[4,5]。系統利用文字、圖形、表格、趨勢曲線等方式實時將信息反饋在平臺界面以供用戶查看,提高監控界面的可視化程度。借助云數據庫可使平臺的使用突破局域網限制,提高數據共享能力,賬號管理功能可以對不同用戶的訪問權進行管控,保證數據信息的獨立性和安全性。
傳感器節點的主控芯片采用STM32F103RET6,該芯片具有高性能的ARM Cortex-M3 32位MCU,擁有3個12位ADC通道、2個I2C接口和5個UART接口等資源。溫濕度傳感器采用基于I2C通訊的HDC1080模塊,具有功耗低、精度高等優點;CO2傳感器采用基于UART通訊的JX-CO2-102模塊,其利用非分散性紅外線技術進行探測;O2傳感器采用基于UART通訊的電化學傳感器JXM-O2;C2H4傳感器因采用輸出為電流信號的三電極電化學傳感器JEC-C2H4-100,因此需使用A/D轉換模塊將其轉換為主控芯片可使用的電壓信號。
匯聚節點中4G傳輸模塊采用有人物聯的USR-LTE-7S4實現,適用于全網通4G通信,支持TCP、UDP和HTTP等網絡協議,并通過UART與主控芯片進行交互;GPS模塊采用以S1216F8-BD為核心的ATK-S1216F8-BD GPS/北斗模塊,并采用NMEA-0183協議進行數據采集,以UART與主控芯片通信。系統中LoRa信息傳輸均采用ATK-LORA-01無線串口模塊實現,以ISM頻段射頻SX1278擴頻芯片為核心,并通過UART與主控芯片通信。
統計過程控制(簡稱SPC)是一種過程控制工具,借助數理統計方法來評價生產過程,憑借反饋信息及時發現系統性因素出現的征兆,從而采取措施消除其影響,使過程始終維持在受控狀態(僅受隨機性因素影響),以達到控制質量的目的[6]。
在冷鏈物流運輸過程中,冷藏環境的監控是保證產品質量的核心,而環境參數本身就具有較強的動態誤差,數據波動無法避免,因此采用SPC控制圖分析環境監測值,形成變化趨勢曲線,精確識別正常波動與異常波動,智能判斷物流環境是否處于受控狀態。實施SPC時前期準備工作非常重要,必須在確保影響生產的各要素無異常的情況下進行[7],將其應用于冷鏈物流環境監控過程,需要對物流階段進行區分。
相對生產過程的單一穩定情況來說,冷鏈物流過程中環境變化存在兩個階段,分別為預冷階段和冷藏運輸階段。在冷鏈物流車每次運營初期,冷藏箱內需要把溫度、濕度等從裝載貨物時的大氣環境轉變為設定環境,即預冷階段,該過程中冷藏箱內各參數不達標且不符合SPC實施時必須在影響生產的各要素無異常的情況下采集數據作為樣本的要求,所以需要通過算法對冷鏈物流階段進行精確分類,以滿足執行SPC分析階段的條件。
2.1.1 利用C4.5算法建立分類規則
根據冷鏈物流環境具有耦合性、易變性,且數據規模龐大等特征[8],本文選擇C4.5決策樹分類方法,建立冷鏈物流環境階段分類規則,流程如圖2所示。

圖2 4.5算法流程
假設物流運輸產生的環境樣本集為S,每組環境數據可由m個屬性值表示,假設類別屬性Am由k個不同值組成,則可將樣本集劃分為k個子集,進而得到S的信息熵
(1)
若Ai有t個不同取值,則Ai又可將子集Ci進一步劃分為t個子集,每個子集Cpq表示Ai=aq條件下屬于第p類的環境數據。劃分后的條件熵為
(2)
利用屬性A對S進行劃分的信息增益和分裂信息值分別為
Gain(S,A)=Entropy(S)-EntropyA(S)
(3)
(4)
最終求得信息增益率為
(5)
2.1.2 提取分類規則
冷鏈物流運輸過程中冷藏箱內溫濕度參數變化最為明顯[9],故以溫濕度作為階段性分類數據,對歷史運營環境參數進行積累,判斷階段性分類屬性可劃分為:階段最低溫度LT;階段最高溫度HT;階段平均溫度AT;階段最低濕度LM;階段最高濕度HM;階段平均濕度AM;階段時間范圍F(min),通過下位機采集的部分時間-溫濕度樣本數據見表1。
為了建立基于階段性分類屬性規則的分類器,可以對階段性分類屬性增益最大的根節點到分類屬性葉節點的每條路徑創建一條IF-THEN分類規則,提取各組規則建立環境溫濕度數據屬性與階段類別之間的關鍵聯系,最后得到分類規則如下:

表1 冷鏈物流階段性溫濕度數據部分樣本
(1)規則1。IF LM≤66 AND HM≥90 AND LT≤5 AND HT≥20,THEN 階段類型=“預冷階段”;
(2)規則2。IF LM≥90 AND AM≤95 AND HT≤5 AND AT≥3,THEN 階段類型=“冷藏運輸階段”。
2.1.3 形成適于監控系統的分類判據
從分類規則1、規則2中可以看出,冷鏈物流預冷階段與冷藏運輸階段環境參數最大不同在于溫濕度的變化幅度,因此選用能表征數據離散程度的方差值,作為系統進行階段分類的判斷依據。由C4.5算法形成的分類規則是根據完整的冷鏈物流運輸階段環境數據建立而成,在監控系統實際運行過程中,則需要根據車輛運營時采集的實時數據集快速判斷物流階段,為提高系統運行流暢度,設置實時數據集容量n=5,由車輛運營時下位機設備發送的溫濕度數據組成,并時刻更新數據集以及時判定物流階段變化。
根據表1可以計算出,當處于冷藏運輸階段時,溫度的方差值最大不超過0.05,相對濕度的方差值最大不超過6,系統收集并記錄下位機間隔1 min接連發回的5組數據,以該數值自動判定物流階段
(6)
式中:σ12為階段溫度的總體方差;X1i為溫度變量,℃;μ1為溫度總體均值,℃;N為總體例數
(7)

系統依據記錄的數據對溫度、相對濕度的階段方差進行計算,當其同時滿足式(6)和式(7)時,判定冷鏈物流處于預冷階段,此時溫濕度大幅變化,環境各要素不穩定,數據不作為SPC樣本進行記錄,也不觸發系統報警機制。反之,則判定冷鏈物流已經處于冷藏運輸階段,此時環境各要素變化趨于穩定,數據可被記錄作為建立SPC控制圖的數據樣本。

2.2.1 建立數據樣本
當冷鏈物流車處于冷藏運輸階段時,收集并記錄每個環境參數各25組樣本數據,每組樣本量n=5,用間隔取樣的方法獲得,間隔時間由下位機數據傳輸間隔時間決定,一般為1 min,以保證對冷鏈物流環境的全程追蹤。
2.2.2 計算控制限
(8)
式中:x1,x2,…,xn為每組樣本的實際監測值;n為每組樣本容量,n=5
R=Xmax-Xmin
(9)
系統會將不同運營車輛的車牌號和對應的環境數據樣本進行綁定,一同存入數據庫中,方便系統隨時調取數據,構建SPC控制圖。
數據庫表格樣式見表2,每個環境參數各在獨立的SPC樣本表中進行記錄。針對不同車輛創建各自的統計過程控制數據樣本,并分別計算該車輛對應的控制限參數,降低因不同運載車輛所產生的系統性因素影響,提高統計過程控制精度。

表2 SPC樣本
然后通過計算過程平均值和平均極差,以分別得到均值控制圖和極差控制圖的中心線CL值
(10)
(11)

(12)
(13)
(14)
(15)
式中:A2,D3,D4為常數,可以通過查計量控制圖系數表得到其值,當樣本容量為5時,A2=0.577,D3=0,D4=2.114。
在冷鏈運輸車運營的過程中,系統會自動檢測每個車輛對應的各環境參數SPC樣本數量,當樣本達到25組時自動計算相關控制限參數,并和車輛信息進行綁定,一同存入數據庫中(表3為數據庫中記錄的某車輛溫度控制限參數),并用后續持續產生的樣本數據對原有SPC樣本集進行更新,剔除無代表性的數據(如落在界限外的數據點),再重新計算控制限。

表3 車輛控制限參數
2.2.3 繪制控制圖
系統從數據庫中分別提取出相應運營車輛的各環境控制限參數,用以作出統計過程控制分析用控制圖。
在監控階段,系統記錄每個車輛運行時冷藏箱內各環境參數的動態數據,及時繪制到控制圖上,并記錄在數據庫中,控制圖上點的波動情況可以體現出運營過程中冷鏈環境是否受控。當各參數控制圖中環境數據點均在控制限內以無規則的方式排列在中心線兩端時,表明冷鏈物流環境整體穩定,運輸過程中無異常因素影響產品品質,如果運營途中發現異常,如數據點超出控制限范圍或連續多個點(5個及以上)落在中心線的同一側,則代表環境失控,必須盡快尋找原因并消除其影響。
為保證監控平臺的運行安全性,防止運營數據丟失和平臺運行紊亂,設計了登陸界面,用戶可以通過該界面進行賬戶的注冊和登錄。登錄成功后,平臺會記錄該用戶的相應操作,若此時車輛運營過程中出現環境異常報警,平臺會連同操作人一并進行記錄,用以對操作人處理應急事件的能力做出評價,也可輔助后期進行責任認定,提高管理者監管水平。
在完成用戶登錄密碼校對時,平臺以MySQL ODBC 5.3 ANSI Driver作為數據庫連接驅動,利用ADO Connection Create.vi和ADO Connection Open.vi創建到達數據源的開放連接,通過SQL Execute.vi輸入相關指令并返回指定數據。平臺可憑借此數據實現用戶身份的認證和匹配,并再次通過SQL Execute.vi將該用戶的登陸操作記錄在相應數據表中。
冷鏈物流監控平臺“參數設置”界面主要負責冷藏環境參數設置、與下位機連接設置以及與數據庫連接設置。
在“冷藏環境參數設置”模塊中,用戶可對車輛冷藏箱內采集的溫度、濕度、氧氣、二氧化碳、乙烯的正常范圍做設定,為平臺判定冷藏環境是否正常提供依據。
平臺使用TCP/IP協議,在建立TCP服務器時,首先創建TCP偵聽器,接入服務名稱和端口號,輸出偵聽器ID用于等待已接受的TCP網絡連接。當遠程設備連接此服務器時,TCP Wait On Listener函數解析出該設備的網絡地址和端口號,并將連接ID遞交給TCP Read模塊,從網絡連接中讀取字節并通過數據輸出返回結果。整個偵聽過程置于While循環中,當平臺關閉時再利用TCP Close Connection函數進行停止,保證平臺對運營車輛的實時監控(如圖3所示)。平臺的IP地址和通訊端口號會顯示在“參數設置”界面中,方便下位機進行連接。

圖3 TCP服務器程序框架
平臺采用阿里云數據庫進行數據存儲,提高數據安全性和應對高并發場景的能力,其高度自治服務還可降低使用過程中數據庫的維護成本。平臺在“參數設置”界面中為用戶提供了數據庫連接模塊,可對數據庫所在服務器的IP地址以及連接名、用戶名和密碼進行配置。管理者在云數據庫控制臺中為不同用戶創建不同的數據庫連接賬號,并開通對應庫訪問權限,用戶即可利用該賬號進行數據交互,極大簡化平臺使用復雜度的同時,大大提高了不同用戶間的數據獨立性和安全性。云數據庫還可使用戶在任意地點通過平臺進行訪問,獲取相應運營數據,實現遠程監控[13,14]。
冷鏈物流監控中心是平臺的總控界面,從中可以了解到當前車輛運營的總體情況、平臺運行情況以及與數據庫的連接情況,并可對平臺TCP/IP偵聽狀態進行轉換,如圖4所示。

圖4 冷鏈物流監控中心
界面中間顯示所有在運營車輛的基本信息,包括車輛的車牌號、駕駛員信息、冷藏環境情況和車輛所行駛位置。下位機模塊在安裝時會設置不同的編號,在監控平臺中將該編號與對應車輛的車牌號以及相關駕駛員信息進行綁定并存入數據庫中。當平臺偵聽到某車輛監測設備發回的數據后,會將其中的設備編號與數據庫中的存儲數據進行比對,提取出相關信息。
平臺將偵聽到的每組信息進行處理,解析出冷藏環境數據,判斷此時冷藏箱內環境所處階段。當處于“預冷階段”時,環境參數持續大幅變化且不處于設定的正常范圍內,該現象屬于車輛運營初期的正常情況,并非因環境失控引起,因此平臺自動屏蔽報警機制,默認此時冷藏環境正常;當處于“冷藏運輸階段”時,平臺執行SPC算法,在形成環境數據樣本后,繪制控制圖對車輛冷藏箱內情況進行監控,在未出現異常點時,判定環境處于正常狀態。若圖中發現異常點出現,平臺會在監控中心界面標注該車輛的冷藏環境情況為“異常”,此時需平臺操作人員進入該車輛的狀態詳情界面查看具體信息,進行問題診斷并聯系車輛駕駛員及時處理,以保證產品質量。
平臺使用JavaScript API編寫地圖實例[15]。當用戶需要調取地圖信息時,平臺利用ADO Connection函數從數據庫中提取相應車輛運行數據,并將其和基本實例代碼相結合,以HTML文件類型存儲在平臺安裝目錄中。平臺再將該HTML文件安裝路徑轉換為URL格式,用IWebBrow-ser2容器實現最終訪問(如圖5所示)。地圖將每個運營車輛的實時位置信息在其中標記,并創建數據窗口顯示對應車輛的車牌號、駕駛員姓名等基本信息,通過點擊地圖上的車輛圖標即可彈出,解決了表格數據與地圖信息脫節問題,大幅增加數據可視化能力,提高運營企業監控水平。

圖5 地圖實例程序框架
平臺中歷史數據界面用于日后對歷史運營情況進行查詢和匯總。傳統冷鏈物流監控系統僅關注運營時的實時數據監測,對歷史信息保存不夠完善且多為表格數據,使歷史數據的價值大打折扣。本平臺將車輛運營過程中實時冷藏環境參數和車輛運行數據進行記錄,借助云數據庫大容量、多架構的優勢,使其可以系統性、長久性地進行存儲,并設計可視化界面使其更大限度地發揮優勢。
歷史數據界面上半部分為每年的季度運營詳情如圖6所示,可以看出某年每個季度運營的比例以及每個月的具體運營次數,通過這兩個數據可了解企業該年整體運營情況。界面下半部分為車輛運營歷史數據表,體現某次車輛運營基本信息,點擊其中一個數據即可跳到數據曲線界面,從中可以詳細看到該次運營具體情況。歷史數據查詢界面將數據庫中晦澀的表格數據以多樣化的形式表達出來,既能總覽運營歷史,又可復盤每次運營詳細過程,為企業分析經營狀況、調整運營策略提供支持。

圖6 歷史數據界面
為驗證該冷鏈物流環境監控系統的可靠性和穩定性,根據真實車輛運營情況進行測試。
將下位機模塊的傳感器節點(如圖7所示)安裝在測試車輛的冷藏箱內,采集實時環境數據;匯聚節點(如圖8所示)安裝在車輛駕駛室內,通過LoRa無線傳輸模塊接收傳感器節點數據,在合并GPS參數后經由4 G模塊發送至監控平臺。

圖7 傳感器節點實物

圖8 匯聚節點實物

圖9 測試車輛實時運營數據
冷鏈物流監控平臺對接受的數據進行解析、研判和展示,借助云數據庫實現數據存儲與共享。測試車輛實時運營數據如圖9所示,左邊為車輛行駛詳情,包含車牌號、駕駛員基本信息、車輛行駛速度與路徑等,可了解車輛實際運營狀況。右邊是該車輛的環境詳情,從中可以看出此時車輛處于冷藏運輸階段,實時溫度3.5 ℃,相對濕度95.6%,氧氣含量2.4%,二氧化碳含量3.8%,乙烯含量0.1 μL。其中氧氣含量值經SPC算法濾除隨機波動后,仍處于異常狀態,因此系統發出報警并標注該異常參數。
進入平臺SPC分析中心對環境參數統計過程控制圖進行監控(如圖10所示)。根據車輛各環境參數控制圖上點的波動情況,可以判斷出冷藏環境是否受控。其中溫度、濕度、二氧化碳、乙烯4個參數的樣本均值和極差變化始終處在上下界限之間,未有異常點出現,因此該4個環境數據處于受控狀態。但在氧氣統計過程控制圖中,有連續3個樣本點超出控制限,依據控制準則可知,氧氣參數處于失控狀態,立即觸發報警機制。在“監控中心”界面中,該車輛對應的冷藏環境情況轉為“異常”狀態,與“狀態詳情界面”中氧氣傳感器采集參數被標注相呼應(如圖9所示),表明該環境參數處于非受控情況,此時需提醒工作人員進行問題排查,以保障冷鏈物流過程中果蔬品質。

圖10 各環境參數SPC控制
通過實驗測試可以看出,監控平臺成功地實現對冷鏈物流車運營過程的動態監控,利用統計過程控制算法對冷藏箱內環境進行分析,大幅提高系統判斷環境參數隨機波動和異常波動的能力,降低系統因隨機因素而誤報的可能性。此外監控平臺可視化程度高,數據結構完善,信息存儲合理,具有較強的實際應用價值。
本文設計了一種基于SPC的冷鏈物流環境監控系統。該系統主要針對下位機模塊采集的數據進行了監控平臺設計,其特點在于利用C4.5決策支持方法對冷鏈物流環境氣體統計學數據建立階段性自動分類判據,對環境氣體階段進行準確性定位與匹配,并在此基礎上利用SPC模型,構造均值-極差控制圖進行不同參數監測點判異,實現對冷鏈物流環境氣體數據的動態監控。系統借助云數據庫進行數據存儲,提高數據安全性和存儲量的同時,方便用戶訪問權限管理、降低平臺使用安裝復雜度、減少后期數據庫維護成本、完善數據共享機制并提高管理者監管能力。此外,監控平臺基于LabVIEW軟件將表格數據轉化為圖表信息,大幅提高可視化水平,最大程度地發揮了數據價值。下一階段將與冷鏈物流企業開展合作,獲取大量實測數據,用以對多源環境氣體的動態耦合機理和交叉敏感誤差進行建模分析,進一步提高冷鏈物流環境感知和控制精度,提高反演物流過程中產品品質變化的能力。