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