1 概述
軟件設(shè)計(jì)經(jīng)歷3個(gè)階段:基于過程(process-oriented),基于對(duì)象(object-oriented)和基于組件(component-oriented)。在過去20年里,這些遠(yuǎn)程過程調(diào)用(Remote Procedure Call),如分布式組件對(duì)象模型(Distributed Component Object Model)和通用對(duì)象請(qǐng)求代理體系結(jié)構(gòu)(Common Object Request BrokerArchitecture)等,在許多領(lǐng)域取得較大成功。在設(shè)備故障診斷領(lǐng)域,研究者主要利用這些技術(shù)來開發(fā)狀態(tài)監(jiān)測(cè)和故障診斷系統(tǒng)實(shí)現(xiàn)對(duì)重要企業(yè)重要設(shè)備維修和維護(hù),如風(fēng)機(jī)、軸、蒸汽輪機(jī)、水力發(fā)電機(jī)等。然而,如果企業(yè)級(jí)系統(tǒng)功能繁多,企業(yè)內(nèi)部程序的開發(fā)平臺(tái)、編程語言等很可能各不相同,要在企業(yè)內(nèi)部實(shí)現(xiàn)諸多功能的整合是非常困難的事情。同時(shí)還需要考慮到系統(tǒng)的安全性、擴(kuò)展性等方面的要求。基于以往設(shè)計(jì)方法的診斷系統(tǒng)存在著重用性差、異構(gòu)平臺(tái)調(diào)用困難、互操作性差、緊耦合等諸多缺陷。要實(shí)現(xiàn)易于擴(kuò)展的、功能可柔性組合、跨異構(gòu)平臺(tái)的企業(yè)級(jí)設(shè)備狀態(tài)監(jiān)測(cè)與故障診斷系統(tǒng),基于以往的設(shè)計(jì)方法已無法滿足這樣的要求。
隨著IT技術(shù)的發(fā)展,為解決異構(gòu)性、互操作性以及軟件系統(tǒng)不斷改變的要求所帶來的系列問題,面向服務(wù)架構(gòu)(Service-Oriented Architecture, SOA)的研究已逐年深入并獲得應(yīng)用,將SOA及其相關(guān)技術(shù)引入機(jī)械設(shè)備的狀態(tài)監(jiān)測(cè)與故障診斷系統(tǒng)應(yīng)用開發(fā)領(lǐng)域都具有重要意義。本文介紹基于SOA的狀態(tài)監(jiān)測(cè)與預(yù)測(cè)系統(tǒng)的架構(gòu)設(shè)計(jì),并應(yīng)用WCF技術(shù)對(duì)預(yù)測(cè)模型加以實(shí)現(xiàn)并驗(yàn)證。
2 基于SOA的設(shè)備診斷和預(yù)測(cè)系統(tǒng)體系架構(gòu)
目前,各個(gè)企業(yè)使用自身的故障診斷系統(tǒng)實(shí)現(xiàn)對(duì)機(jī)器設(shè)備的監(jiān)測(cè)和故障診斷,有一定的局限性。企業(yè)的知識(shí)庫、規(guī)則庫有限,可能無法對(duì)各種設(shè)備故障進(jìn)行及時(shí)診斷。如果各個(gè)企業(yè)和科研院所都將相關(guān)的知識(shí)庫、方法庫等商業(yè)邏輯通過SOA技術(shù)發(fā)布為服務(wù),那么企業(yè)就可以充分利用網(wǎng)絡(luò)資源來實(shí)現(xiàn)機(jī)械設(shè)備的遠(yuǎn)程故障診斷,這能夠大大提高效率,減少成本,并實(shí)現(xiàn)診斷資源共享的目的。將SOA技術(shù)引入機(jī)械設(shè)備遠(yuǎn)程故障診斷領(lǐng)域,將在很大程度上提高故障診斷的準(zhǔn)確性。
在分布式故障診斷系統(tǒng)中,應(yīng)用SOA技術(shù)能夠更好地解決原有系統(tǒng)中的跨平臺(tái)和跨防火墻等問題,并且很好地改善系統(tǒng)的可擴(kuò)展性和伸縮性。SOA的引入使得整個(gè)聯(lián)合故障診斷系統(tǒng)體現(xiàn)松耦合、開放等特點(diǎn),這就能隨時(shí)允許故障診斷服務(wù)的加入或退出,解決了以往無法在異構(gòu)平臺(tái)間共享數(shù)據(jù)和服務(wù)的問題,提高網(wǎng)絡(luò)診斷資源的利用率。
面向服務(wù)框架(Service-Oriented Framework Architecture,SOFA)是整個(gè)基于SOA狀態(tài)監(jiān)測(cè)和預(yù)測(cè)系統(tǒng)體系結(jié)構(gòu)中的核心,它主要實(shí)現(xiàn)業(yè)務(wù)服務(wù)(Business Service)和業(yè)務(wù)處理邏輯(Business Process Logic),為智能客戶端(Smart Client)提供服務(wù)。SOFA 分為基礎(chǔ)業(yè)務(wù)服務(wù)層、業(yè)務(wù)服務(wù)總線以及業(yè)務(wù)處理層。
基礎(chǔ)業(yè)務(wù)服務(wù)層包括很多細(xì)粒度的服務(wù),如特征提取、診斷算法、數(shù)據(jù)分析算法、數(shù)據(jù)實(shí)時(shí)存儲(chǔ)、權(quán)限設(shè)定、報(bào)表、設(shè)備各種管理等。這些服務(wù)被包裝成單個(gè)服務(wù)或者根據(jù)復(fù)雜性對(duì)幾個(gè)細(xì)粒度的服務(wù)進(jìn)行合成形成一個(gè)粗粒度服務(wù)。
最終,這些服務(wù)被繼承到業(yè)務(wù)服務(wù)總線上成為面向業(yè)務(wù)的服務(wù)。圖1為基于SOA的設(shè)備診斷與預(yù)測(cè)系統(tǒng)架構(gòu)。
圖1 基于SOA的系統(tǒng)架構(gòu)
為便于對(duì)業(yè)務(wù)進(jìn)行訪問,將基礎(chǔ)業(yè)務(wù)層主要分為4種業(yè)務(wù)服務(wù)總線:權(quán)限驗(yàn)證,數(shù)據(jù)訪問,診斷分析和文檔報(bào)表服務(wù)。每個(gè)業(yè)務(wù)服務(wù)總線都是由若干個(gè)細(xì)粒度的服務(wù)集成的,因此,每個(gè)業(yè)務(wù)服務(wù)總線都包含了多個(gè)面向消費(fèi)者的、獨(dú)立于底層組件的粗粒度服務(wù)。這樣做的好處在于有利于實(shí)現(xiàn)獨(dú)立于組件的業(yè)務(wù),當(dāng)需求變化時(shí)只需要調(diào)整服務(wù)而不用修改底層細(xì)粒度服務(wù)。利用業(yè)務(wù)服務(wù)總線更具有實(shí)際意義的是:能夠支持跨平臺(tái)的不同服務(wù)組件之間的基本交互,還將異構(gòu)平臺(tái)間的基礎(chǔ)結(jié)構(gòu)功能整合為一體。
3 基于SOA的設(shè)備診斷和預(yù)測(cè)系統(tǒng)的實(shí)現(xiàn)
3.1遠(yuǎn)程數(shù)據(jù)采集
數(shù)據(jù)采集是系統(tǒng)的主要信息來源,一般情況下,數(shù)據(jù)采集位于工業(yè)現(xiàn)場(chǎng),距離企業(yè)監(jiān)測(cè)中心比較遠(yuǎn)。因此,為便于對(duì)數(shù)據(jù)采集系統(tǒng)進(jìn)行操作,用WCF技術(shù)實(shí)現(xiàn)對(duì)采集系統(tǒng)的遠(yuǎn)程監(jiān)控,企業(yè)工程師可以在監(jiān)測(cè)中心非常容易地實(shí)現(xiàn)遠(yuǎn)程啟動(dòng)、停止采集和實(shí)時(shí)獲取等功能。由于是基于面向服務(wù)的,因此客戶端可通過配置服務(wù)的綁定(Binding),實(shí)現(xiàn)安全可靠的消息傳輸,以達(dá)到對(duì)數(shù)據(jù)采集子系統(tǒng)進(jìn)行管理的目的。這也是SOA技術(shù)在遠(yuǎn)程故障診斷系統(tǒng)中的應(yīng)用之一。
基于WCF的數(shù)據(jù)采集,它是作為服務(wù)的提供者存在的,它將與數(shù)據(jù)采集相關(guān)的服務(wù)發(fā)布出來由監(jiān)控端進(jìn)行調(diào)用,從而達(dá)到監(jiān)視實(shí)時(shí)數(shù)據(jù)、控制數(shù)據(jù)采集系統(tǒng)的目的。如果每臺(tái)數(shù)據(jù)采集系統(tǒng)都將其服務(wù)發(fā)布到企業(yè)網(wǎng)內(nèi),可以通過一臺(tái)監(jiān)控機(jī)完成對(duì)多臺(tái)數(shù)據(jù)采集機(jī)器監(jiān)控,有利于管理,從企業(yè)級(jí)設(shè)備監(jiān)測(cè)和故障診斷系統(tǒng)的架構(gòu)上看,好處在于將數(shù)據(jù)采集程序(數(shù)據(jù)層)的各個(gè)邏輯功能以服務(wù)的形式發(fā)布,完全符合SOA的概念,有利于整個(gè)系統(tǒng)的擴(kuò)展和伸縮性。
圖2 遠(yuǎn)程采集控制的結(jié)構(gòu)
3.2 故障診斷和趨勢(shì)預(yù)測(cè)
近年來,設(shè)備維護(hù)逐漸從事后維護(hù)到預(yù)防性維護(hù),一直轉(zhuǎn)變到現(xiàn)在的狀態(tài)維護(hù)。狀態(tài)維護(hù)主要側(cè)重于設(shè)備的智能診斷和趨勢(shì)預(yù)測(cè),能夠在事發(fā)之前給維護(hù)人員提供可靠的維護(hù)依據(jù),制定維修計(jì)劃,這樣可以避免意外停機(jī),減少停機(jī)次數(shù),提高生產(chǎn)效率,減小維修成本。
基于上述特點(diǎn),設(shè)備監(jiān)測(cè)需要不間斷進(jìn)行并且能夠給出設(shè)備的狀態(tài)變化情況及運(yùn)行趨勢(shì)。關(guān)于故障診斷方面的系統(tǒng)應(yīng)用很多,這里不再贅述,本系統(tǒng)采用多種模型對(duì)設(shè)備的運(yùn)行趨勢(shì)進(jìn)行預(yù)測(cè),并結(jié)合監(jiān)測(cè)指標(biāo)的報(bào)警閾值,對(duì)設(shè)備的剩余壽命進(jìn)行估算,本系統(tǒng)中采用的預(yù)測(cè)算法主要包括支持向量機(jī)(Support VectorMachine, SVM)[6]和神經(jīng)網(wǎng)絡(luò)(neural network)[7]等。下面給出用WCF技術(shù)實(shí)現(xiàn)SVM預(yù)測(cè)模型的具體方法。
3.2.1 SVM服務(wù)的發(fā)布
系統(tǒng)的開發(fā)是基于Visual Studio.Net 2005,首先定義WCF協(xié)議,協(xié)議里包括輸入輸出參數(shù)。在SVM服務(wù)中,需要設(shè)置2個(gè)函數(shù):訓(xùn)練SVM和基于SVM的狀態(tài)預(yù)測(cè),因此,[OperationContract]可以創(chuàng)建為
[0perationContract]
void VsnSVM—Train(...);
void VsnSVM—Predict(...);
然后建立服務(wù),通過添加引用將SVM算法的DLL文件加載到服務(wù)中,服務(wù)中需定義與協(xié)議中制定的形式相同的服務(wù)函數(shù),在函數(shù)中調(diào)用DLL實(shí)現(xiàn)算法。由于在WCF技術(shù)中,服務(wù)是以類的形式建立的,因此需要建立宿主來承載服務(wù),用以控制其啟動(dòng)與關(guān)閉。WCF支持的宿主類型有很多,這里用IIS承載的方式把服務(wù)進(jìn)行發(fā)布。
在Host端,需要對(duì)端點(diǎn)進(jìn)行配置來確保服務(wù)的唯一性以方便客戶端調(diào)用,因此,需要定義地址(Address)、合同(Contract)和綁定(Binding)。主要配置如下:
服務(wù)的相關(guān)信息注冊(cè)在統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議(Universal Description,Discovery,and Integration,UDDI)注冊(cè)服務(wù)器上?蛻舳嘶蛘哂脩艨梢栽诜⻊(wù)器上找到這些服務(wù)進(jìn)行調(diào)用。一般情況下,服務(wù)器提供服務(wù)描述和服務(wù)的相關(guān)參數(shù),用戶可以通過Web服務(wù)器描述語言(Web ServiceDescription Language,WSDL)和XML Schema定義(XSD)獲得服務(wù)描述。
3.2.2 SVM服務(wù)的消費(fèi)
創(chuàng)建一個(gè)WCF服務(wù)并不復(fù)雜,當(dāng)客戶端查找SVM服務(wù)時(shí),可以請(qǐng)求此服務(wù)的配置文件(包含端點(diǎn)、服務(wù)合同),并將配置文件加載到本地應(yīng)用程序中然后對(duì)服務(wù)進(jìn)行消費(fèi)。需要注意的是,客戶端調(diào)用時(shí)必須采用如下配置才能正確調(diào)用:
模型訓(xùn)練完畢后,相應(yīng)的變量存入數(shù)據(jù)庫。當(dāng)需要對(duì)設(shè)備的狀態(tài)進(jìn)行預(yù)測(cè)時(shí),調(diào)用數(shù)據(jù)庫中的相應(yīng)參數(shù),再建立預(yù)測(cè)通道對(duì)數(shù)據(jù)進(jìn)行預(yù)測(cè)。預(yù)測(cè)服務(wù)的調(diào)用與訓(xùn)練服務(wù)調(diào)用類似。圖3為基于WCF的故障診斷界面。
圖3 基于WCF的系統(tǒng)部分界面
4 結(jié)束語
本文將SOA引入到設(shè)備的狀態(tài)監(jiān)測(cè)、故障診斷和趨勢(shì)預(yù)測(cè)領(lǐng)域中,并提出基于SOA的狀態(tài)監(jiān)測(cè)和預(yù)測(cè)系統(tǒng)的架構(gòu)模型,實(shí)現(xiàn)不同軟件平臺(tái)的資源共享、降低系統(tǒng)間的耦合性、增加系統(tǒng)的可擴(kuò)展性和伸縮性,因此,減少了開發(fā)時(shí)間。本文在企業(yè)網(wǎng)內(nèi)實(shí)現(xiàn)了基于SOA的狀態(tài)監(jiān)測(cè)、故障診斷和趨勢(shì)預(yù)測(cè)系統(tǒng),如服務(wù)的發(fā)布和消費(fèi),并將該系統(tǒng)應(yīng)用到企業(yè)現(xiàn)場(chǎng)中。但實(shí)現(xiàn)真正意義上的基于SOA的遠(yuǎn)程分布式故障診斷系統(tǒng),還需要做很多工作,尤其是安全性問題(跨企業(yè)網(wǎng)的安全問題)、部署、異構(gòu)平臺(tái)的解耦、記賬和收費(fèi)問題等。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于SOA的監(jiān)測(cè)、診斷與預(yù)測(cè)系統(tǒng)架構(gòu)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112153828.html