葉 濤 王 起 張 弛
武漢理工大學(xué)機(jī)電工程學(xué)院 武漢 430070
在實(shí)際生產(chǎn)中,帶式輸送機(jī)運(yùn)行環(huán)境惡劣,大多都采用遠(yuǎn)距離輸送方式,人工巡檢很難適用[1]。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,帶式輸送機(jī)運(yùn)行狀態(tài)監(jiān)測系統(tǒng)的研究已成為工程熱點(diǎn)。姜闊勝等[2]通過倒譜分析采集的托輥運(yùn)行音頻信號,實(shí)現(xiàn)了對托輥的在線監(jiān)測;曾飛等[3]以STM32F103ZET6單片機(jī)為數(shù)據(jù)轉(zhuǎn)發(fā)模塊,利用LabVIEW開發(fā)了輸送帶運(yùn)行狀態(tài)遠(yuǎn)程監(jiān)測系統(tǒng);張金紅等[4]對帶式輸送機(jī)故障類型進(jìn)行分析,將GA-BP算法引入監(jiān)測系統(tǒng),提高了系統(tǒng)故障診斷能力。
上述研究大多針對帶式輸送機(jī)的某個(gè)重要模塊進(jìn)行監(jiān)測,各模塊監(jiān)測系統(tǒng)通訊協(xié)議各不相同,難以實(shí)現(xiàn)帶式輸送機(jī)的集成化管理。在實(shí)際操作中,由于這些系統(tǒng)的專業(yè)性較強(qiáng),難以幫助技術(shù)人員進(jìn)行日常維護(hù)工作。本文針對上述問題,將物聯(lián)網(wǎng)通信技術(shù)、可視化技術(shù)應(yīng)用于帶式輸送機(jī)監(jiān)測系統(tǒng)。通過分析輸送機(jī)日常維護(hù)需求,結(jié)合工作現(xiàn)場研究,設(shè)計(jì)并開發(fā)了一種三維可視化監(jiān)測系統(tǒng),該系統(tǒng)以簡潔直觀的方式協(xié)助技術(shù)人員完成設(shè)備遠(yuǎn)程監(jiān)控、日常作業(yè)維護(hù)等管理工作。
帶式輸送機(jī)整體設(shè)備繁多,若對每一部件都進(jìn)行監(jiān)測,運(yùn)行狀態(tài)數(shù)據(jù)量過大,必然對系統(tǒng)造成很大的負(fù)擔(dān),本系統(tǒng)只對輸送機(jī)重要部件進(jìn)行狀態(tài)監(jiān)測。整個(gè)系統(tǒng)需要采集的數(shù)據(jù)包含輸送機(jī)重要設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)、現(xiàn)場環(huán)境信息及人員管理數(shù)據(jù),其中設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)及環(huán)境信息需要在頁面可視化展示。另外,系統(tǒng)需要以三維可視化的方式向技術(shù)人員展示設(shè)備運(yùn)行信息,在設(shè)備運(yùn)行故障時(shí)報(bào)警處理。
1)監(jiān)控對象分析 帶式輸送機(jī)的組成部件包括輸送帶、托輥、驅(qū)動(dòng)裝置、拉緊裝置、制動(dòng)裝置、清掃裝置、裝載裝置等,其中輸送帶為帶式輸送機(jī)正常工作的核心[5]。在工作現(xiàn)場,使用傳感設(shè)備監(jiān)測這些機(jī)電設(shè)備的運(yùn)行狀態(tài),在可視化界面端實(shí)時(shí)顯示這些設(shè)備的運(yùn)行狀態(tài)數(shù)據(jù),協(xié)助技術(shù)人員及時(shí)了解現(xiàn)場生產(chǎn)情況。
2)數(shù)據(jù)處理分析 對生產(chǎn)數(shù)據(jù)的采集、處理、存儲(chǔ)是實(shí)現(xiàn)可視化監(jiān)測系統(tǒng)的關(guān)鍵步驟。帶式輸送機(jī)現(xiàn)場生產(chǎn)數(shù)據(jù)繁雜,需要對其處理后再展示并存儲(chǔ)。生產(chǎn)數(shù)據(jù)包括設(shè)備狀態(tài)數(shù)據(jù)、現(xiàn)場環(huán)境數(shù)據(jù)和人員管理數(shù)據(jù)。設(shè)備狀態(tài)數(shù)據(jù)如輸送帶的帶速、張緊力、載荷等;現(xiàn)場環(huán)境數(shù)據(jù)主要為溫度、濕度、粉塵濃度等;人員管理數(shù)據(jù)是為企業(yè)安全方面考慮,對不同的技術(shù)人員設(shè)置不同等級的權(quán)限,避免因?qū)I(yè)性不足而誤操作造成生產(chǎn)問題。
3)可視化分析 以3D可視化的形式顯示帶式輸送機(jī)重要組成設(shè)備的工作位置、分布情況及實(shí)時(shí)狀況等信息,同時(shí)可以對設(shè)備運(yùn)行狀態(tài)數(shù)據(jù)分析統(tǒng)計(jì)并圖形化展示,幫助技術(shù)人員及時(shí)了解現(xiàn)場設(shè)備狀況,達(dá)到對設(shè)備的維護(hù)管理,利用WebGL可視化技術(shù)在Web端顯示帶式輸送機(jī)虛擬模型,同時(shí)利用物聯(lián)網(wǎng)技術(shù)完成虛擬世界到現(xiàn)實(shí)世界的映射。
本文采用B/S架構(gòu)設(shè)計(jì)開發(fā)可視化監(jiān)測系統(tǒng),如圖1所示。該框架根據(jù)數(shù)據(jù)采集→業(yè)務(wù)處理→數(shù)據(jù)展示的流向自下而上將數(shù)據(jù)分為4個(gè)層次:物理層、業(yè)務(wù)層、表現(xiàn)層和應(yīng)用層。
圖1 系統(tǒng)總體技術(shù)框架
1)物理層 物理層是整個(gè)系統(tǒng)開發(fā)的基礎(chǔ),基于傳感設(shè)備、驅(qū)動(dòng)裝置、PLC等機(jī)電設(shè)備的通訊接口,利用物聯(lián)網(wǎng)技術(shù)搭建數(shù)據(jù)采集模塊,實(shí)現(xiàn)對帶式輸送機(jī)生產(chǎn)數(shù)據(jù)的采集。
2)業(yè)務(wù)層 采用Springboot后端框架實(shí)現(xiàn)對物理層數(shù)據(jù)的接收,并處理后存儲(chǔ)至MYSQL數(shù)據(jù)庫,該模塊的主要功能有登錄管理、人員管理、日志記錄、數(shù)據(jù)查詢、狀態(tài)查詢、巡檢記錄、遠(yuǎn)程控制、數(shù)據(jù)分析等。
3)表現(xiàn)層 采用Thymeleaf模板引擎及Three.js框架搭建數(shù)據(jù)可視化交互界面。Three.js用于搭建帶式輸送機(jī)三維可視化場景;Thymeleaf模板引擎的主要作用是把業(yè)務(wù)層傳輸?shù)臄?shù)據(jù)渲染到HTML頁面中,實(shí)現(xiàn)數(shù)據(jù)可視化與虛擬場景的結(jié)合[6]。
4)應(yīng)用層 這一層就是技術(shù)人員操作界面,在三維可視化場景中,技術(shù)人員可以很容易地了解帶式輸送機(jī)的運(yùn)行狀況,并對設(shè)備遠(yuǎn)程操控。
采用SolidWorks2021對帶式輸送機(jī)機(jī)電設(shè)備進(jìn)行建模,但導(dǎo)出的.step格式的模型文件并不能被Three.js解析,需要使用SolidWorks Visualize插件把模型文件轉(zhuǎn)換為.gltf格式的文件。
Three.js對WebGL進(jìn)行了封裝,降低了3D開發(fā)的難度,可以解析.gltf格式的輸送機(jī)模型文件在瀏覽器端顯示[7]。Three.js的主要組成為場景、渲染器、相機(jī)等,其中場景是所有圖像對象的容器;相機(jī)決定場景中哪個(gè)圖像對象會(huì)突出展示;渲染器決定圖像對象的渲染結(jié)果[8]。對這些組成部件合理的開發(fā)運(yùn)用即可完成三維場景在網(wǎng)頁端的展示,渲染流程如圖2所示。
圖2 Three.js渲染流程圖
輸送機(jī)生產(chǎn)線跨度大,模型數(shù)據(jù)量龐大,瀏覽器在加載模型時(shí)需要很長的時(shí)間,嚴(yán)重影響用戶體驗(yàn),所以系統(tǒng)采用基于八叉樹視錐體裁剪算法和瀏覽器緩存2種方式進(jìn)行模型優(yōu)化。
1) 基于八叉樹視錐體裁剪算法
基于八叉樹視錐裁剪算法先將空間劃分為8個(gè)小空間,在達(dá)到設(shè)定閾值前對這8個(gè)小空間遞歸劃分[9]。在進(jìn)行網(wǎng)頁加載可視化場景時(shí),對不在視錐體范圍內(nèi)的空間節(jié)點(diǎn)進(jìn)行剔除,同時(shí)遞歸剔除這個(gè)空間節(jié)點(diǎn)下的所有子節(jié)點(diǎn)[10,11]。剔除示意圖如圖3所示。
圖3 剔除示意圖
基于上述理論,對場景進(jìn)行八叉樹劃分后,首先判斷空間節(jié)點(diǎn)是否在視錐體內(nèi)部,判斷依據(jù)為
式中:a、b、c分別為該平面朝向椎體內(nèi)部的法向量的坐標(biāo)分量,x、y、z為待測頂點(diǎn)的空間坐標(biāo),d為世界坐標(biāo)系中原點(diǎn)到該平面的距離。
判斷八叉樹節(jié)點(diǎn)是否在視錐體內(nèi)部,分為3種情況:八叉樹根節(jié)點(diǎn)在視錐體中,視為可見;八叉樹根節(jié)點(diǎn)部分在視錐體中,需要對其子節(jié)點(diǎn)遞歸視錐體剔除,直到葉子節(jié)點(diǎn);八叉樹根節(jié)點(diǎn)不在視錐體中,視為不可見。基于八叉樹的視錐體剔除算法實(shí)現(xiàn)流程如圖4所示。
圖4 基于八叉樹視錐體剔除算法實(shí)現(xiàn)流程圖
2) 瀏覽器緩存
瀏覽器緩存是在瀏覽器端對請求過的資源數(shù)據(jù)進(jìn)行存儲(chǔ),當(dāng)用戶再次訪問同一資源時(shí),瀏覽器直接加載本地緩存,提高頁面加載速度。本文采用協(xié)商緩存的模式進(jìn)行本地資源緩存,協(xié)商緩存是由服務(wù)端決定本地資源是否可用。Last-Modify是服務(wù)端響應(yīng)的該資源最后修改時(shí)間,If-Modify-Since是瀏覽器端上次請求服務(wù)端本地緩存的Last-Modify[12]。用戶端再次訪問服務(wù)端時(shí),服務(wù)端驗(yàn)證Last-Modify一致的情況下使用本地緩存。瀏覽器緩存流程圖如圖5所示。
圖5 瀏覽器端緩存流程圖
1)帶式輸送機(jī)設(shè)備整合
帶式輸送機(jī)設(shè)備種類繁多,各組成設(shè)備來自不同生產(chǎn)商,每個(gè)廠商的通訊協(xié)議也不盡相同,進(jìn)行數(shù)據(jù)采集之前需要對帶式輸送機(jī)生產(chǎn)設(shè)備分析整合。智能監(jiān)測系統(tǒng)接入的設(shè)備主要分為2類:一類為傳感設(shè)備,負(fù)責(zé)采集現(xiàn)場數(shù)據(jù),如振動(dòng)傳感器、濕度傳感器、速度傳感器等;另一類設(shè)備為機(jī)電設(shè)備,負(fù)責(zé)主要生產(chǎn)工作,如灑水裝置、防跑偏裝置、清掃器等。上述設(shè)備均可通過解析其通訊協(xié)議進(jìn)行數(shù)據(jù)采集共作。帶式輸送機(jī)各設(shè)備通訊接口如表1所示。
表1 機(jī)電設(shè)備通訊協(xié)議表
2)生產(chǎn)數(shù)據(jù)采集
在所有設(shè)備整合之后,設(shè)計(jì)了圖6所示數(shù)據(jù)采集方案,箭頭方向?yàn)閿?shù)據(jù)傳輸方向。通訊協(xié)議在TCP/IP協(xié)議之上的設(shè)備直接與以太網(wǎng)連接,其他設(shè)備包括生產(chǎn)設(shè)備、傳感設(shè)備與S7-1500通訊。KEPServer作為第三方的OPC UA服務(wù)器,可以將這些多源格式數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一格式數(shù)據(jù),實(shí)現(xiàn)對帶式輸送機(jī)生產(chǎn)數(shù)據(jù)的統(tǒng)一采集處理[13,14]。在Utgard接口下使用Java編寫OPC UA客戶端實(shí)現(xiàn)服務(wù)器端與OPC UA服務(wù)器通信,實(shí)現(xiàn)數(shù)據(jù)可視化展示[15]。
圖6 數(shù)據(jù)采集方案
數(shù)據(jù)庫是帶式輸送機(jī)智能監(jiān)測系統(tǒng)的關(guān)鍵組成部分,系統(tǒng)采用MYSQL數(shù)據(jù)庫用于整個(gè)系統(tǒng)的存儲(chǔ)管理。數(shù)據(jù)庫的核心是機(jī)電設(shè)備信息庫、監(jiān)測設(shè)備信息庫、技術(shù)人員信息庫及運(yùn)維信息庫。機(jī)電設(shè)備信息庫包含設(shè)備名稱、設(shè)備編號、工作位置及運(yùn)行狀況等;監(jiān)測設(shè)備信息庫包含設(shè)備編號、設(shè)備名稱、監(jiān)測位置等;技術(shù)人員信息庫包含用戶名、郵箱、擁有權(quán)限、手機(jī)號等;運(yùn)維信息庫包含設(shè)備日常報(bào)警信息、維護(hù)信息等。
1) 場景可視化模塊
主界面中可視化場景對帶式輸送機(jī)現(xiàn)場溫度、物料濕度、粉塵濃度、實(shí)時(shí)帶速、電動(dòng)機(jī)電流進(jìn)行監(jiān)測,用圖表方式直觀呈現(xiàn),場景可視化模塊如圖7所示。在該模塊可以看到帶式運(yùn)輸機(jī)整體設(shè)備運(yùn)行狀況以及實(shí)時(shí)報(bào)警信息。
圖7 可視化場景界面
2) 設(shè)備控制模塊
帶式輸送機(jī)中的所有機(jī)電設(shè)備可以在設(shè)備控制模塊查看。如圖8所示,選擇灑水裝置后,可以查看每個(gè)灑水設(shè)備的編號、運(yùn)行狀態(tài)、故障狀態(tài)等。
圖8 設(shè)備控制模塊
3)設(shè)備管理模塊
帶式輸送機(jī)的主要機(jī)電設(shè)備信息可以在設(shè)備管理模塊查看。如圖9所示,帶式輸送機(jī)的主要部件為改向滾筒、托輥組及橡膠輸送帶,在頁面上能夠看到這些組件的詳細(xì)信息及運(yùn)行狀況。
圖9 設(shè)備管理模塊
4) 報(bào)警日志模塊
報(bào)警日志功能如圖10所示。當(dāng)生產(chǎn)設(shè)備運(yùn)行數(shù)據(jù)異?;蛲蝗粩嚅_連接時(shí),服務(wù)端將報(bào)警開始時(shí)間、設(shè)備狀況信息及具體設(shè)備這些信息存儲(chǔ)至數(shù)據(jù)庫,并在Web端展示。通過報(bào)警日志,技術(shù)人員可以針對性地對帶式輸送機(jī)進(jìn)行維護(hù)工作。
圖10 報(bào)警日志模塊
本文通過3D可視化形式展示帶式輸送機(jī)運(yùn)行狀況,可以幫助技術(shù)人員直觀的掌握運(yùn)輸機(jī)狀態(tài)的動(dòng)態(tài)變化,從而及時(shí)發(fā)現(xiàn)并排除潛在的故障風(fēng)險(xiǎn)。可視化監(jiān)測系統(tǒng)將帶式輸送機(jī)機(jī)電設(shè)備整合起來,有效解決了帶式輸送機(jī)設(shè)備管理困難及信息孤島等問題。