張玉杰 李楨 劉強
摘要:針對目前造紙設備從廠商售出到不同地域后,如何實現(xiàn)高效、可靠的遠程集中化監(jiān)視的問題,設計并實現(xiàn)了一個結(jié)合物聯(lián)網(wǎng)通信的造紙設備遠程監(jiān)視系統(tǒng)。用戶端與智能網(wǎng)關通過部署在云端的MQTT服務器,使用MQTT協(xié)議的發(fā)布/訂閱機制實現(xiàn)對空間上廣泛分布的造紙設備進行集中化遠程管理和運行監(jiān)視。利用云端存儲的大量歷史數(shù)據(jù),為生產(chǎn)決策提供科學依據(jù),有利于提高企業(yè)的生產(chǎn)效率,降低維護成本。通過以高頻搖網(wǎng)器設備為例的測試,驗證了該系統(tǒng)具有良好的穩(wěn)定性和可靠性。
關鍵詞:遠程監(jiān)視系統(tǒng);造紙設備;智能網(wǎng)關;MQTT協(xié)議
中圖分類號:TS736
文獻標識碼:A
DOI:10.11980/j.issn.0254508X.2018.12.010
隨著智能工業(yè)技術(shù)迅速發(fā)展,各種生產(chǎn)設備也不斷出現(xiàn)新的遠程監(jiān)視的應用需要,遠程監(jiān)視系統(tǒng)的研發(fā)工作迎來良好的發(fā)展機遇,并且由于大數(shù)據(jù)處理和云平臺技術(shù)的應用,設備監(jiān)視系統(tǒng)不再局限于本地的、簡單的控制層面,更要成為有效的監(jiān)督手段和管理資源,遠程監(jiān)視技術(shù)未來的發(fā)展方向呈現(xiàn)出一體化、產(chǎn)品化、智能化、專業(yè)化的態(tài)勢[12]。
目前造紙工業(yè)領域的監(jiān)視系統(tǒng)主要是針對某一特定本地被監(jiān)測的設備而設計的,對于高頻搖網(wǎng)器主要采用西門子S7314系列CPU及OP277操作面板,通過有線通信將下位機信息上傳之后利用組態(tài)軟件進行監(jiān)控[3]。這種方式雖然實現(xiàn)了設備的監(jiān)視,但是目前組態(tài)軟件發(fā)布的頁面均不支持Andriod和IOS系統(tǒng)[4],信息的交換與處理僅限于組態(tài)軟件,并未真正實現(xiàn)遠程監(jiān)視,是一種封閉式的系統(tǒng)。
遠程監(jiān)視系統(tǒng)通過物聯(lián)網(wǎng)打通工業(yè)現(xiàn)場與云端工業(yè)應用之間的通路[5],為實現(xiàn)數(shù)據(jù)共享、遠程監(jiān)視提供了非常便捷的途徑[6]。同時還可以融合底層工業(yè)各個分散的設備,實現(xiàn)跨區(qū)域設備之間的互聯(lián)互通,對企業(yè)售出后分布在不同地域的各個設備實現(xiàn)集中管理、遠程監(jiān)視和告警、故障診斷和預測。也為工業(yè)企業(yè)提供了一個能夠分析設備數(shù)據(jù)采集、存儲、使用壽命以及其他缺陷的平臺,從而使得企業(yè)生產(chǎn)線得到優(yōu)化、產(chǎn)能得以提升。
1系統(tǒng)整體設計方案
本系統(tǒng)采用“云+端”的控制方式,由監(jiān)管層和現(xiàn)場控制層兩層構(gòu)成。現(xiàn)場控制層由PLC通過S7協(xié)議與高頻搖網(wǎng)器通信,實現(xiàn)現(xiàn)場數(shù)據(jù)采集;監(jiān)管層由用戶端通過云平臺使用超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)協(xié)議請求/響應和消息隊列遙測傳輸(Message Queuing Telemetry Transport,MQTT)協(xié)議的訂閱/發(fā)布機制與云平臺進行數(shù)據(jù)交互,完成用戶端對工業(yè)現(xiàn)場的遠程監(jiān)視與管理。智能網(wǎng)關作為現(xiàn)場控制層和監(jiān)管層的通信橋梁,向下通過RS485接口使用MODBUS協(xié)議與現(xiàn)場控制層進行通信,向上使用HTTP協(xié)議和MQTT協(xié)議與監(jiān)管層進行通信。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
云平臺的搭建,在云服務器上進行應用層開發(fā),包含應用程序編程接口(Application Programming Interface,API)設計、數(shù)據(jù)存儲和處理、MQTT通信實現(xiàn)三部分。云平臺框架如圖2所示。由圖2可以看出,該框架可以分為應用業(yè)務區(qū)、數(shù)據(jù)存儲區(qū)、通信網(wǎng)關區(qū)和計算分析區(qū),以及各種服務功能的API接口。
應用業(yè)務區(qū)為用戶端通過服務器提供API接口發(fā)送HTTP請求訪問云服務器,并對云平臺中各個區(qū)的工作進行統(tǒng)一的管理;數(shù)據(jù)存儲區(qū)主要實現(xiàn)各終端參數(shù)、應用功能數(shù)據(jù)等數(shù)據(jù)的存儲;通信網(wǎng)關區(qū)為云平臺與設備、用戶端之間提供“發(fā)布/訂閱”模式的MQTT即時通信服務;計算分析區(qū)提供高性能的計算服務,為復雜算法提供強大的計算能力,解放硬件的計算資源;另外,由于云平臺各個區(qū)域無法直接實現(xiàn)信息交互,因此需要一個消息JMS中間件來實現(xiàn)各模塊間的消息傳遞。
智能網(wǎng)關作為整個工業(yè)物聯(lián)網(wǎng)遠程監(jiān)視系統(tǒng)的數(shù)據(jù)傳輸樞紐,是實現(xiàn)高頻搖網(wǎng)器設備接入云平臺、用戶端遠程監(jiān)管的重要組成部分。智能網(wǎng)關實現(xiàn)MQTT協(xié)議數(shù)據(jù)幀和Modbus協(xié)議數(shù)據(jù)幀的相互轉(zhuǎn)換,主要完成設備數(shù)據(jù)的上傳,以及用戶端控制、查詢命令的轉(zhuǎn)發(fā)。
用戶端與智能網(wǎng)關通過部署在云端的MQTT消息代理服務器使用MQTT協(xié)議的發(fā)布/訂閱機制進行通信,實現(xiàn)對設備的遠程控制,實時監(jiān)測設備運行狀況,檢測設備的故障信息。
2智能網(wǎng)關的設計
智能網(wǎng)關實現(xiàn)MQTT協(xié)議數(shù)據(jù)幀和Modbus協(xié)議數(shù)據(jù)幀的相互轉(zhuǎn)換,主要完成高頻搖網(wǎng)器設備數(shù)據(jù)的上傳,以及用戶端控制、查詢命令的轉(zhuǎn)發(fā)。
2.1通信協(xié)議制定
智能網(wǎng)關與PLC的通信協(xié)議格式為標準的Modubus RTU模式。網(wǎng)關作為主機,PLC則工作在從機模式下。其通信波特率均默認為9600 bps,從機響應時間默認為200 ms,根據(jù)需求可以通過智能網(wǎng)關本地配置工具對波特率和從機響應時間進行修改。
為實現(xiàn)監(jiān)視系統(tǒng)的云接入,制訂云通信協(xié)議,以約定用戶端、智能網(wǎng)關端、云服務端三端之間采用基于MQTT協(xié)議的物聯(lián)網(wǎng)系統(tǒng)消息發(fā)布/訂閱方法實現(xiàn)系統(tǒng)遠程通信,將基于內(nèi)容的訂閱轉(zhuǎn)化為約束條件,并將每個約束條件與其對應的主題號的映射關系存儲在映射表中,將基于內(nèi)容的消息推送轉(zhuǎn)化為基于該特定主題的消息推送[7]。本系統(tǒng)中消息內(nèi)容e以JSON格式的鍵值對形式組成,例如{"user Name":"LZ"," temperature ":"25"}。MQTT通信基本結(jié)構(gòu)如圖3所示,其通信主要由MQTT用戶端和消息代理服務器組成。服務器可以接受來自用戶端的網(wǎng)絡連接,接收發(fā)布者發(fā)布的消息,處理訂閱者主題號訂閱和取消訂閱的請求,根據(jù)主題號訂閱推送消息到相應用戶端。MQTT協(xié)議提供一對多的消息發(fā)布,在當前物聯(lián)網(wǎng)系統(tǒng)實時數(shù)據(jù)的需求和設備多樣性的環(huán)境下,這種發(fā)布者與訂閱者之間的松耦合關系使系統(tǒng)具有可擴展性,可以支持更為動態(tài)的網(wǎng)絡拓撲結(jié)構(gòu)[89]。
2.2智能網(wǎng)關硬件設計
智能網(wǎng)關采用STM32F429VIT6作為主控制器,該處理器基于Cortex_M4的內(nèi)核,頻率高達168 MHz,內(nèi)嵌2 Mbyte的閃存,256 Kbyte系統(tǒng)SRAM,提供豐富的存儲及外設資源。智能網(wǎng)關硬件設計包括MCU電路、電源電路、網(wǎng)絡模塊電路、串口通信電路、LED指示電路設計,其結(jié)構(gòu)框圖如圖5所示。其中網(wǎng)絡模塊電路負責將網(wǎng)關接入以太網(wǎng);串口通信電路實現(xiàn)網(wǎng)關與PLC間的通信;LED指示電路,用于智能網(wǎng)關調(diào)試、運行時的狀態(tài)指示,為智能網(wǎng)關的設計和維護提供方便。
2.3智能網(wǎng)關軟件設計
系統(tǒng)采用層次化的軟件設計方法,可分為驅(qū)動層、協(xié)議層和應用層。驅(qū)動層完成和硬件相關的交互;協(xié)議層完成通信協(xié)議棧的設計;應用層則根據(jù)系統(tǒng)的功能要求定制功能。這種設計方法可以保證各程序模塊間的低耦合性和完整性,且方便系統(tǒng)軟件的移植和應用層功能的擴展。
根據(jù)系統(tǒng)功能需求,智能網(wǎng)關軟件部分的任務包括以下幾方面。
(1)智能網(wǎng)關網(wǎng)絡接入。為了滿足對大量感知和控制節(jié)點設備遠程管理的需求,智能網(wǎng)關通過以太網(wǎng)接入網(wǎng)絡。
(2)智能網(wǎng)關云平臺接入。首先根據(jù)固件中寫入的HTTP的端口號和域名或IP建立HTTP連接,再根據(jù)在固件中寫入的產(chǎn)品密鑰,進行產(chǎn)品驗證和設備驗證,驗證成功后獲取到deviceId、需要上傳的數(shù)據(jù)點名稱和MQTT服務器信息(包括IP、端口號),成功連接到MQTT服務器,建立MQTT通信。
(3)云端通信的實現(xiàn)。本系統(tǒng)完成了在硬件平臺上MQTT協(xié)議的實現(xiàn),提供的標準化、結(jié)構(gòu)化MQTT用戶端接口能夠非常方便的訪問MQTT服務器,可以建立智能網(wǎng)關與服務器實時可靠的長連接、在MQTT的基礎上實現(xiàn)端到端的通信,為應用程序提供云端通信服務;發(fā)布數(shù)據(jù)點信息到云平臺,再由MQTT通信服務器轉(zhuǎn)發(fā)給用戶端,從而實現(xiàn)用戶端對高頻搖網(wǎng)器設備實時數(shù)據(jù)的監(jiān)測。
(4)MODBUS通信的實現(xiàn)。智能網(wǎng)關與PLC之間通過MODBUS總線實現(xiàn)數(shù)據(jù)交互,根據(jù)獲取到的數(shù)據(jù)點名稱,對其數(shù)據(jù)點進行周期性查詢。
(5)接收用戶端的控制指令。智能網(wǎng)關訂閱相應的主題號,完成指令解析,并將解析后的數(shù)據(jù)以JSON數(shù)據(jù)幀格式重新打包,打包之后根據(jù)相應的主題號發(fā)布信息,主要包括對數(shù)據(jù)點屬性(上傳狀態(tài)和上傳周期)的修改以及高頻搖網(wǎng)器設備的遠程控制。
(6)智能網(wǎng)關防火墻設計。本系統(tǒng)使用包過濾防火墻,其優(yōu)點是簡單實用,易實現(xiàn),能以較小的代價在一定程度上保證系統(tǒng)的安全。防火墻部署在網(wǎng)絡層的底層,將獲取到的IP地址作為策略引擎的入口,從隊列中獲取完整的IP包。再進入防火墻策略引擎的判決,將IP包中提取的源地址和目標地址等參數(shù)作為認證的關鍵字進行哈希運算,得到該策略記錄在哈希表中的位置,定位到該記錄后,比較記錄中的關鍵字和搜索時的關鍵字,相同即為匹配,不同則繼續(xù)遍歷哈希鏈表,直到找到為止。防火墻策略認為非法的IP包丟棄即可,只接收防火墻策略認為合法的IP包,并進行下一步處理。
3用戶端的實現(xiàn)
本系統(tǒng)的用戶端主要采用WEB開發(fā),包括管理、遠程監(jiān)視、參數(shù)設置三大功能。其中管理包括用戶注冊、用戶權(quán)限設置、設備管理;遠程監(jiān)視有實時數(shù)據(jù)監(jiān)視、歷史數(shù)據(jù)查詢、告警信息查詢等功能[1011];參數(shù)設置主要是對振頻和振幅的設置。
用戶端通過發(fā)布/訂閱約定好的主題號,實現(xiàn)對高頻搖網(wǎng)器的遠程監(jiān)視和統(tǒng)一管理、歷史數(shù)據(jù)的查詢與統(tǒng)計、故障報警等功能,遠程監(jiān)視反饋的信息有利于提高工作人員對結(jié)果分析的準確性,有利于提高生產(chǎn)和管理的智能化,減少維護成本。其功能框圖如圖6所示。
4系統(tǒng)測試
4.1系統(tǒng)測試流程
測試過程需要使用用戶端WEB和硬件設備智能網(wǎng)關進行配合,操作流程如下。
4.1.1用戶端和云平臺
(1)管理員用戶創(chuàng)建產(chǎn)品信息,成功后生成secret,將secret寫智能網(wǎng)關的固件中,作為設備身份驗證的依據(jù)。
(2)管理員用戶將網(wǎng)關的mac信息錄入到產(chǎn)品下。
(3)普通用戶先注冊賬號并創(chuàng)建設備:輸入productName、網(wǎng)關mac地址創(chuàng)建設備集合,再輸入網(wǎng)關名稱deviceName和網(wǎng)關所在地及經(jīng)緯度信息。
(4)云平臺在產(chǎn)品集合中驗證productName和mac信息是否正確,驗證成功后生成設備標識deviceId,將deviceId、productId、mac、deviceName、address等信息添加到設備集合中,完成后回復用戶設備創(chuàng)建成功。
(5)用戶訂閱設備上線的主題號。
4.1.2智能網(wǎng)關與云平臺
(1)智能網(wǎng)關通過secret向云平臺驗證產(chǎn)品信息是否被注冊,注冊成功,則返回secret對應的productId給設備;若注冊不成功,就是沒有在數(shù)據(jù)庫中找到secret,則返回null。
(2)智能網(wǎng)關將獲取的productId和mac發(fā)送至云平臺。
(3)云平臺接收productId和mac,判斷為合法設備后返回deviceId及MQTT服務器信息(包括IP、服務器名稱、接入密碼、端口號);若不合法則返回null。
(4)智能網(wǎng)關根據(jù)接收到的MQTT服務器的信息連接MQTT服務器。
(5)設備發(fā)布上線的消息給MQTT服務器。
4.1.3消息發(fā)布和訂閱
智能網(wǎng)關和用戶端、云平臺通過相互訂閱主題號發(fā)布消息,實現(xiàn)數(shù)據(jù)交換,從而達到遠程監(jiān)視的目的。
4.2實物測試
以阿里云服務器為載體搭建系統(tǒng)測試平臺,首先在云服務器上搭建HTTP服務器Aphache Tomcat、數(shù)據(jù)庫MongoDB、MQTT服務器Aphache Apollo,然后將編譯好的程序部署在云平臺上。
以高頻搖網(wǎng)器設備為應用對象,實現(xiàn)遠程在線調(diào)整振幅、振頻使其胸輥在高頻率下平穩(wěn)運行,對實際相位角、潤滑壓力、軌道壓力和油溫等參數(shù)進行遠程監(jiān)視,用戶能夠通過WEB頁面修改其數(shù)據(jù)更新周期,設置軌道壓力、潤滑壓力和油溫的告警上下限,查詢歷史數(shù)據(jù)及歷史人員操作記錄等。初步試驗表明,系統(tǒng)已達到預期效果,具有較高的應用價值和實際意義。使用WEB用戶端的遠程數(shù)據(jù)監(jiān)視界面如圖7所示。
5結(jié)語
本課題通過分析目前造紙設備的遠程監(jiān)視系統(tǒng)的通信需求,以高頻搖網(wǎng)器為例,解決了設備端與用戶端的遠程通信問題,實現(xiàn)了分布式系統(tǒng)中各方的解耦,方便管理大量的網(wǎng)絡連接。本系統(tǒng)選擇基于主題發(fā)布/訂閱的消息隊列遙測傳輸(MQTT)協(xié)議來實現(xiàn)數(shù)據(jù)交互,實現(xiàn)了用戶端對設備的遠程監(jiān)視和實時狀態(tài)監(jiān)測,故障檢測及歷史數(shù)據(jù)查詢的功能,可以實時監(jiān)視設備的運行狀況、及時排除設備故障,存儲在云端的大量歷史數(shù)據(jù)可以結(jié)合數(shù)據(jù)挖掘分析,為生產(chǎn)決策提供科學依據(jù)。
通過工業(yè)物聯(lián)網(wǎng)遠程監(jiān)視系統(tǒng)可以對不同領域的設備建立功能強大的通信和互聯(lián)網(wǎng)應用,可提高工業(yè)現(xiàn)場設備管理水平,減少維護成本,實現(xiàn)工業(yè)現(xiàn)場設備的遠程監(jiān)測信息化建設。
參考文獻
[1]Yu Helong, Liu Jie, Ma Li, et al. Design and implementation of remote intelligent control system of internet of things for facility agriculture based on Web[J]. Journal of Chinese Agricultural Mechanization, 2014, 35(2): 240.
于合龍, 劉杰, 馬麗, 等. 基于Web的設施農(nóng)業(yè)物聯(lián)網(wǎng)遠程智能控制系統(tǒng)的設計與實現(xiàn)[J]. 中國農(nóng)機化學報, 2014, 35(2): 240.
[2]WANG Haigang, WANG YONGqiang, ZHOU Yixuan. Cognition and Thinking of Chinas Paper Industry Development under the New Normal[J]. Transactions of China Pulp and Paper, 2015, 30(3): 57.
王海剛, 王永強, 周一瑄. 新常態(tài)下對造紙工業(yè)發(fā)展的認識和思考[J]. 中國造紙學報, 2015, 30(3): 57.
[3]WANG Rongpu, ZHANG Genbao, WANG Lingyan, et al. Design and Implementation of Supercalender Monitoring[J]. China Pulp & Paper, 2009, 28(6): 54.
王榮譜, 張根寶, 王凌燕, 等. 超級壓光機監(jiān)控系統(tǒng)的設計與實現(xiàn)[J]. 中國造紙, 2009, 28(6): 54.
[4]Jia Zhaoxi. The Research of Remote Monitoring System Used in Automatic Production Lines Based on the Industrial IOT[D]. Tianjin: Hebei University of Technology, 2015.
賈召喜. 基于工業(yè)物聯(lián)網(wǎng)的生產(chǎn)線遠程監(jiān)控系統(tǒng)研究[D]. 天津: 河北工業(yè)大學, 2015.
[5]Jin Jiangjun. Research on the application of Internet of things in the industrial field[J]. Informatization Construction, 2011(12): 32.
金江軍. 物聯(lián)網(wǎng)技術(shù)在工業(yè)領域的應用研究[J]. 信息化建設, 2011(12): 32.
[6]ZHANG Xiujian, ZHAO Xi, LIANG Zhenhu, et al. Design and Implementation of Zig Bee Based Remote Monitoring System for Paper Wastewater[J]. China Pulp & Paper, 2011, 30(7): 40.
張修建, 趙茜, 梁振虎, 等. 基于ZigBee的造紙廢水遠程監(jiān)控系統(tǒng)設計與實現(xiàn)[J]. 中國造紙, 2011, 30(7): 40.
[7]Zhang Yujie, Zhang Haitao, Zhang Tingting. Research on message distribution/subscription method of Internet of things system based on MQTT[J]. Video Engineering, 2017, 41(z3): 83.
張玉杰, 張海濤, 張婷婷. 基于MQTT的物聯(lián)網(wǎng)系統(tǒng)消息發(fā)布/訂閱方法研究[J]. 電視技術(shù), 2017, 41(z3): 83.
[8]Singh Meena, Rajan M A, Shivraj V L. Secure MQTT for Internet of Things(IoT)[C]. 5th International Conference on Communication Systems and Network Technologies, 2015.
[9]Komkrit Chooruang, Pongpat Mangkalakeeree. Wireless Heart Rate Monitoring System Using MQTT[J]. Procedia Computer Science, 2016, 86: 160.
[10]Wang Jiali, Zhang Xiaobao, Guo Kai, et al. Design of Equipment Monitoring System Based on Internet of Things[J]. Shanxi Electronic Technology, 2015(2): 53.
王家利, 張小寶, 郭凱, 等. 基于物聯(lián)網(wǎng)的設備監(jiān)管系統(tǒng)設計[J]. 山西電子技術(shù), 2015(2): 53.
[11]Liu Fuyuan. Design and Implementation of the MQTT based Message Pushing Platform[D]. Guangzhou: Jinan University, 2015.
劉復源. 基于MQTT協(xié)議的消息推送平臺的設計與實現(xiàn)[D]. 廣州: 暨南大學, 2015.CPP
(責任編輯:董鳳霞)