彭 瑾
(安徽水利水電職業(yè)技術(shù)學(xué)院, 安徽 合肥 230000)
伴隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,如何對于數(shù)字孿生技術(shù)進(jìn)行分析,并將其廣泛運(yùn)用于物聯(lián)網(wǎng)技術(shù)裝備之中,提高其技術(shù)效果成為針對于物聯(lián)網(wǎng)以及相關(guān)系統(tǒng)控制的中心點(diǎn)。本文設(shè)計(jì)了一種基于數(shù)字孿生的物聯(lián)網(wǎng)工業(yè)運(yùn)維系統(tǒng),以MQTT 協(xié)議為基礎(chǔ)云計(jì)算平臺,并且對于運(yùn)維系統(tǒng)控制裝置與結(jié)構(gòu)進(jìn)行分析。進(jìn)一步提高其使用效率,針對設(shè)備運(yùn)行情況互聯(lián)網(wǎng)裝備控制特點(diǎn)以及裝備信息結(jié)構(gòu)進(jìn)行調(diào)整。以便對于工業(yè)設(shè)備、云巡邏結(jié)構(gòu)進(jìn)行組合優(yōu)化[1]。
在本次工業(yè)物聯(lián)網(wǎng)系統(tǒng)運(yùn)維控制過程中,員工可以通過工號在物聯(lián)網(wǎng)平臺上進(jìn)行登錄,并進(jìn)入到物聯(lián)網(wǎng)云平臺界面內(nèi)。該界面包括多種模式,如工業(yè)現(xiàn)場實(shí)時(shí)運(yùn)行模式、運(yùn)維平臺控制、歷史數(shù)據(jù)監(jiān)測、工業(yè)現(xiàn)場調(diào)試、遠(yuǎn)程專家指導(dǎo)、壓力測試和預(yù)案推演等等。通過這些模式的控制設(shè)計(jì)與分析,滿足預(yù)案推演狀態(tài)模擬和應(yīng)急演練等等功能,也符合系統(tǒng)控制的一般性需要。
本設(shè)計(jì)只是基于小型工廠與客戶之間的交互,因此不需要非常高級的軟硬件技術(shù),本著開發(fā)的項(xiàng)目可以適用于市面上絕大部分設(shè)備為目標(biāo)進(jìn)行設(shè)計(jì),采用jsp 技 術(shù)、strust2 框 架、spring 框 架、hibernate 框 架、tomcat 服務(wù)器和mysql 數(shù)據(jù)庫,使用eclipsejee 進(jìn)行開發(fā)。jsp 程序性能優(yōu)越可以用最簡單的方式來實(shí)現(xiàn)最復(fù)雜的應(yīng)用,也可跨平臺開發(fā)。strust2 框架、spring 框架和hibernate 框架合稱SSH 框架,具有良好的擴(kuò)展性和可維護(hù)性,頁面脈絡(luò)清晰,占用內(nèi)存少等優(yōu)勢。在經(jīng)濟(jì)可行性上,程序員開發(fā)出網(wǎng)頁程序后,購買方可以通過網(wǎng)絡(luò)進(jìn)行輕松下單,并能實(shí)時(shí)了解訂單當(dāng)前處理狀況,而工廠方通過網(wǎng)頁可以看到全部訂單信息的合集,并實(shí)時(shí)更新訂單信息,系統(tǒng)后期只需要程序員定期維護(hù),經(jīng)濟(jì)上可行性沒有問題?;谏鲜龇治霰鞠到y(tǒng)在技術(shù)和經(jīng)濟(jì)方面都具有可行性,可以進(jìn)行下一步的開發(fā)。在本物聯(lián)網(wǎng)平臺的設(shè)計(jì)過程中,需要考慮到整體平臺的并發(fā)性能,因此本文選取了MQTT 協(xié)議作為平臺的運(yùn)送協(xié)議,協(xié)議專為低功率的目標(biāo)進(jìn)行設(shè)計(jì),其特點(diǎn)是在每一個(gè)消息頭部相較于其他協(xié)議都會縮小兩個(gè)自己的長度用于減少長時(shí)間的連接,防止資源損耗[2-3]。
在物聯(lián)網(wǎng)平臺的設(shè)計(jì)過程中,需要考慮整體平臺的警方性能。在流量計(jì)、壓力計(jì)和溫度傳感器的設(shè)計(jì)過程中,通過采集這些傳感器與運(yùn)行的數(shù)據(jù)。對于現(xiàn)場監(jiān)測設(shè)備和實(shí)時(shí)裝備做出分析此外,現(xiàn)場設(shè)備層還負(fù)責(zé)數(shù)字的實(shí)現(xiàn)與控制。它的目的是將生產(chǎn)現(xiàn)場的數(shù)據(jù)信息進(jìn)行整合,本文借助unity3D 對于裝備的位置、外貌特征和操作牌的性質(zhì)進(jìn)行分析。該模型與真實(shí)的物理場景基本一致,體現(xiàn)了現(xiàn)場設(shè)備層對于設(shè)備實(shí)體的真實(shí)寫照。同時(shí)也符合其中的一些基礎(chǔ)設(shè)備,還需要對于現(xiàn)場數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)進(jìn)行監(jiān)測,實(shí)現(xiàn)環(huán)境匹配和模型匹配,以此完成虛擬環(huán)境和物理環(huán)境的同步[4]。
在網(wǎng)絡(luò)通信層的設(shè)計(jì)過程中,主要是通過MQTT協(xié)議去對其進(jìn)行實(shí)現(xiàn)。基于TCP/IP 協(xié)議,該協(xié)議是對于信息的傳輸進(jìn)行控制,訂閱者信息管理者和發(fā)布者所組成,其中客戶端、訂閱者、發(fā)布者、消息代理者、MQTT 協(xié)議的代理服務(wù)商。由于消息代理的存在,訂閱者和發(fā)布者無需相互確認(rèn),通過中間位置和端口網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行信息,傳輸接著網(wǎng)絡(luò)通信層作為代理服務(wù)器會繼續(xù)對其進(jìn)行控制。在代理服務(wù)管理過程中,MQTT 代理服務(wù)器的信息傳輸包括三種分別為只有一次,最多一次和至少一次等等,通過此連接網(wǎng)絡(luò)可以將信息準(zhǔn)確無誤地傳遞到系統(tǒng)之中。
本設(shè)計(jì)模擬了一個(gè)生產(chǎn)工廠,上架商品均為制作羽毛球的各種原材料,如不同形狀的羽毛、不同材質(zhì)的羽毛球頭和粘合用的膠水等。本模塊有如下幾大功能:
1)登陸功能:管理員用戶名及密碼已提前預(yù)設(shè)好,在頁面上可以直接登陸。
2)管理商品:管理員可以上架、下架或刪除商品,以及價(jià)格與詳細(xì)信息調(diào)整。
3)管理訂單信息:管理員可以查看下單訂單的全部信息,并進(jìn)行是否完成第一階段、是否完成第二階段和是否發(fā)貨的操作。
4)管理用戶信息:管理員可以查看所有已注冊用戶的信息,并且可以查詢或刪除這些信息。
5)修改登錄密碼:輸入兩次完全一致的新密碼后密碼修改成功[5]。
本模塊設(shè)計(jì)目標(biāo)在為下單用戶提供優(yōu)質(zhì)的購物體驗(yàn),讓用戶足不出戶就能瀏覽到工廠所出售的商品類別與品質(zhì),并且下單后能夠?qū)崟r(shí)查看訂單進(jìn)展進(jìn)度,節(jié)省人力、物力、時(shí)間。本模塊有如下幾大功能:
1)注冊功能:用戶通過輸入自己的個(gè)人基本信息即可注冊成為會員,同時(shí)有檢測用戶名是否重復(fù)的功能,防止多對一導(dǎo)致訂單錯(cuò)誤的問題的發(fā)生。
2)登陸功能:已注冊的用戶通過注冊時(shí)輸入的用戶名和密碼即可登陸本系統(tǒng)。
3)瀏覽網(wǎng)頁:本系統(tǒng)首頁顯示上新最新產(chǎn)品和購買鏈接,左側(cè)商品分類導(dǎo)航欄可以快速定位至某分類商品目錄下,右上角有搜索欄支持模糊搜索。
4)購物車管理:用戶登錄系統(tǒng)后可以查看、添加或刪除商品。
5)訂單管理:已登錄用戶可以查看自己訂單的詳細(xì)信息,如下單時(shí)間、訂單狀態(tài)等。
6)修改登錄密碼:輸入兩次完全一致的新密碼后密碼修改成功。
一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)需要用數(shù)據(jù)字典來描述,基于需求分析階段,是下一設(shè)計(jì)階段的基礎(chǔ),可以根據(jù)實(shí)際情況不斷修正。對于數(shù)據(jù)庫,可以規(guī)范數(shù)據(jù)的格式并對存儲數(shù)據(jù)進(jìn)行描述。對于開發(fā)中的項(xiàng)目,可以規(guī)范項(xiàng)目中數(shù)據(jù)的格式,并使存儲項(xiàng)目中的數(shù)據(jù)和現(xiàn)實(shí)社會相對應(yīng)。對于使用中的項(xiàng)目,可以通過模糊查詢自動匹配用戶的輸入,使用戶輸入的數(shù)據(jù)更加準(zhǔn)確。根據(jù)上述數(shù)據(jù)流圖,本設(shè)計(jì)的數(shù)據(jù)字典主要包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)存儲和處理過程這幾部分,具體內(nèi)容如表1 所示。
表1 關(guān)鍵數(shù)據(jù)項(xiàng)
搭建項(xiàng)目之前必須先要把數(shù)據(jù)庫建好,把數(shù)據(jù)庫建好的關(guān)鍵就在于前期需要根據(jù)用戶的需求,把想要放進(jìn)數(shù)據(jù)庫中的實(shí)體全部羅列出來,如果在設(shè)計(jì)的過程中發(fā)現(xiàn)有遺漏或邏輯錯(cuò)誤等,雖然修改數(shù)據(jù)庫并不困難,但有可能涉及的工程極為繁瑣,工程量過于繁重,因此前期的需求分析極為重要。通過本文的調(diào)研分析,本數(shù)據(jù)庫需要5 個(gè)表,分別是存儲用戶詳細(xì)信息的users 表,存儲商品詳細(xì)信息的commoditys 表,存儲商品種類的commodityclasses 表,存儲訂單詳細(xì)信息的orderform 表和存儲管理員信息的admins 表[6-7]。
在開發(fā)項(xiàng)目的時(shí)候,一定要先有頁面再發(fā)請求,層層調(diào)用項(xiàng)目才不會出錯(cuò)。項(xiàng)目一共分三層:表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)庫層。清楚項(xiàng)目的架構(gòu),可以明確請求的發(fā)送流程,可以使項(xiàng)目的搭建變簡單。第一層為表現(xiàn)層,或稱展示層,將數(shù)據(jù)展示給用戶看,一般會使用css、html、js、jQuery、jsp 等技術(shù),動態(tài)網(wǎng)頁通常用jsp 等技術(shù)實(shí)現(xiàn),用jsp 展示數(shù)據(jù)用jstl 標(biāo)簽+El 表達(dá)式。前端框架有JqueryEasyUI 和BootStrap。第二層為java 后臺的業(yè)務(wù)邏輯層,其中還要?jiǎng)澐秩龑樱嚎刂茖踊蚪尤雽?、服?wù)層和持久層??刂茖佑脕斫邮沼脩舻恼埱笠约皡?shù),調(diào)用服務(wù)層,用request 或session 存儲數(shù)據(jù),進(jìn)行資源跳轉(zhuǎn)(跳轉(zhuǎn)至jsp 或Servlet 等)。常用控制層框架有struts2 和SpringMVC。服務(wù)層又稱中間層,用來處理業(yè)務(wù)邏輯,拋除自定義異常,調(diào)用持久層。中間層框架為Spring。持久層與數(shù)據(jù)庫打交道,進(jìn)行數(shù)據(jù)的增刪改查,數(shù)據(jù)永久有效,拋出Sql 異常,通過jdbc 讓java 代碼與數(shù)據(jù)庫交互。持久層框架有Mybatis 和Hibernate。第三層為數(shù)據(jù)庫層DB,通常會用Mysql 或Oracle。系統(tǒng)在設(shè)計(jì)步數(shù)之后登錄借點(diǎn)、點(diǎn)擊粗軋,低壓系統(tǒng),可以進(jìn)入到該車間的虛擬界面內(nèi)。系統(tǒng)中的左下角可以選擇第一人稱、第二視角或者第三視角等等系統(tǒng)在左下角可以選擇第一人稱,圖1 為第三視角巡查站的截圖。在第三視角下,可以實(shí)現(xiàn)其整體粗軋低壓棒的外觀觀察和設(shè)計(jì)控制。
圖1 系統(tǒng)結(jié)果
本工廠下單系統(tǒng)整體采用藍(lán)色調(diào)的設(shè)計(jì),在首頁左上角標(biāo)注當(dāng)前日期,右上角標(biāo)明系統(tǒng)名稱,頭部導(dǎo)航欄可以快速跳轉(zhuǎn)到首頁、在線購、我的購物車、用戶登錄和用戶注冊這五大模塊,左側(cè)商品分類導(dǎo)航欄可快速跳轉(zhuǎn)到某一類商品的合集頁面,正中央展示當(dāng)前系統(tǒng)銷售的包括商品名稱、原價(jià)、現(xiàn)價(jià)的兩件商品,還可以通過點(diǎn)擊相應(yīng)按鈕加入購物車或查看商品詳情。右側(cè)的搜索欄可以通過模糊搜索查詢到想要查詢的商品。購物車模塊可以跳轉(zhuǎn)到登錄用戶的購物車界面,未為登錄用戶會跳轉(zhuǎn)到登錄界面。用戶登錄模塊提供登錄、注冊和找回密碼三大模塊。左下角的論壇公告模塊不停滾動“工廠下單系統(tǒng)開通了,歡迎廣大客戶光臨”。其他頁面的設(shè)計(jì)思路與主頁面基本一致,因此本文就只集中介紹主頁面的設(shè)計(jì)。
通過基于數(shù)字孿生的物聯(lián)網(wǎng)工業(yè)運(yùn)維系統(tǒng)設(shè)計(jì),該系統(tǒng)還使用了數(shù)字孿生技術(shù),將十字車間裝置進(jìn)行虛擬化,并且完成了在工業(yè)系統(tǒng)控制以及結(jié)構(gòu)上的優(yōu)化?;谀壳肮I(yè)裝置和物流系統(tǒng)的控制與可持續(xù)化分析,通過MQTT 協(xié)議,建立服務(wù)端和可視化前端界面,進(jìn)一步提高工業(yè)系統(tǒng)的穩(wěn)定性。