康華夏,周正宇,劉文軍,陳 晨
(1.蘇州工業(yè)職業(yè)技術(shù)學(xué)院 軟件與服務(wù)外包學(xué)院,江蘇 蘇州 215104;2. 蘇州礪行信息科技有限公司,江蘇 蘇州 215104)
實(shí)現(xiàn)工業(yè)生產(chǎn)設(shè)備的互聯(lián)和協(xié)同是工業(yè)智能化的基礎(chǔ)。工業(yè)設(shè)備運(yùn)維云平臺(tái)的實(shí)現(xiàn)是工業(yè)設(shè)備網(wǎng)聯(lián)化及應(yīng)用不斷深化的具體體現(xiàn),為生產(chǎn)要素的集約管理和高效利用提供保障,是工業(yè)智能化的基礎(chǔ)。平臺(tái)的構(gòu)建對(duì)于推動(dòng)網(wǎng)絡(luò)技術(shù)與傳統(tǒng)工業(yè)融合、促進(jìn)傳統(tǒng)工業(yè)轉(zhuǎn)型升級(jí)具有重要意義。特別是目前工業(yè)生產(chǎn)中存在設(shè)備運(yùn)維難、管理維護(hù)粗放、產(chǎn)能利用不足、服務(wù)模式落后、溝通協(xié)作性差等現(xiàn)狀大大制約了制造企業(yè)的轉(zhuǎn)型升級(jí)。
當(dāng)前,已將工業(yè)設(shè)備運(yùn)維云平臺(tái)在鋼鐵、風(fēng)電、交通等相關(guān)裝備制造業(yè)進(jìn)行探索和實(shí)踐。完整的運(yùn)維平臺(tái)從功能上通常涉及工業(yè)設(shè)備接入、數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)分析和創(chuàng)新應(yīng)用等多個(gè)環(huán)節(jié)。本文提出了一種針對(duì)工業(yè)場景下通用的設(shè)備運(yùn)維云平臺(tái),主要聚焦設(shè)備管理與監(jiān)控、告警管理、分析模型、設(shè)備維保等功能模塊。從設(shè)計(jì)上要求平臺(tái)具有良好的通用性和擴(kuò)展性。
平臺(tái)采用基于SpringBoot和MyBatis的技術(shù)棧,如圖1所示,自下而上分為協(xié)議接入層、存儲(chǔ)層、持久化層、服務(wù)接口層和前端展示層。其中,現(xiàn)場協(xié)議接入層包含了對(duì)Modbus、OPC-UA等主流工業(yè)協(xié)議以及對(duì)MQTT、HTTP、CoAP等各種IoT協(xié)議的支持。存儲(chǔ)層主要存放業(yè)務(wù)配置數(shù)據(jù)、設(shè)備采點(diǎn)歷史數(shù)據(jù)以及告警數(shù)據(jù),采用MySQL等關(guān)系型數(shù)據(jù)庫。持久化層采用MyBat-is、MyBatis-Plus進(jìn)行SQL映射,ShardingJDBC作為分庫分表中間件,Druid作為數(shù)據(jù)庫連接池。服務(wù)接口層對(duì)外提供業(yè)務(wù)REST API接口和安全認(rèn)證管理,主要通過SpringBoot、JWT等框架實(shí)現(xiàn)。前端展示層使用Vue+Element UI框架,在服務(wù)調(diào)用以及數(shù)據(jù)訪問鏈路中,通過分布于各個(gè)層級(jí)的多級(jí)緩存提升了系統(tǒng)的性能和整體響應(yīng)效率。
圖1 設(shè)備物聯(lián)云平臺(tái)技術(shù)架構(gòu)
考慮穩(wěn)定性和可靠性,引入Zookeeper分布式協(xié)調(diào)組件。通過引入ShardingProxy對(duì)在分庫分表場景下的數(shù)據(jù)庫基礎(chǔ)設(shè)施進(jìn)行高效管理和服務(wù)治理;通過引入Prometheus和Grafana實(shí)現(xiàn)了對(duì)各個(gè)系統(tǒng)節(jié)點(diǎn)健康運(yùn)行的監(jiān)控以及整體的可觀測性。
本平臺(tái)功能架構(gòu)如圖2所示。系統(tǒng)自下而上分為邊緣層、基礎(chǔ)設(shè)施層、平臺(tái)層和業(yè)務(wù)層。邊緣層主要負(fù)責(zé)設(shè)備接入、協(xié)議解析和適配、邊緣數(shù)據(jù)處理。邊緣層由工業(yè)網(wǎng)關(guān)、PC、嵌入式設(shè)備及附屬軟件構(gòu)成,將工業(yè)傳感器、執(zhí)行器、PLC等現(xiàn)場設(shè)備通過工業(yè)協(xié)議接入系統(tǒng)?;A(chǔ)設(shè)施層為整個(gè)系統(tǒng)的業(yè)務(wù)平面提供底層文件服務(wù)、數(shù)據(jù)存儲(chǔ)服務(wù)、消息服務(wù)、緩存服務(wù)、容器服務(wù)。平臺(tái)層包含用戶管理、任務(wù)調(diào)度、事件驅(qū)動(dòng)、接口管理等功能模塊,為系統(tǒng)提供模塊間通信及服務(wù)運(yùn)行機(jī)制,并支持上層各個(gè)模塊的充分解耦。業(yè)務(wù)層功能模塊主要包含設(shè)備管理、告警管理、分析模型管理、維保管理等。
圖2 平臺(tái)功能結(jié)構(gòu)
除縱向功能性架構(gòu)以外,橫向非功能性架構(gòu)分層提供了安全性、高可用性和可觀測性基礎(chǔ)設(shè)施。安全性基礎(chǔ)設(shè)施負(fù)責(zé)統(tǒng)一認(rèn)證、權(quán)限校驗(yàn)、數(shù)據(jù)加密、安全接入,保障系統(tǒng)的安全運(yùn)行。高可用性基礎(chǔ)設(shè)施通過分布式協(xié)調(diào)機(jī)制協(xié)調(diào)多個(gè)冗余節(jié)點(diǎn),能夠在主節(jié)點(diǎn)失效時(shí)自動(dòng)完成主備切換,從而保障系統(tǒng)的業(yè)務(wù)持續(xù)運(yùn)行??捎^測性基礎(chǔ)設(shè)施收集各個(gè)節(jié)點(diǎn)的實(shí)時(shí)運(yùn)行狀態(tài)和度量指標(biāo),并通過儀表板將各種指標(biāo)進(jìn)行實(shí)時(shí)展示,在節(jié)點(diǎn)異?;蛘吖收锨闆r下將消息進(jìn)行實(shí)時(shí)推送。
2.2.1 設(shè)備管理
設(shè)備管理是平臺(tái)的核心模塊,提供對(duì)網(wǎng)關(guān)、設(shè)備模板、設(shè)備、采點(diǎn)等資源的創(chuàng)建、管理和信息維護(hù)。設(shè)備管理資源創(chuàng)建流程如圖3所示。首先依據(jù)工業(yè)設(shè)備類型,創(chuàng)建對(duì)應(yīng)的設(shè)備模板,并定義屬性配置和數(shù)據(jù)采點(diǎn)配置;基于不同的設(shè)備模板創(chuàng)建對(duì)應(yīng)的設(shè)備(或者設(shè)備實(shí)例),創(chuàng)建的設(shè)備中自動(dòng)生成所關(guān)聯(lián)的設(shè)備模板中定義的屬性和數(shù)據(jù)采點(diǎn),并根據(jù)設(shè)備組網(wǎng)設(shè)計(jì)將設(shè)備關(guān)聯(lián)到網(wǎng)關(guān),網(wǎng)關(guān)用于將一個(gè)或者多個(gè)設(shè)備上報(bào)的數(shù)據(jù)通過通信協(xié)議轉(zhuǎn)換后發(fā)送給消息中間件,并最終由平臺(tái)接收并處理。
圖3 設(shè)備管理資源創(chuàng)建流程
2.2.2 分析模型管理
平臺(tái)在提供了對(duì)工業(yè)現(xiàn)場整體設(shè)備采點(diǎn)數(shù)據(jù)和狀態(tài)的監(jiān)控功能基礎(chǔ)上,通過分析模型和基于分析模型的告警規(guī)則來實(shí)現(xiàn)對(duì)現(xiàn)場和設(shè)備異常狀態(tài)和模式的捕獲與識(shí)別;并將此異常以實(shí)時(shí)的告警實(shí)例的方式展現(xiàn)出來。以此實(shí)現(xiàn)對(duì)現(xiàn)場更深入的可觀測性,增強(qiáng)了設(shè)備運(yùn)維的可靠性、業(yè)務(wù)運(yùn)營對(duì)于異常情況響應(yīng)的敏捷性,并提升了整體業(yè)務(wù)的穩(wěn)定性和安全性。
平臺(tái)中的分析模型定義了從設(shè)備數(shù)據(jù)到可識(shí)別的狀態(tài)模式之間的數(shù)學(xué)映射。在實(shí)現(xiàn)和使用上,分析模型通過數(shù)學(xué)公式來表達(dá)這一映射關(guān)系。分析模型與設(shè)備采點(diǎn)以及告警規(guī)則的關(guān)聯(lián)關(guān)系如圖4所示,一個(gè)設(shè)備采點(diǎn)關(guān)聯(lián)一個(gè)或者多個(gè)告警規(guī)則,一個(gè)告警規(guī)則也可以被一個(gè)或者多個(gè)設(shè)備采點(diǎn)所關(guān)聯(lián);告警規(guī)則關(guān)聯(lián)到分析模型,二者關(guān)系為一對(duì)一。在配置流程方面,首先配置分析模型,再配置告警規(guī)則并關(guān)聯(lián)分析模型,最后將設(shè)備采點(diǎn)與告警規(guī)則相關(guān)聯(lián)。
圖4 分析模型與采點(diǎn)規(guī)則的關(guān)聯(lián)關(guān)系
2.2.3 告警管理
以上述分析模型的配置和管理為基礎(chǔ),平臺(tái)還提供了基于分析模型的告警規(guī)則管理,將分析模型映射的結(jié)果通過規(guī)則的設(shè)置來決定告警的觸發(fā),告警的觸發(fā)會(huì)生成相應(yīng)的告警實(shí)例,用于記錄告警的詳細(xì)信息,包括觸發(fā)的告警規(guī)則、告警級(jí)別、告警描述、告警時(shí)間等。
對(duì)于一般的設(shè)備采點(diǎn)監(jiān)控而言,告警規(guī)則用來設(shè)置對(duì)單獨(dú)的采點(diǎn)告警判定評(píng)估規(guī)則。它通常關(guān)聯(lián)單采點(diǎn)分析模型,并且只能被單獨(dú)的采點(diǎn)所關(guān)聯(lián),告警的觸發(fā)會(huì)生成單告警實(shí)例,表示在當(dāng)前關(guān)聯(lián)的采點(diǎn)上發(fā)生了數(shù)據(jù)或者狀態(tài)的異常。單告警實(shí)例流程如圖5所示。
圖5 單告警實(shí)例流程
在某些工業(yè)場景下,對(duì)單一采點(diǎn)的監(jiān)控和規(guī)則設(shè)定并不足以判定評(píng)估是否出現(xiàn)異常狀況,此時(shí)需要采用多個(gè)采點(diǎn)協(xié)同告警的方法,聯(lián)合與同一異常模式有關(guān)聯(lián)關(guān)系的多個(gè)采點(diǎn)(此多個(gè)采點(diǎn)可能位于不同設(shè)備,甚至位于不同網(wǎng)關(guān)下的不同設(shè)備)來協(xié)同設(shè)置告警規(guī)則。由此也需要建立多采點(diǎn)分析模型,以及定義采點(diǎn)組(包含此多個(gè)采點(diǎn)),將告警規(guī)則與此多采點(diǎn)分析模型和采點(diǎn)組相關(guān)聯(lián)來實(shí)現(xiàn)多采點(diǎn)協(xié)同告警。基于這樣的告警規(guī)則觸發(fā)生成多告警實(shí)例,表示來源于采點(diǎn)組中的多個(gè)采點(diǎn)數(shù)據(jù)經(jīng)過模型評(píng)估后符合所定義的異常模式,并觸發(fā)該告警規(guī)則。多告警實(shí)例流程如圖6所示。多設(shè)備采點(diǎn)協(xié)同告警規(guī)則可以跨越多個(gè)設(shè)備上的采點(diǎn),建立較為復(fù)雜的分析模型,并由此處理復(fù)雜業(yè)務(wù)場景下的異常狀態(tài)告警。
圖6 多告警實(shí)例流程
2.2.4 維保管理
平臺(tái)設(shè)計(jì)了設(shè)備維保管理模塊,提供設(shè)備的全生命周期管理功能。設(shè)備的定期維保和告警導(dǎo)致的設(shè)備臨時(shí)維保,均可在平臺(tái)上進(jìn)行信息化管理。在平臺(tái)上可創(chuàng)建針對(duì)某一臺(tái)設(shè)備的維保計(jì)劃;一個(gè)維保計(jì)劃下可創(chuàng)建多個(gè)具體的維保項(xiàng)目,維保項(xiàng)目描述了具體維保內(nèi)容;根據(jù)維保項(xiàng)目對(duì)設(shè)備進(jìn)行某一方面的維保后,將產(chǎn)生維保記錄,包括維保開始時(shí)間、結(jié)束時(shí)間、操作員,方便后續(xù)跟蹤。設(shè)備維保信息維度如圖7所示。
圖7 維保管理流程
如圖8所示,左側(cè)導(dǎo)航欄的“設(shè)備管理”下包含“設(shè)備模板”“網(wǎng)關(guān)列表”“設(shè)備列表”子菜單,分別支持設(shè)備模板、網(wǎng)關(guān)、設(shè)備的創(chuàng)建、修改、查看、刪除等操作?!霸O(shè)備模板”用于對(duì)同一類型或者型號(hào)的工業(yè)設(shè)備進(jìn)行元數(shù)據(jù)的配置和建模,主要包含對(duì)數(shù)據(jù)采點(diǎn)的配置以及屬性的配置。網(wǎng)關(guān)作為數(shù)據(jù)采集監(jiān)控組網(wǎng)環(huán)境中的核心節(jié)點(diǎn),對(duì)下承載了工業(yè)現(xiàn)場數(shù)據(jù)的上報(bào)和工業(yè)協(xié)議數(shù)據(jù)轉(zhuǎn)換,對(duì)上承擔(dān)物聯(lián)網(wǎng)協(xié)議適配和向云端進(jìn)行數(shù)據(jù)上報(bào)?!霸O(shè)備監(jiān)控”可以對(duì)設(shè)備數(shù)據(jù)和狀態(tài)進(jìn)行在線實(shí)時(shí)監(jiān)控。
圖8 設(shè)備管理界面
如圖9所示,從主頁面左側(cè)導(dǎo)航欄“分析模型管理—分析模型管理”進(jìn)入分析模型主頁面,以該頁面為入口,能夠支持對(duì)分析模型的創(chuàng)建、修改、查看、查找、刪除等操作。
圖9 分析模型管理界面
如圖10所示,“采點(diǎn)組”和“告警規(guī)則”可以分別對(duì)采點(diǎn)組和告警規(guī)則進(jìn)行創(chuàng)建、修改、查看、查找、刪除等操作?!皢胃婢瘜?shí)例”和“多告警實(shí)例”可以分別查詢系統(tǒng)的單告警實(shí)例和多告警實(shí)例,告警實(shí)例是由采點(diǎn)告警規(guī)則觸發(fā)生成的。
圖10 告警管理界面
如圖11所示,“維保計(jì)劃”和“維保記錄”分別支持各自功能的創(chuàng)建、修改、查看、查找、刪除等操作?!熬S保計(jì)劃”定義了所要進(jìn)行維保的設(shè)備,還包含操作員、設(shè)備ID、計(jì)劃描述等信息;“維保記錄”用于跟蹤設(shè)備的維保歷史,記錄維保的相關(guān)信息,包括開始時(shí)間、結(jié)束時(shí)間、操作員等。
圖11 維保管理界面
工業(yè)物聯(lián)網(wǎng)為制造業(yè)數(shù)字化轉(zhuǎn)型、經(jīng)濟(jì)高質(zhì)量發(fā)展注入強(qiáng)大動(dòng)能。針對(duì)工業(yè)設(shè)備的便捷接入和高效管理等典型問題,給出了一種工業(yè)設(shè)備運(yùn)維云平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn),平臺(tái)支持多種主流工業(yè)協(xié)議,實(shí)現(xiàn)設(shè)備的快速接入,支持設(shè)備管理、告警管理、維保管理等功能。平臺(tái)采用分層架構(gòu),具有良好的擴(kuò)展性,分布式組件的使用保證了平臺(tái)的高可靠性。在具體應(yīng)用和實(shí)踐中將不斷強(qiáng)化工業(yè)大數(shù)據(jù)分析與工業(yè)機(jī)理模型的融合,使得智能化水平不斷提升。